1SHELL	= /bin/sh
2SRCS	= dns_lookup.c dns_rr.c dns_strerror.c dns_strtype.c dns_rr_to_pa.c \
3	dns_sa_to_rr.c dns_rr_eq_sa.c dns_rr_to_sa.c
4OBJS	= dns_lookup.o dns_rr.o dns_strerror.o dns_strtype.o dns_rr_to_pa.o \
5	dns_sa_to_rr.o dns_rr_eq_sa.o dns_rr_to_sa.o
6HDRS	= dns.h
7TESTSRC	= test_dns_lookup.c test_alias_token.c
8DEFS	= -I. -I$(INC_DIR) -D$(SYSTYPE)
9CFLAGS	= $(DEBUG) $(OPT) $(DEFS)
10INCL	=
11LIB	= libdns.a
12TESTPROG= test_dns_lookup dns_rr_to_pa dns_rr_to_sa dns_sa_to_rr dns_rr_eq_sa
13LIBS	= ../../lib/libutil.a
14LIB_DIR	= ../../lib
15INC_DIR	= ../../include
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:	test dns_rr_to_pa_test dns_rr_to_sa_test dns_sa_to_rr_test \
29	dns_rr_eq_sa_test
30
31root_tests:
32
33$(LIB):	$(OBJS)
34	$(AR) $(ARFL) $(LIB) $?
35	$(RANLIB) $(LIB)
36
37$(LIB_DIR)/$(LIB): $(LIB)
38	cp $(LIB) $(LIB_DIR)
39	$(RANLIB) $(LIB_DIR)/$(LIB)
40
41update: $(LIB_DIR)/$(LIB) $(HDRS)
42	-for i in $(HDRS); \
43	do \
44	  cmp -s $$i $(INC_DIR)/$$i 2>/dev/null || cp $$i $(INC_DIR); \
45	done
46	cd $(INC_DIR); chmod 644 $(HDRS)
47
48test_dns_lookup: test_dns_lookup.c $(LIB) $(LIBS)
49	$(CC) $(CFLAGS) -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
50
51dns_rr_to_pa: $(LIB) $(LIBS)
52	mv $@.o junk
53	$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
54	mv junk $@.o
55
56dns_rr_to_sa: $(LIB) $(LIBS)
57	mv $@.o junk
58	$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
59	mv junk $@.o
60
61dns_sa_to_rr: $(LIB) $(LIBS)
62	mv $@.o junk
63	$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
64	mv junk $@.o
65
66dns_rr_eq_sa: $(LIB) $(LIBS)
67	mv $@.o junk
68	$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
69	mv junk $@.o
70
71dns_rr_to_pa_test: dns_rr_to_pa dns_rr_to_pa.in dns_rr_to_pa.ref
72	./dns_rr_to_pa `cat dns_rr_to_pa.in` >dns_rr_to_pa.tmp
73	diff dns_rr_to_pa.ref dns_rr_to_pa.tmp
74	rm -f dns_rr_to_pa.tmp
75
76dns_rr_to_sa_test: dns_rr_to_sa dns_rr_to_sa.in dns_rr_to_sa.ref
77	./dns_rr_to_sa `cat dns_rr_to_sa.in` >dns_rr_to_sa.tmp
78	diff dns_rr_to_sa.ref dns_rr_to_sa.tmp
79	rm -f dns_rr_to_sa.tmp
80
81dns_sa_to_rr_test: dns_sa_to_rr dns_sa_to_rr.in dns_sa_to_rr.ref
82	./dns_sa_to_rr `cat dns_sa_to_rr.in` >dns_sa_to_rr.tmp
83	diff dns_sa_to_rr.ref dns_sa_to_rr.tmp
84	rm -f dns_sa_to_rr.tmp
85
86dns_rr_eq_sa_test: dns_rr_eq_sa dns_rr_eq_sa.in dns_rr_eq_sa.ref
87	./dns_rr_eq_sa `cat dns_rr_eq_sa.in` >dns_rr_eq_sa.tmp
88	diff dns_rr_eq_sa.ref dns_rr_eq_sa.tmp
89	rm -f dns_rr_eq_sa.tmp
90
91printfck: $(OBJS) $(PROG)
92	rm -rf printfck
93	mkdir printfck
94	cp *.h printfck
95	sed '1,/^# do not edit/!d' Makefile >printfck/Makefile
96	set -e; for i in *.c; do printfck -f .printfck $$i >printfck/$$i; done
97	cd printfck; make "INC_DIR=../../../include" `cd ..; ls *.o`
98
99lint:
100	lint $(DEFS) $(SRCS) $(LINTFIX)
101
102clean:
103	rm -f *.o $(LIB) *core $(TESTPROG) junk
104	rm -rf printfck
105
106tidy:	clean
107
108depend: $(MAKES)
109	(sed '1,/^# do not edit/!d' Makefile.in; \
110	set -e; for i in [a-z][a-z0-9]*.c; do \
111	    $(CC) -E $(DEFS) $(INCL) $$i | grep -v '[<>]' | sed -n -e '/^# *1 *"\([^"]*\)".*/{' \
112	    -e 's//'`echo $$i|sed 's/c$$/o/'`': \1/' \
113	    -e 's/o: \.\//o: /' -e p -e '}' ; \
114	done | sort -u) | grep -v '[.][o][:][ ][/]' >$$$$ && mv $$$$ Makefile.in
115	@$(EXPORT) make -f Makefile.in Makefile 1>&2
116
117# do not edit below this line - it is generated by 'make depend'
118dns_lookup.o: ../../include/msg.h
119dns_lookup.o: ../../include/myaddrinfo.h
120dns_lookup.o: ../../include/mymalloc.h
121dns_lookup.o: ../../include/sock_addr.h
122dns_lookup.o: ../../include/stringops.h
123dns_lookup.o: ../../include/sys_defs.h
124dns_lookup.o: ../../include/valid_hostname.h
125dns_lookup.o: ../../include/vbuf.h
126dns_lookup.o: ../../include/vstring.h
127dns_lookup.o: dns.h
128dns_lookup.o: dns_lookup.c
129dns_rr.o: ../../include/msg.h
130dns_rr.o: ../../include/myaddrinfo.h
131dns_rr.o: ../../include/mymalloc.h
132dns_rr.o: ../../include/myrand.h
133dns_rr.o: ../../include/sock_addr.h
134dns_rr.o: ../../include/sys_defs.h
135dns_rr.o: ../../include/vbuf.h
136dns_rr.o: ../../include/vstring.h
137dns_rr.o: dns.h
138dns_rr.o: dns_rr.c
139dns_rr_eq_sa.o: ../../include/msg.h
140dns_rr_eq_sa.o: ../../include/myaddrinfo.h
141dns_rr_eq_sa.o: ../../include/sock_addr.h
142dns_rr_eq_sa.o: ../../include/sys_defs.h
143dns_rr_eq_sa.o: ../../include/vbuf.h
144dns_rr_eq_sa.o: ../../include/vstring.h
145dns_rr_eq_sa.o: dns.h
146dns_rr_eq_sa.o: dns_rr_eq_sa.c
147dns_rr_to_pa.o: ../../include/msg.h
148dns_rr_to_pa.o: ../../include/myaddrinfo.h
149dns_rr_to_pa.o: ../../include/sock_addr.h
150dns_rr_to_pa.o: ../../include/sys_defs.h
151dns_rr_to_pa.o: ../../include/vbuf.h
152dns_rr_to_pa.o: ../../include/vstring.h
153dns_rr_to_pa.o: dns.h
154dns_rr_to_pa.o: dns_rr_to_pa.c
155dns_rr_to_sa.o: ../../include/msg.h
156dns_rr_to_sa.o: ../../include/myaddrinfo.h
157dns_rr_to_sa.o: ../../include/sock_addr.h
158dns_rr_to_sa.o: ../../include/sys_defs.h
159dns_rr_to_sa.o: ../../include/vbuf.h
160dns_rr_to_sa.o: ../../include/vstring.h
161dns_rr_to_sa.o: dns.h
162dns_rr_to_sa.o: dns_rr_to_sa.c
163dns_sa_to_rr.o: ../../include/msg.h
164dns_sa_to_rr.o: ../../include/myaddrinfo.h
165dns_sa_to_rr.o: ../../include/sock_addr.h
166dns_sa_to_rr.o: ../../include/sys_defs.h
167dns_sa_to_rr.o: ../../include/vbuf.h
168dns_sa_to_rr.o: ../../include/vstring.h
169dns_sa_to_rr.o: dns.h
170dns_sa_to_rr.o: dns_sa_to_rr.c
171dns_strerror.o: ../../include/myaddrinfo.h
172dns_strerror.o: ../../include/sock_addr.h
173dns_strerror.o: ../../include/sys_defs.h
174dns_strerror.o: ../../include/vbuf.h
175dns_strerror.o: ../../include/vstring.h
176dns_strerror.o: dns.h
177dns_strerror.o: dns_strerror.c
178dns_strtype.o: ../../include/myaddrinfo.h
179dns_strtype.o: ../../include/sock_addr.h
180dns_strtype.o: ../../include/sys_defs.h
181dns_strtype.o: ../../include/vbuf.h
182dns_strtype.o: ../../include/vstring.h
183dns_strtype.o: dns.h
184dns_strtype.o: dns_strtype.c
185test_dns_lookup.o: ../../include/argv.h
186test_dns_lookup.o: ../../include/msg.h
187test_dns_lookup.o: ../../include/msg_vstream.h
188test_dns_lookup.o: ../../include/myaddrinfo.h
189test_dns_lookup.o: ../../include/mymalloc.h
190test_dns_lookup.o: ../../include/sock_addr.h
191test_dns_lookup.o: ../../include/sys_defs.h
192test_dns_lookup.o: ../../include/vbuf.h
193test_dns_lookup.o: ../../include/vstream.h
194test_dns_lookup.o: ../../include/vstring.h
195test_dns_lookup.o: dns.h
196test_dns_lookup.o: test_dns_lookup.c
197