From f3593c0b2fed500dcc4270953d4cfacb3232e2c1 Mon Sep 17 00:00:00 2001 From: whottgen <> Date: Thu, 23 Sep 2004 21:23:34 +0000 Subject: [PATCH] structured --- smmapdfw/Makefile | 48 ++++++++++++++-------- smmapdfw/{ => doc}/README | 0 smmapdfw/{ => include}/config.h | 0 smmapdfw/{ => include}/containers.h | 0 smmapdfw/{ => include}/containers_public.h | 0 smmapdfw/{ => include}/count.h | 0 smmapdfw/{ => include}/dns.h | 0 smmapdfw/{ => include}/queue.h | 0 smmapdfw/{ => include}/safe_write.h | 0 smmapdfw/{ => include}/smmapd.h | 0 smmapdfw/{ => include}/smtp.h | 0 smmapdfw/{ => include}/sunos_comp.h | 0 smmapdfw/smmapd.ini | 41 ------------------ 13 files changed, 31 insertions(+), 58 deletions(-) rename smmapdfw/{ => doc}/README (100%) rename smmapdfw/{ => include}/config.h (100%) rename smmapdfw/{ => include}/containers.h (100%) rename smmapdfw/{ => include}/containers_public.h (100%) rename smmapdfw/{ => include}/count.h (100%) rename smmapdfw/{ => include}/dns.h (100%) rename smmapdfw/{ => include}/queue.h (100%) rename smmapdfw/{ => include}/safe_write.h (100%) rename smmapdfw/{ => include}/smmapd.h (100%) rename smmapdfw/{ => include}/smtp.h (100%) rename smmapdfw/{ => include}/sunos_comp.h (100%) delete mode 100644 smmapdfw/smmapd.ini diff --git a/smmapdfw/Makefile b/smmapdfw/Makefile index fca5ea4..7f79dbd 100644 --- a/smmapdfw/Makefile +++ b/smmapdfw/Makefile @@ -1,11 +1,14 @@ -MAIN_OBJ = smmapd.o containers.o queue.o count.o config.o safe_write.o -MOD_OBJS = test_workers.so -ALLDEPEND = Makefile -COMMON_CFLAGS = -g +PLUGINS = test_workers.so verify_worker.so cyrus_worker.so lua_worker.so +PREFIX ?= /opt/smmapdfw +OWNER = mail +GROUP = mail + +COMMON_CFLAGS = -g -I./include COMMON_LDFLAGS = -g OS = $(shell uname) RELEASE_ID = $(shell ./extract_release_id) + ifeq ($(OS), FreeBSD) BDB_INC ?= /usr/local/include/db41 BDB_LIB ?= @@ -34,38 +37,49 @@ endif -LIBS = -MOD_LIBS = CC = gcc +AR = ar +INSTALL = install -all: smmapd test_workers.so verify_worker.so cyrus_worker.so lua_worker.so +all: smmapd $(PLUGINS) -smmapd: $(MAIN_OBJ) - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) +smmapd: smmapd.o containers.o config.o libsmmapdfw.a + $(CC) $(LDFLAGS) -o $@ $^ -test_workers.so: test_workers.o config_public.o +test_workers.so: test_workers.o libsmmapdfw.a $(CC) $(LDFLAGS) $(SHARED) -o $@ $^ -verify_worker.so: verify_worker.o config_public.o dns.o queue.o smtp.o $(BDB_LIB) +verify_worker.so: verify_worker.o libsmmapdfw.a $(BDB_LIB) $(CC) $(LDFLAGS) $(SHARED) -o $@ $^ -cyrus_worker.so: cyrus_worker.o config_public.o smtp.o dns.o +cyrus_worker.so: cyrus_worker.o libsmmapdfw.a $(CC) $(LDFLAGS) $(SHARED) -o $@ $^ -lua_worker.so: lua_worker.o config_public.o $(LUA_LIB) +lua_worker.so: lua_worker.o libsmmapdfw.a $(LUA_LIB) $(CC) $(LDFLAGS) $(SHARED) -o $@ $^ +libsmmapdfw.a: config_public.o dns.o queue.o smtp.o count.o safe_write.o + $(AR) r $@ $^ + + + +install: all + $(INSTALL) -d -g $(GROUP) -o $(OWNER) -m 0755 $(PREFIX) $(PREFIX)/bin $(PREFIX)/lib $(PREFIX)/include $(PREFIX)/etc $(PREFIX)/doc + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 0644 include/*.h $(PREFIX)/include + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 0644 etc/smmapd.ini $(PREFIX)/etc + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 0755 smmapd $(PREFIX)/bin + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 0644 $(PLUGINS) $(PREFIX)/lib + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 0644 libsmmapdfw.a $(PREFIX)/lib + $(INSTALL) -g $(GROUP) -o $(OWNER) -m 0644 doc/README $(PREFIX)/doc + clean: - -rm -f *o *so smmapd + -rm -f *.o *.so *.a smmapd distclean: clean -rm -r smmapd-$(RELEASE_ID) -rm smmapd-$(RELEASE_ID).tar.gz -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< - tar: mkdir smmapd-$(RELEASE_ID) && \ cp *.c *.h *.m4 smmapd.ini Makefile README smmapd-$(RELEASE_ID) && \ diff --git a/smmapdfw/README b/smmapdfw/doc/README similarity index 100% rename from smmapdfw/README rename to smmapdfw/doc/README diff --git a/smmapdfw/config.h b/smmapdfw/include/config.h similarity index 100% rename from smmapdfw/config.h rename to smmapdfw/include/config.h diff --git a/smmapdfw/containers.h b/smmapdfw/include/containers.h similarity index 100% rename from smmapdfw/containers.h rename to smmapdfw/include/containers.h diff --git a/smmapdfw/containers_public.h b/smmapdfw/include/containers_public.h similarity index 100% rename from smmapdfw/containers_public.h rename to smmapdfw/include/containers_public.h diff --git a/smmapdfw/count.h b/smmapdfw/include/count.h similarity index 100% rename from smmapdfw/count.h rename to smmapdfw/include/count.h diff --git a/smmapdfw/dns.h b/smmapdfw/include/dns.h similarity index 100% rename from smmapdfw/dns.h rename to smmapdfw/include/dns.h diff --git a/smmapdfw/queue.h b/smmapdfw/include/queue.h similarity index 100% rename from smmapdfw/queue.h rename to smmapdfw/include/queue.h diff --git a/smmapdfw/safe_write.h b/smmapdfw/include/safe_write.h similarity index 100% rename from smmapdfw/safe_write.h rename to smmapdfw/include/safe_write.h diff --git a/smmapdfw/smmapd.h b/smmapdfw/include/smmapd.h similarity index 100% rename from smmapdfw/smmapd.h rename to smmapdfw/include/smmapd.h diff --git a/smmapdfw/smtp.h b/smmapdfw/include/smtp.h similarity index 100% rename from smmapdfw/smtp.h rename to smmapdfw/include/smtp.h diff --git a/smmapdfw/sunos_comp.h b/smmapdfw/include/sunos_comp.h similarity index 100% rename from smmapdfw/sunos_comp.h rename to smmapdfw/include/sunos_comp.h diff --git a/smmapdfw/smmapd.ini b/smmapdfw/smmapd.ini deleted file mode 100644 index d64be22..0000000 --- a/smmapdfw/smmapd.ini +++ /dev/null @@ -1,41 +0,0 @@ -[global] -do_fork = 0 -pid_file = smmapd.pid -address = 127.0.0.1 -port = 8887 -plugin_dir = /home/who/Sources/sf/smmapdfw -; plugins = test_worker1 test_worker2 verifier cyruscheck lua_worker -plugins = lua_worker - -[test_worker1] -obj = test_workers.so -text = test worker1 handle text - -[test_worker2] -obj = test_workers.so - -[verifier] -obj = verify_worker.so -timeout_result = 5 -timeout_dialog = 20 -cache_enabled = 1 -cache_expiry = 86400 -sender_address = <> -ehlo_arg = local -smtp_port = 25 -max_checker_threads = 100 - -[cyruscheck] -obj = cyrus_worker.so -timeout = 10 -sender_address = -lhlo_arg = local -lmtp_port = 24 - -[lua_worker] -obj = lua_worker.so -; load = base string table math loadlib io -load = base string io -lua_path = . -file = worker.l -entrypoint = f