New m4-based test harness stuff.
[adns] / src / Makefile.in
CommitLineData
e576be50 1# This file is part of adns, which is Copyright (C) 1997, 1998 Ian Jackson
2#
3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation; either version 2, or (at your option)
6# any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program; if not, write to the Free Software Foundation,
15# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16
9557e604 17CC=gcc $(WARNS) $(WERROR) $(OPTIMISE) $(DEBUG) $(XCFLAGS)
964344fc 18DEBUG=-g
19OPTIMISE=-O2
20WARNS= -Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes \
21 -Wcast-qual -Wpointer-arith
22WERROR=-Werror
23
a4f094dd 24HCPPFLAGS:= $(foreach F, \
25 gettimeofday select \
26 socket fcntl connect close \
27 sendto recvfrom read write \
28, -D$F=H$F)
02870686 29
ef45c911 30LIBOBJS= types.o event.o query.o reply.o general.o setup.o transmit.o parse.o
02870686 31HARNLOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS)))
a4f094dd 32ALLOBJS= $(LIBOBJS) $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o
e576be50 33
a4f094dd 34all: dtest hrecord
35# hplayback
964344fc 36
a4f094dd 37hrecord: dtest.o hrecord.o hcommon.o $(HARNLOBJS)
02870686 38
39dtest: dtest.o $(LIBOBJS)
40
41%_d.o: %.c
42 $(CC) $(HCPPFLAGS) -c -g -o $@ $<
4353a5c4 43
bb7ba677 44%:: %.m4 hmacros.i4 hsyscalls.i4
45 m4 -P $< >$@-a.new
46 sed -e 's/hm_comma/,/g; s/hm_squote/'\''/g; /^[ ]*$$/d' <$@-a.new >$@-b.new
47 @mv -f $@-b.new $@; rm -f $@-a.new
48
4353a5c4 49clean:
bb7ba677 50 rm -f dtest *.o harness.h hrecord.c hcommon.c
4353a5c4 51
bb7ba677 52hrecord.o hcommon.o: adns.h internal.h harness.h
53$(HARNLOBJS): adns.h internal.h
54$(LIBOBJS): adns.h internal.h
55dtest.o: adns.h