diff options
author | Daniel Hokka Zakrisson <daniel@hozac.com> | 2011-02-27 01:49:00 +0100 |
---|---|---|
committer | Johannes Berg <johannes@sipsolutions.net> | 2011-02-27 10:59:14 +0100 |
commit | 57cfc0aac9f8cc5d00fa1155367dfd055da27761 (patch) | |
tree | 008d93de35d647f6257343fa24690cabdf8e19b1 /Makefile | |
parent | a7ae8df4a1611a18203bc29783e7fbaaf957fd54 (diff) | |
download | dovecot-antispam-57cfc0aac9f8cc5d00fa1155367dfd055da27761.tar.gz dovecot-antispam-57cfc0aac9f8cc5d00fa1155367dfd055da27761.tar.xz dovecot-antispam-57cfc0aac9f8cc5d00fa1155367dfd055da27761.zip |
make backend selection at runtime
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 40 |
1 files changed, 19 insertions, 21 deletions
@@ -7,6 +7,9 @@ INSTALLDIR ?= $(moduledir)/imap # Kill CFLAGS from dovecot-config CFLAGS := $(CFLAGSORIG) +backenddir := /usr/lib/dovecot-antispam +CFLAGS += '-DBACKENDDIR="$(backenddir)"' + # includes/flags we need for building a dovecot plugin INCS += -DHAVE_CONFIG_H INCS += -I$(DOVECOT)/ @@ -21,6 +24,7 @@ INCS += -I$(DOVECOT)/src/imap/ # output name LIBRARY_NAME ?= lib90_$(PLUGINNAME)_plugin.so +objs = antispam-storage.o antispam-plugin.o # debug rules ifeq ("$(DEBUG)", "stderr") @@ -37,32 +41,14 @@ ifeq ("$(DEBUG_VERBOSE)", "1") CFLAGS += -DCONFIG_DEBUG_VERBOSE endif -# backend error check -ifeq ("$(BACKEND)", "") -error: verify_config - @echo "Error! no backend configured" - @false -endif - -# per-backend rules -ifeq ("$(BACKEND)", "dspam-exec") -objs += signature.o -endif -ifeq ("$(BACKEND)", "signature-log") -objs += signature.o -endif -ifeq ("$(BACKEND)", "crm114-exec") -objs += signature.o -endif +BACKENDS = dspam-exec.so signature-log.so crm114-exec.so mailtrain.so spool2dir.so # main make rules CFLAGS += -fPIC -shared -Wall -Wextra -DPLUGINNAME=$(PLUGINNAME) CC ?= cc HOSTCC ?= cc -objs += antispam-plugin.o antispam-storage.o $(BACKEND).o - -all: verify_config $(LIBRARY_NAME) +all: verify_config $(LIBRARY_NAME) $(BACKENDS) antispam-storage.o: antispam-storage.c antispam-storage-*.c $(CONFIG) antispam-plugin.h dovecot-version.h $(CC) -c $(CFLAGS) $(INCS) -o $@ $< @@ -71,7 +57,7 @@ antispam-storage.o: antispam-storage.c antispam-storage-*.c $(CONFIG) antispam-p $(CC) -c $(CFLAGS) $(INCS) -o $@ $< $(LIBRARY_NAME): $(objs) - $(CC) $(CFLAGS) $(INCS) $(objs) -o $(LIBRARY_NAME) $(LDFLAGS) + $(CC) $(CFLAGS) $(INCS) $(objs) -o $(LIBRARY_NAME) $(LDFLAGS) -ldl dovecot-version: dovecot-version.c $(CONFIG) $(HOSTCC) $(INCS) -o dovecot-version dovecot-version.c @@ -82,11 +68,23 @@ dovecot-version.h: dovecot-version antispam-version.h: version.sh ./version.sh > antispam-version.h +dspam-exec.so: dspam-exec.o signature.o +signature-log.so: signature-log.o signature.o +crm114-exec.so: crm114-exec.o signature.o +mailtrain.so: mailtrain.o +spool2dir.so: spool2dir.o + +$(BACKENDS): + $(CC) $(CFLAGS) $(INCS) $(LDFLAGS) -shared -o $@ $^ + + clean: rm -f *.so *.o *~ dovecot-version dovecot-version.h antispam-version.h install: all install -o $(USER) -g $(GROUP) -m 0755 $(LIBRARY_NAME) $(DESTDIR)$(INSTALLDIR)/ + mkdir -p $(DESTDIR)$(backenddir) + install -o $(USER) -g $(GROUP) -m 0755 $(BACKENDS) $(DESTDIR)$(backenddir)/ verify_config: @if [ ! -r $(CONFIG) ]; then \ |