# Makefile.dist # # Copyright (c) 2004-2022 by Internet Systems Consortium, Inc. ("ISC") # Copyright (c) 1996-2003 by Internet Software Consortium # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # Internet Systems Consortium, Inc. # PO Box 360 # Newmarket, NH 03857 USA # # https://www.isc.org/ # CATMANPAGES = dhcpd.cat8 dhcpd.conf.cat5 dhcpd.leases.cat5 SEDMANPAGES = dhcpd.man8 dhcpd.conf.man5 dhcpd.leases.man5 SRCS = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \ omapi.c mdb.c stables.c salloc.c ddns.c dhcpleasequery.c dhcpv6.c \ mdb6.c OBJS = dhcpd.o dhcp.o bootp.o confpars.o db.o class.o failover.o \ omapi.o mdb.o stables.o salloc.o ddns.o dhcpleasequery.o dhcpv6.o \ mdb6.o PROG = dhcpd testmdb6 MAN = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5 INCLUDES = -I$(TOP) $(BINDINC) -I$(TOP)/includes DHCPLIB = ../common/libdhcp.a $(BINDLIB) ../omapip/libomapi.a ../dst/libdst.a CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) all: $(PROG) $(CATMANPAGES) install: all for dir in $(BINDIR) $(ADMMANDIR) $(FFMANDIR) $(VARDB); do \ foo=""; \ for bar in `echo $(DESTDIR)$${dir} |tr / ' '`; do \ foo=$${foo}/$$bar; \ if [ ! -d $$foo ]; then \ mkdir $$foo; \ $(CHMOD) 755 $$foo; \ fi; \ done; \ done $(INSTALL) dhcpd $(DESTDIR)$(BINDIR) $(CHMOD) 755 $(DESTDIR)$(BINDIR)/dhcpd $(MANINSTALL) $(MANFROM) dhcpd.$(MANCAT)8 $(MANTO) \ $(DESTDIR)$(ADMMANDIR)/dhcpd$(ADMMANEXT) $(MANINSTALL) $(MANFROM) dhcpd.conf.$(MANCAT)5 $(MANTO) \ $(DESTDIR)$(FFMANDIR)/dhcpd.conf$(FFMANEXT) $(MANINSTALL) $(MANFROM) dhcpd.leases.$(MANCAT)5 $(MANTO) \ $(DESTDIR)$(FFMANDIR)/dhcpd.leases$(FFMANEXT) $(TOUCH) $(DESTDIR)$(VARDB)/dhcpd.leases # Note file mode is hardcoded to mode 0664 in server/db.c (889). $(CHMOD) 664 $(DESTDIR)$(VARDB)/dhcpd.leases depend: $(MKDEP) $(INCLUDES) $(PREDEFINES) $(SRCS) clean: -rm -f $(OBJS) realclean: clean -rm -f $(PROG) $(CATMANPAGES) $(SEDMANPAGES) *~ #* distclean: realclean -rm -f Makefile links: @for foo in $(SRCS) $(MAN); do \ if [ ! -b $$foo ]; then \ rm -f $$foo; \ fi; \ ln -s $(TOP)/server/$$foo $$foo; \ done # These should only be done on 4.4 BSD-based systems, since the mandoc # macros aren't available on older unices. Catted man pages are # provided in the distribution so that this doesn't become a problem. dhcpd.cat8: dhcpd.man8 nroff -man dhcpd.man8 >dhcpd.cat8 dhcpd.man8: dhcpd.8 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \ -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.8 >dhcpd.man8 dhcpd.conf.cat5: dhcpd.conf.man5 nroff -man dhcpd.conf.man5 >dhcpd.conf.cat5 dhcpd.conf.man5: dhcpd.conf.5 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \ -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.conf.5 >dhcpd.conf.man5 dhcpd.leases.cat5: dhcpd.leases.man5 nroff -man dhcpd.leases.man5 >dhcpd.leases.cat5 dhcpd.leases.man5: dhcpd.leases.5 sed -e "s#ETCDIR#$(ETC)#g" -e "s#DBDIR#$(VARDB)#g" \ -e "s#RUNDIR#$(VARRUN)#g" < dhcpd.leases.5 >dhcpd.leases.man5 dhcpd: $(OBJS) $(COBJ) $(DHCPLIB) $(CC) $(LFLAGS) -o dhcpd $(OBJS) $(DHCPLIB) $(LIBS) testmdb6.o: mdb6.c $(CC) -c -DUNIT_TEST $(CFLAGS) -o testmdb6.o $(INCLUDES) \ $(PREDEFINES) mdb6.c testdhcpd.o: dhcpd.c $(CC) -c -DUNIT_TEST $(CFLAGS) -o testdhcpd.o $(INCLUDES) \ $(PREDEFINES) dhcpd.c TOBJS = dhcp.o bootp.o confpars.o db.o class.o failover.o \ omapi.o mdb.o stables.o salloc.o ddns.o dhcpleasequery.o dhcpv6.o testmdb6: testmdb6.o testdhcpd.o $(TOBJS) $(COBJ) $(DHCPLIB) $(CC) $(LFLAGS) -o testmdb6 testmdb6.o testdhcpd.o \ $(TOBJS) $(DHCPLIB) $(LIBS) # Dependencies (semi-automatically-generated)