chiark / gitweb /
9934a61235c143250b8de4d7efd8a58d7132094a
[adns.git] / src / Makefile.in
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
17 CC=gcc $(WARNS) $(WERROR) $(OPTIMISE) $(DEBUG) $(XCFLAGS)
18 DEBUG=-g
19 OPTIMISE=-O2
20 WARNS=  -Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes \
21         -Wcast-qual -Wpointer-arith
22 WERROR=-Werror
23
24 HCPPFLAGS:= $(foreach F,                \
25         gettimeofday select             \
26         socket fcntl connect close      \
27         sendto recvfrom read write      \
28 , -D$F=H$F)
29
30 LIBOBJS=        types.o event.o query.o reply.o general.o setup.o transmit.o parse.o
31 HARNLOBJS=      $(addsuffix _d.o, $(basename $(LIBOBJS)))
32 ALLOBJS=        $(LIBOBJS) $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o
33
34 TARGETS=        dtest hrecord
35 # hplayback
36
37 all:            $(TARGETS)
38
39 hrecord:        dtest.o hrecord.o hcommon.o $(HARNLOBJS)
40
41 dtest:          dtest.o $(LIBOBJS)
42
43 %_d.o:          %.c
44                 $(CC) $(HCPPFLAGS) -c -g -o $@ $<
45
46 %::     %.m4 hmacros.i4 hsyscalls.i4
47         m4 -P $< >$@-a.new
48         sed -e 's/hm_comma/,/g; s/hm_squote/'\''/g; /^[  ]*$$/d' <$@-a.new >$@-b.new
49         @mv -f $@-b.new $@; rm -f $@-a.new
50
51 clean:
52                 rm -f *.o harness.h hrecord.c hcommon.c
53
54 realclean:      clean
55                 rm -f $(TARGETS) *~ ./#*# core *.orig *.rej
56
57 hrecord.o hcommon.o:    adns.h internal.h harness.h
58 $(HARNLOBJS):           adns.h internal.h
59 $(LIBOBJS):             adns.h internal.h
60 dtest.o:                adns.h