1SHELL = /bin/sh 2SRCS = postmap.c 3OBJS = postmap.o 4HDRS = 5TESTSRC = 6DEFS = -I. -I$(INC_DIR) -D$(SYSTYPE) 7CFLAGS = $(DEBUG) $(OPT) $(DEFS) 8TESTPROG= 9PROG = postmap 10INC_DIR = ../../include 11LIBS = ../../lib/lib$(LIB_PREFIX)global$(LIB_SUFFIX) \ 12 ../../lib/lib$(LIB_PREFIX)util$(LIB_SUFFIX) 13 14.c.o:; $(CC) $(CFLAGS) -c $*.c 15 16$(PROG): $(OBJS) $(LIBS) 17 $(CC) $(CFLAGS) $(SHLIB_RPATH) -o $@ $(OBJS) $(LIBS) $(SYSLIBS) 18 19$(OBJS): ../../conf/makedefs.out 20 21Makefile: Makefile.in 22 cat ../../conf/makedefs.out $? >$@ 23 24update: ../../bin/$(PROG) 25 26../../bin/$(PROG): $(PROG) 27 cp $(PROG) ../../bin 28 29tests: test1 test2 fail_test quote_test file_test lmdb_abb_test \ 30 lmdb_bulk_test lmdb_incr_test 31 32root_tests: 33 34test1: $(PROG) map.in map-abc1.ref map-ghi1.ref map-uABC1.ref 35 $(SHLIB_ENV) $(VALGRIND) ./$(PROG) map.in 36 for key in abc ghi; \ 37 do \ 38 $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -q $${key} map.in | diff map-$${key}1.ref -; \ 39 done 40 $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -f map.in 41 for key in ABC; \ 42 do \ 43 $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -fq $${key} map.in | diff map-u$${key}1.ref -; \ 44 done 45 rm -f map.in.db 46 47test2: $(PROG) map.in map-abc2.ref map-ghi2.ref map-uABC2.ref 48 $(SHLIB_ENV) $(VALGRIND) ./$(PROG) map.in 49 for key in abc ghi; \ 50 do \ 51 echo $${key} | $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -q - map.in | diff map-$${key}2.ref -; \ 52 done 53 $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -f map.in 54 for key in ABC; \ 55 do \ 56 echo $${key} | $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -fq - map.in | diff map-u$${key}2.ref -; \ 57 done 58 rm -f map.in.db 59 60fail_test: $(PROG) aliases fail_test.in fail_test.ref 61 -($(SHLIB_ENV) sh fail_test.in || exit 0) >fail_test.tmp 2>&1 62 diff fail_test.ref fail_test.tmp 63 rm -f fail_test.tmp 64 65quote_test: $(PROG) aliases quote_test.in quote_test.ref 66 rm -f quote_test_map.* 67 $(SHLIB_ENV) sh quote_test.in >quote_test.tmp 2>&1 68 diff quote_test.ref quote_test.tmp 69 rm -f quote_test.tmp quote_test_map.* 70 71file_test: $(PROG) file_test.in file_test.ref 72 rm -f file_test_map.* postmap-file-1 postmap-file-2 73 $(SHLIB_ENV) sh file_test.in >file_test.tmp 2>&1 74 diff file_test.ref file_test.tmp 75 rm -f file_test.tmp file_test_map.* postmap-file-1 postmap-file-2 76 77lmdb_abb_test: $(PROG) lmdb_abb lmdb_abb.ref 78 rm -f lmdb_abb.lmdb 79 ($(SHLIB_ENV) $(VALGRIND) ./postmap lmdb:lmdb_abb; \ 80 $(SHLIB_ENV) $(VALGRIND) ./postmap -s lmdb:lmdb_abb | sort) >lmdb_abb.tmp 2>&1 81 diff lmdb_abb.ref lmdb_abb.tmp 82 rm -f lmdb_abb.tmp lmdb_abb.lmdb 83 84lmdb_bulk_test: $(PROG) 85 rm -f lmdb_retry.lmdb main.cf 86 tr A-Z a-z < /usr/share/dict/words| \ 87 sed -e 's/.*/& &/' -e 10000q| LANG=C sort -u >lmdb_retry 88 echo lmdb_map_size=10240 >main.cf 89 ($(SHLIB_ENV) $(VALGRIND) ./postmap -c . lmdb:lmdb_retry; \ 90 $(SHLIB_ENV) $(VALGRIND) ./postmap -s lmdb:lmdb_retry | \ 91 LANG=C sort > lmdb_retry.tmp) 92 cmp lmdb_retry lmdb_retry.tmp 93 rm -f lmdb_retry lmdb_retry.tmp lmdb_retry.lmdb main.cf 94 95lmdb_incr_test: $(PROG) 96 rm -f lmdb_retry.lmdb main.cf 97 tr A-Z a-z < /usr/share/dict/words| \ 98 sed -e 's/.*/& &/' -e 1000q| LANG=C sort -u >lmdb_retry 99 echo lmdb_map_size=10240 >main.cf 100 ($(SHLIB_ENV) $(VALGRIND) ./postmap -ic . lmdb:lmdb_retry <lmdb_retry; \ 101 $(SHLIB_ENV) $(VALGRIND) ./postmap -s lmdb:lmdb_retry | \ 102 LANG=C sort > lmdb_retry.tmp) 103 cmp lmdb_retry lmdb_retry.tmp 104 rm -f lmdb_retry lmdb_retry.tmp lmdb_retry.lmdb main.cf 105 106printfck: $(OBJS) $(PROG) 107 rm -rf printfck 108 mkdir printfck 109 sed '1,/^# do not edit/!d' Makefile >printfck/Makefile 110 set -e; for i in *.c; do printfck -f .printfck $$i >printfck/$$i; done 111 cd printfck; make "INC_DIR=../../../include" `cd ..; ls *.o` 112 113lint: 114 lint $(DEFS) $(SRCS) $(LINTFIX) 115 116clean: 117 rm -f *.o *core $(PROG) $(TESTPROG) *.tmp junk *.db 118 rm -rf printfck 119 120tidy: clean 121 122depend: $(MAKES) 123 (sed '1,/^# do not edit/!d' Makefile.in; \ 124 set -e; for i in [a-z][a-z0-9]*.c; do \ 125 $(CC) -E $(DEFS) $(INCL) $$i | grep -v '[<>]' | sed -n -e '/^# *1 *"\([^"]*\)".*/{' \ 126 -e 's//'`echo $$i|sed 's/c$$/o/'`': \1/' \ 127 -e 's/o: \.\//o: /' -e p -e '}' ; \ 128 done | LANG=C sort -u) | grep -v '[.][o][:][ ][/]' >$$$$ && mv $$$$ Makefile.in 129 @$(EXPORT) make -f Makefile.in Makefile 1>&2 130 131# do not edit below this line - it is generated by 'make depend' 132postmap.o: ../../include/argv.h 133postmap.o: ../../include/check_arg.h 134postmap.o: ../../include/clean_env.h 135postmap.o: ../../include/dict.h 136postmap.o: ../../include/dict_db.h 137postmap.o: ../../include/dict_proxy.h 138postmap.o: ../../include/header_opts.h 139postmap.o: ../../include/mail_conf.h 140postmap.o: ../../include/mail_dict.h 141postmap.o: ../../include/mail_params.h 142postmap.o: ../../include/mail_parm_split.h 143postmap.o: ../../include/mail_task.h 144postmap.o: ../../include/mail_version.h 145postmap.o: ../../include/maillog_client.h 146postmap.o: ../../include/mime_state.h 147postmap.o: ../../include/mkmap.h 148postmap.o: ../../include/msg.h 149postmap.o: ../../include/msg_vstream.h 150postmap.o: ../../include/myflock.h 151postmap.o: ../../include/mymalloc.h 152postmap.o: ../../include/readlline.h 153postmap.o: ../../include/rec_type.h 154postmap.o: ../../include/set_eugid.h 155postmap.o: ../../include/split_at.h 156postmap.o: ../../include/stringops.h 157postmap.o: ../../include/sys_defs.h 158postmap.o: ../../include/vbuf.h 159postmap.o: ../../include/vstream.h 160postmap.o: ../../include/vstring.h 161postmap.o: ../../include/vstring_vstream.h 162postmap.o: ../../include/warn_stat.h 163postmap.o: postmap.c 164