1SHELL	= /bin/sh
2SRCS	= milter.c milter8.c milter_macros.c
3OBJS	= milter.o milter8.o milter_macros.o
4HDRS	= milter.h
5TESTSRC	=
6DEFS	= -I. -I$(INC_DIR) -D$(SYSTYPE)
7CFLAGS	= $(DEBUG) $(OPT) $(DEFS)
8INCL	=
9LIB	= libmilter.a
10TESTPROG= milter test-milter
11
12LIBS	= ../../lib/libglobal.a ../../lib/libutil.a
13LIB_DIR	= ../../lib
14INC_DIR	= ../../include
15MAKES	=
16
17.c.o:;	$(CC) $(CFLAGS) -c $*.c
18
19all: $(LIB)
20
21$(OBJS): ../../conf/makedefs.out
22
23Makefile: Makefile.in
24	cat ../../conf/makedefs.out $? >$@
25
26test:	$(TESTPROG)
27
28tests:
29
30root_tests:
31
32$(LIB):	$(OBJS)
33	$(AR) $(ARFL) $(LIB) $?
34	$(RANLIB) $(LIB)
35
36$(LIB_DIR)/$(LIB): $(LIB)
37	cp $(LIB) $(LIB_DIR)
38	$(RANLIB) $(LIB_DIR)/$(LIB)
39
40update: $(LIB_DIR)/$(LIB) $(HDRS)
41	-for i in $(HDRS); \
42	do \
43	  cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
44	done
45	cd $(INC_DIR); chmod 644 $(HDRS)
46
47printfck: $(OBJS) $(PROG)
48	rm -rf printfck
49	mkdir printfck
50	cp *.h printfck
51	sed '1,/^# do not edit/!d' Makefile >printfck/Makefile
52	set -e; for i in *.c; do printfck -f .printfck $$i >printfck/$$i; done
53	cd printfck; make "INC_DIR=../../../include" `cd ..; ls *.o`
54
55lint:
56	lint $(DEFS) $(SRCS) $(LINTFIX)
57
58clean:
59	rm -f *.o $(LIB) *core $(TESTPROG) junk
60	rm -rf printfck
61
62tidy:	clean
63
64milter:	milter.c $(LIB) $(LIBS)
65	mv $@.o junk
66	$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
67	mv junk $@.o
68
69test-milter: test-milter.c
70	cc -g -I/usr/local/include -o $@ $? -L/usr/local/lib -lmilter -lpthread
71
72depend: $(MAKES)
73	(sed '1,/^# do not edit/!d' Makefile.in; \
74	set -e; for i in [a-z][a-z0-9]*.c; do \
75	    $(CC) -E $(DEFS) $(INCL) $$i | grep -v '[<>]' | sed -n -e '/^# *1 *"\([^"]*\)".*/{' \
76	    -e 's//'`echo $$i|sed 's/c$$/o/'`': \1/' \
77	    -e 's/o: \.\//o: /' -e p -e '}' ; \
78	done | sort -u) | grep -v '[.][o][:][ ][/]' >$$$$ && mv $$$$ Makefile.in
79	@$(EXPORT) make -f Makefile.in Makefile 1>&2
80
81# do not edit below this line - it is generated by 'make depend'
82milter.o: ../../include/argv.h
83milter.o: ../../include/attr.h
84milter.o: ../../include/iostuff.h
85milter.o: ../../include/mail_proto.h
86milter.o: ../../include/msg.h
87milter.o: ../../include/mymalloc.h
88milter.o: ../../include/rec_type.h
89milter.o: ../../include/record.h
90milter.o: ../../include/stringops.h
91milter.o: ../../include/sys_defs.h
92milter.o: ../../include/vbuf.h
93milter.o: ../../include/vstream.h
94milter.o: ../../include/vstring.h
95milter.o: milter.c
96milter.o: milter.h
97milter8.o: ../../include/argv.h
98milter8.o: ../../include/attr.h
99milter8.o: ../../include/connect.h
100milter8.o: ../../include/header_opts.h
101milter8.o: ../../include/iostuff.h
102milter8.o: ../../include/is_header.h
103milter8.o: ../../include/mail_params.h
104milter8.o: ../../include/mail_proto.h
105milter8.o: ../../include/mime_state.h
106milter8.o: ../../include/msg.h
107milter8.o: ../../include/mymalloc.h
108milter8.o: ../../include/name_code.h
109milter8.o: ../../include/name_mask.h
110milter8.o: ../../include/rec_type.h
111milter8.o: ../../include/record.h
112milter8.o: ../../include/split_at.h
113milter8.o: ../../include/stringops.h
114milter8.o: ../../include/sys_defs.h
115milter8.o: ../../include/vbuf.h
116milter8.o: ../../include/vstream.h
117milter8.o: ../../include/vstring.h
118milter8.o: milter.h
119milter8.o: milter8.c
120milter_macros.o: ../../include/argv.h
121milter_macros.o: ../../include/attr.h
122milter_macros.o: ../../include/iostuff.h
123milter_macros.o: ../../include/mail_proto.h
124milter_macros.o: ../../include/msg.h
125milter_macros.o: ../../include/mymalloc.h
126milter_macros.o: ../../include/sys_defs.h
127milter_macros.o: ../../include/vbuf.h
128milter_macros.o: ../../include/vstream.h
129milter_macros.o: ../../include/vstring.h
130milter_macros.o: milter.h
131milter_macros.o: milter_macros.c
132test-milter.o: test-milter.c
133