-Wcast-qual -Wpointer-arith
WERROR=-Werror
-HCPPFLAGS= \
- -Dsocket=Hsocket -Dfcntl=Hfcntl -Dgettimeofday=Hgettimeofday \
- -Dsendto=Hsendto -Drecvfrom=Hrecvfrom -Dselect=Hselect -Dconnect=Hconnect \
- -Dread=Hread -Dwrite=Hwrite -Dclose=Hclose
+HCPPFLAGS:= $(foreach F, \
+ gettimeofday select \
+ socket fcntl connect close \
+ sendto recvfrom read write \
+, -D$F=H$F)
LIBOBJS= types.o event.o query.o reply.o general.o setup.o transmit.o parse.o
HARNLOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS)))
-ALLOBJS= $(LIBOBJS) $(HARNLOBJS) dtest.o harness.o
+ALLOBJS= $(LIBOBJS) $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o
-all: dtest
+TARGETS= dtest hrecord
+# hplayback
-harness: harness.o $(HARNLOBJS)
+all: $(TARGETS)
+
+hrecord: dtest.o hrecord.o hcommon.o $(HARNLOBJS)
dtest: dtest.o $(LIBOBJS)
%_d.o: %.c
$(CC) $(HCPPFLAGS) -c -g -o $@ $<
+%:: %.m4 hmacros.i4 hsyscalls.i4
+ m4 -P $< >$@-a.new
+ sed -e 's/hm_comma/,/g; s/hm_squote/'\''/g; /^[ ]*$$/d' <$@-a.new >$@-b.new
+ @mv -f $@-b.new $@; rm -f $@-a.new
+
clean:
- rm -f dtest *.o
+ rm -f *.o harness.h hrecord.c hcommon.c
+
+realclean: clean
+ rm -f $(TARGETS) *~ ./#*# core *.orig *.rej
-$(HARNLOBJS): adns.h internal.h
-$(LIBOBJS): adns.h internal.h
-dtest.o: adns.h
+hrecord.o hcommon.o: adns.h internal.h harness.h
+$(HARNLOBJS): adns.h internal.h
+$(LIBOBJS): adns.h internal.h
+dtest.o: adns.h