chiark / gitweb /
First record and playback works.
[adns.git] / src / Makefile
index 317af60dbed2376bd59bbdff49433eed828172d9..57c208a034a7b6d44a684e4c34f63e7886c5829a 100644 (file)
@@ -21,15 +21,43 @@ WARNS=      -Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes \
        -Wcast-qual -Wpointer-arith
 WERROR=-Werror
 
+HCPPFLAGS:= $(foreach F,                       \
+       gettimeofday select                     \
+       socket fcntl connect close              \
+       sendto recvfrom read write writev       \
+, -D$F=H$F)
+
 LIBOBJS=       types.o event.o query.o reply.o general.o setup.o transmit.o parse.o
-ALLOBJS=       $(LIBOBJS) dtest.o
+HARNLOBJS=     $(addsuffix _d.o, $(basename $(LIBOBJS)))
+ALLOBJS=       $(LIBOBJS) $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o
+AUTOCSRCS=     harness.h hrecord.c hcommon.c
+
+TARGETS=       dtest hplayback hrecord
+
+all:           $(TARGETS)
+
+hrecord:       dtest.o hrecord.o hcommon.o $(HARNLOBJS)
+hplayback:     dtest.o hplayback.o hcommon.o $(HARNLOBJS)
 
-all:           dtest
+dtest:         dtest.o $(LIBOBJS)
 
-dtest:         $(ALLOBJS)
+%_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
+
+.PRECIOUS:     $(AUTOCSRCS)
 
 clean:
-               rm -f dtest *.o
+               rm -f *.o 
+
+realclean:     clean
+               rm -f $(TARGETS) *~ ./#*# core *.orig *.rej
 
-$(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