]> git.ipfire.org Git - thirdparty/dhcp.git/blame - server/Makefile.dist
[master] Added null check to eliminate call to dfree in lc_delete_all
[thirdparty/dhcp.git] / server / Makefile.dist
CommitLineData
5f5d1ea2
TL
1# Makefile.dist
2#
a47d6336 3# Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
98311e4b 4# Copyright (c) 1996-2003 by Internet Software Consortium
5f5d1ea2 5#
98311e4b
DH
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.
5f5d1ea2 9#
98311e4b
DH
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.
5f5d1ea2 17#
98311e4b
DH
18# Internet Systems Consortium, Inc.
19# 950 Charter Street
20# Redwood City, CA 94063
21# <info@isc.org>
2c85ac9b 22# https://www.isc.org/
5f5d1ea2
TL
23#
24
0f829600 25CATMANPAGES = dhcpd.cat8 dhcpd.conf.cat5 dhcpd.leases.cat5
74aa4f0e 26SEDMANPAGES = dhcpd.man8 dhcpd.conf.man5 dhcpd.leases.man5
8b9bc09d 27SRCS = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
98bd7ca0
DH
28 omapi.c mdb.c stables.c salloc.c ddns.c dhcpleasequery.c dhcpv6.c \
29 mdb6.c
8b9bc09d 30OBJS = dhcpd.o dhcp.o bootp.o confpars.o db.o class.o failover.o \
98bd7ca0
DH
31 omapi.o mdb.o stables.o salloc.o ddns.o dhcpleasequery.o dhcpv6.o \
32 mdb6.o
33PROG = dhcpd testmdb6
0f829600 34MAN = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
5f5d1ea2 35
88dd0d20 36INCLUDES = -I$(TOP) $(BINDINC) -I$(TOP)/includes
793b7b9f 37DHCPLIB = ../common/libdhcp.a $(BINDLIB) ../omapip/libomapi.a ../dst/libdst.a
5f5d1ea2
TL
38CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
39
40all: $(PROG) $(CATMANPAGES)
41
74f45f96
TL
42install: 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; \
06e77c34 49 $(CHMOD) 755 $$foo; \
086032ce 50 fi; \
086032ce
TL
51 done; \
52 done
74f45f96
TL
53 $(INSTALL) dhcpd $(DESTDIR)$(BINDIR)
54 $(CHMOD) 755 $(DESTDIR)$(BINDIR)/dhcpd
fa007e82 55 $(MANINSTALL) $(MANFROM) dhcpd.$(MANCAT)8 $(MANTO) \
74f45f96 56 $(DESTDIR)$(ADMMANDIR)/dhcpd$(ADMMANEXT)
fa007e82 57 $(MANINSTALL) $(MANFROM) dhcpd.conf.$(MANCAT)5 $(MANTO) \
74f45f96 58 $(DESTDIR)$(FFMANDIR)/dhcpd.conf$(FFMANEXT)
fa007e82 59 $(MANINSTALL) $(MANFROM) dhcpd.leases.$(MANCAT)5 $(MANTO) \
74f45f96 60 $(DESTDIR)$(FFMANDIR)/dhcpd.leases$(FFMANEXT)
06e77c34
DH
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
5f5d1ea2 64
94ab0b3b 65depend:
88dd0d20 66 $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRCS)
94ab0b3b 67
5f5d1ea2
TL
68clean:
69 -rm -f $(OBJS)
94ab0b3b 70
5f5d1ea2 71realclean: clean
74aa4f0e 72 -rm -f $(PROG) $(CATMANPAGES) $(SEDMANPAGES) *~ #*
5f5d1ea2
TL
73
74distclean: realclean
75 -rm -f Makefile
76
88dd0d20
TL
77links:
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
5f5d1ea2
TL
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
ff7f93ee
TL
89dhcpd.cat8: dhcpd.man8
90 nroff -man dhcpd.man8 >dhcpd.cat8
91
92dhcpd.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
96dhcpd.conf.cat5: dhcpd.conf.man5
97 nroff -man dhcpd.conf.man5 >dhcpd.conf.cat5
98
99dhcpd.conf.man5: dhcpd.conf.5
0f829600 100 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
ff7f93ee 101 -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.conf.5 >dhcpd.conf.man5
5f5d1ea2 102
ff7f93ee
TL
103dhcpd.leases.cat5: dhcpd.leases.man5
104 nroff -man dhcpd.leases.man5 >dhcpd.leases.cat5
5f5d1ea2 105
ff7f93ee 106dhcpd.leases.man5: dhcpd.leases.5
0f829600 107 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \
ff7f93ee 108 -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.leases.5 >dhcpd.leases.man5
0f829600 109
b4c0cd45 110dhcpd: $(OBJS) $(COBJ) $(DHCPLIB)
5f5d1ea2
TL
111 $(CC) $(LFLAGS) -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS)
112
98bd7ca0 113testmdb6.o: mdb6.c
6705543f
DH
114 $(CC) -c -DUNIT_TEST $(CFLAGS) -o testmdb6.o $(INCLUDES) \
115 $(PREDEFINES) mdb6.c
98bd7ca0
DH
116
117testdhcpd.o: dhcpd.c
6705543f
DH
118 $(CC) -c -DUNIT_TEST $(CFLAGS) -o testdhcpd.o $(INCLUDES) \
119 $(PREDEFINES) dhcpd.c
98bd7ca0
DH
120
121TOBJS = 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
124testmdb6: testmdb6.o testdhcpd.o $(TOBJS) $(COBJ) $(DHCPLIB)
125 $(CC) $(LFLAGS) -o testmdb6 testmdb6.o testdhcpd.o \
126 $(TOBJS) $(DHCPLIB) $(LIBS)
127
5f5d1ea2 128# Dependencies (semi-automatically-generated)