]> git.ipfire.org Git - thirdparty/dhcp.git/blob - server/Makefile.dist
Merged rt43285 (make distcheck vs --with-libbind)
[thirdparty/dhcp.git] / server / Makefile.dist
1 # Makefile.dist
2 #
3 # Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
4 # Copyright (c) 1996-2003 by Internet Software Consortium
5 #
6 # Permission to use, copy, modify, and distribute this software for any
7 # purpose with or without fee is hereby granted, provided that the above
8 # copyright notice and this permission notice appear in all copies.
9 #
10 # THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
16 # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #
18 # Internet Systems Consortium, Inc.
19 # 950 Charter Street
20 # Redwood City, CA 94063
21 # <info@isc.org>
22 # https://www.isc.org/
23 #
24
25 CATMANPAGES = dhcpd.cat8 dhcpd.conf.cat5 dhcpd.leases.cat5
26 SEDMANPAGES = dhcpd.man8 dhcpd.conf.man5 dhcpd.leases.man5
27 SRCS = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
28 omapi.c mdb.c stables.c salloc.c ddns.c dhcpleasequery.c dhcpv6.c \
29 mdb6.c
30 OBJS = dhcpd.o dhcp.o bootp.o confpars.o db.o class.o failover.o \
31 omapi.o mdb.o stables.o salloc.o ddns.o dhcpleasequery.o dhcpv6.o \
32 mdb6.o
33 PROG = dhcpd testmdb6
34 MAN = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
35
36 INCLUDES = -I$(TOP) $(BINDINC) -I$(TOP)/includes
37 DHCPLIB = ../common/libdhcp.a $(BINDLIB) ../omapip/libomapi.a ../dst/libdst.a
38 CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
39
40 all: $(PROG) $(CATMANPAGES)
41
42 install: all
43 for dir in $(BINDIR) $(ADMMANDIR) $(FFMANDIR) $(VARDB); do \
44 foo=""; \
45 for bar in `echo $(DESTDIR)$${dir} |tr / ' '`; do \
46 foo=$${foo}/$$bar; \
47 if [ ! -d $$foo ]; then \
48 mkdir $$foo; \
49 $(CHMOD) 755 $$foo; \
50 fi; \
51 done; \
52 done
53 $(INSTALL) dhcpd $(DESTDIR)$(BINDIR)
54 $(CHMOD) 755 $(DESTDIR)$(BINDIR)/dhcpd
55 $(MANINSTALL) $(MANFROM) dhcpd.$(MANCAT)8 $(MANTO) \
56 $(DESTDIR)$(ADMMANDIR)/dhcpd$(ADMMANEXT)
57 $(MANINSTALL) $(MANFROM) dhcpd.conf.$(MANCAT)5 $(MANTO) \
58 $(DESTDIR)$(FFMANDIR)/dhcpd.conf$(FFMANEXT)
59 $(MANINSTALL) $(MANFROM) dhcpd.leases.$(MANCAT)5 $(MANTO) \
60 $(DESTDIR)$(FFMANDIR)/dhcpd.leases$(FFMANEXT)
61 $(TOUCH) $(DESTDIR)$(VARDB)/dhcpd.leases
62 # Note file mode is hardcoded to mode 0664 in server/db.c (889).
63 $(CHMOD) 664 $(DESTDIR)$(VARDB)/dhcpd.leases
64
65 depend:
66 $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRCS)
67
68 clean:
69 -rm -f $(OBJS)
70
71 realclean: clean
72 -rm -f $(PROG) $(CATMANPAGES) $(SEDMANPAGES) *~ #*
73
74 distclean: realclean
75 -rm -f Makefile
76
77 links:
78 @for foo in $(SRCS) $(MAN); do \
79 if [ ! -b $$foo ]; then \
80 rm -f $$foo; \
81 fi; \
82 ln -s $(TOP)/server/$$foo $$foo; \
83 done
84
85 # These should only be done on 4.4 BSD-based systems, since the mandoc
86 # macros aren't available on older unices. Catted man pages are
87 # provided in the distribution so that this doesn't become a problem.
88
89 dhcpd.cat8: dhcpd.man8
90 nroff -man dhcpd.man8 >dhcpd.cat8
91
92 dhcpd.man8: dhcpd.8
93 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
94 -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.8 >dhcpd.man8
95
96 dhcpd.conf.cat5: dhcpd.conf.man5
97 nroff -man dhcpd.conf.man5 >dhcpd.conf.cat5
98
99 dhcpd.conf.man5: dhcpd.conf.5
100 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
101 -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.conf.5 >dhcpd.conf.man5
102
103 dhcpd.leases.cat5: dhcpd.leases.man5
104 nroff -man dhcpd.leases.man5 >dhcpd.leases.cat5
105
106 dhcpd.leases.man5: dhcpd.leases.5
107 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
108 -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.leases.5 >dhcpd.leases.man5
109
110 dhcpd: $(OBJS) $(COBJ) $(DHCPLIB)
111 $(CC) $(LFLAGS) -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS)
112
113 testmdb6.o: mdb6.c
114 $(CC) -c -DUNIT_TEST $(CFLAGS) -o testmdb6.o $(INCLUDES) \
115 $(PREDEFINES) mdb6.c
116
117 testdhcpd.o: dhcpd.c
118 $(CC) -c -DUNIT_TEST $(CFLAGS) -o testdhcpd.o $(INCLUDES) \
119 $(PREDEFINES) dhcpd.c
120
121 TOBJS = dhcp.o bootp.o confpars.o db.o class.o failover.o \
122 omapi.o mdb.o stables.o salloc.o ddns.o dhcpleasequery.o dhcpv6.o
123
124 testmdb6: testmdb6.o testdhcpd.o $(TOBJS) $(COBJ) $(DHCPLIB)
125 $(CC) $(LFLAGS) -o testmdb6 testmdb6.o testdhcpd.o \
126 $(TOBJS) $(DHCPLIB) $(LIBS)
127
128 # Dependencies (semi-automatically-generated)