diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..717c58d --- /dev/null +++ b/Makefile @@ -0,0 +1,53 @@ +# include config file +-include .config + +# includes/flags we need for building a dovecot plugin +CFLAGS += -DHAVE_CONFIG_H +CFLAGS += -I$(DOVECOT)/ +CFLAGS += -I$(DOVECOT)/src/ +CFLAGS += -I$(DOVECOT)/src/lib/ +CFLAGS += -I$(DOVECOT)/src/lib-storage/ +CFLAGS += -I$(DOVECOT)/src/lib-mail/ +CFLAGS += -I$(DOVECOT)/src/lib-imap/ +CFLAGS += -I$(DOVECOT)/src/imap/ + +# per-backend configuration +ifeq ("$(BACKEND)", "dspam-exec") +CFLAGS += -DCONFIG_PLUGIN_WANT_SIGNATURE=1 +# can take a while, check more often +CFLAGS += -DCOPY_CHECK_INTERVAL=10 +endif + + +# debug rules +ifeq ("$(DEBUG)", "stderr") +CFLAGS += -DCONFIG_DEBUG -DDEBUG_STDERR +objs += debug.o +else ifeq ("$(DEBUG)", "syslog") +CFLAGS += -DCONFIG_DEBUG -DDEBUG_SYSLOG +objs += debug.o +endif + + +# main make rules +CFLAGS += -fPIC -shared -Wall +CC ?= "gcc" + +objs += plugin.o $(BACKEND).o +ALL = antispam + +all: verify_config $(ALL) + +antispam: $(objs) + $(CC) $(CFLAGS) $(INCLUDES) $(objs) -o $@.so $(LDFLAGS) + +clean: + rm -f *.so *.o *~ + +verify_config: + @if [ ! -r .config ]; then \ + echo -e "\nBuilding the plugin requires a configuration file"; \ + echo -e '(.config). Copy defconfig ("cp defconfig .config")' ; \ + echo -e "to create an example configuration.\n"; \ + exit 1; \ + fi |