333 lines
8.9 KiB
Makefile
333 lines
8.9 KiB
Makefile
# Makefile.dist
|
|
#
|
|
# Copyright (c) 1996 The Internet Software Consortium. All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
#
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# 3. Neither the name of The Internet Software Consortium nor the names of its
|
|
# contributors may be used to endorse or promote products derived
|
|
# from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
|
|
# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
|
# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
# THE INTERNET SOFTWARE CONSORTIUM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#
|
|
|
|
## Defaults...
|
|
BINDIR = /usr/sbin
|
|
ADMMANDIR = /usr/share/man/cat8
|
|
ADMMANEXT = .0
|
|
FFMANDIR = /usr/share/man/cat5
|
|
FFMANEXT = .0
|
|
INSTALL = install
|
|
MANINSTALL = install
|
|
CHMOD = chmod
|
|
CATMANPAGES = dhcpd.cat8 dhcpd.conf.cat5
|
|
ETC = /etc
|
|
VARRUN = /var/run
|
|
VARDB = /var/db
|
|
|
|
## Porting::
|
|
#
|
|
# For each supported operating system, there is a block of text below
|
|
# beginning with #--os-name-- and ending with #--os-name--. Between
|
|
# these delimiters are assignments, commented out, which define the
|
|
# Makefile variables required for that operating system.
|
|
#
|
|
# The configure shell script figures out what operating system it's
|
|
# being run on and then runs Makefile.dist through a sed script which
|
|
# removes the comment characters from the appropriate set of
|
|
# assignments, and writes the output to Makefile.
|
|
|
|
## SunOS 4.1
|
|
##--sunos4--
|
|
#LIBS = -lresolv
|
|
#CF = cf/sunos4.h
|
|
#BINDIR=/usr/etc
|
|
#ADMMANEXT = .8
|
|
#FFMANEXT = .5
|
|
#VARRUN = /etc
|
|
#VARDB = /etc
|
|
##--sunos4--
|
|
|
|
## Solaris 2.5 (with gcc)
|
|
##--sunos5-gcc--
|
|
#INSTALL=/usr/ucb/install
|
|
#MANINSTALL=/usr/ucb/install
|
|
#LIBS = -lresolv -lsocket -lnsl -lgen
|
|
#CC=gcc
|
|
#COPTS = -Wall -Wstrict-prototypes -Wno-unused -Wno-implicit -Wno-comment \
|
|
# -Wno-uninitialized -Werror
|
|
#CF = cf/sunos5-5.h
|
|
#ADMMANDIR = /usr/share/man/cat1m
|
|
#ADMMANEXT = .1m
|
|
#FFMANDIR = /usr/share/man/cat4
|
|
#FFMANEXT = .4
|
|
#VARRUN = /etc
|
|
#VARDB = /etc
|
|
##--sunos5-gcc--
|
|
|
|
## Solaris 2.5 (with Sun cc)
|
|
##--sunos5-cc--
|
|
#INSTALL=/usr/ucb/install
|
|
#MANINSTALL=/usr/ucb/install
|
|
#LIBS = -lresolv -lsocket -lnsl -lgen
|
|
#CC=cc
|
|
#COPTS = -D__svr4__
|
|
#CF = cf/sunos5-5.h
|
|
#ADMMANDIR = /usr/share/man/cat1m
|
|
#ADMMANEXT = .1m
|
|
#FFMANDIR = /usr/share/man/cat4
|
|
#FFMANEXT = .4
|
|
#VARRUN = /etc
|
|
#VARDB = /etc
|
|
##--sunos5-cc--
|
|
|
|
## DEC Alpha/OSF1
|
|
##--alphaosf--
|
|
#INSTALL=/usr/ucb/installbsd
|
|
#MANINSTALL=/usr/ucb/installbsd
|
|
#LIBS=
|
|
#CF = cf/alphaosf.h
|
|
#ADMMANEXT = .8
|
|
#FFMANEXT = .5
|
|
#VARRUN = /etc
|
|
#VARDB = /etc
|
|
##--alphaosf--
|
|
|
|
## BSD/OS 2.1
|
|
##--bsdos--
|
|
#LIBS=
|
|
#CC=gcc2
|
|
#CF = cf/bsdos.h
|
|
##--bsdos--
|
|
|
|
## FreeBSD
|
|
##--freebsd--
|
|
#CF = cf/freebsd.h
|
|
##--freebsd--
|
|
|
|
## NetBSD
|
|
##--netbsd--
|
|
#CF = cf/netbsd.h
|
|
#COPTS = -Wall -Wstrict-prototypes -Wno-unused -Wno-implicit -Wno-comment \
|
|
# -Wno-uninitialized -Werror
|
|
##--netbsd--
|
|
|
|
## Ultrix
|
|
##--ultrix--
|
|
#CF = cf/ultrix.h
|
|
#ADMMANDIR = /usr/man/man8
|
|
#ADMMANEXT = .8
|
|
#FFMANDIR = /usr/man/man5
|
|
#FFMANEXT = .5
|
|
##--ultrix--
|
|
|
|
## Linux
|
|
##--linux--
|
|
#CF = cf/linux.h
|
|
#ADMMANDIR = /usr/man/man8
|
|
#ADMMANEXT = .8
|
|
#FFMANDIR = /usr/man/man5
|
|
#FFMANEXT = .5
|
|
#VARRUN = /var/run
|
|
#VARDB = /var/dhcpd
|
|
##--linux--
|
|
|
|
## SCO
|
|
##--sco--
|
|
#CF = cf/sco.h
|
|
#PREDEFINES=-DSCO -DBROKEN_ANSI
|
|
#BINDUR = /usr/etc
|
|
#ADMMANDIR = /usr/man/cat.ADMN
|
|
#ADMMANEXT = .ADMN.Z
|
|
#FFMANDIR = /usr/man/cat.SFF
|
|
#FFMANEXT = .SFF.Z
|
|
#INSTALL = cp
|
|
#MANFROM = <
|
|
#MANINSTALL = compress
|
|
#MANTO = >
|
|
#VARRUN = /etc
|
|
#VARDB = /etc
|
|
#CATMANPAGES=
|
|
##--sco--
|
|
|
|
## QNX
|
|
##--qnx--
|
|
#CF = cf/qnx.h
|
|
#ADMMANDIR = /usr/man/man8
|
|
#ADMMANEXT = .8
|
|
#FFMANDIR = /usr/man/man5
|
|
#FFMANEXT = .5
|
|
#VARRUN = /etc
|
|
#COPTS=-w3 -Dlint
|
|
#LFLAGS=$(DEBUG) "-Wl,op symfile" -l socket
|
|
#MANINSTALL = /bin/true
|
|
#INSTALL = cp
|
|
#BINDIR = /etc
|
|
##--qnx--
|
|
|
|
CSRC = options.c errwarn.c convert.c \
|
|
tree.c memory.c alloc.c print.c hash.c tables.c inet.c \
|
|
dispatch.c bpf.c packet.c raw.c nit.c socket.c
|
|
COBJ = options.o errwarn.o convert.o \
|
|
tree.o memory.o alloc.o print.o hash.o tables.o inet.o \
|
|
dispatch.o bpf.o packet.o raw.o nit.o socket.o
|
|
XOBJ = dhcpxlt.o xconflex.o
|
|
SRCS = dhcpd.c dhcp.c bootp.c conflex.c confpars.c db.c
|
|
OBJS = dhcpd.o dhcp.o bootp.o conflex.o confpars.o db.o
|
|
PROGS = dhcpd dhclient
|
|
MAN = dhcpd.8 dhcpd.conf.5
|
|
|
|
DEBUG = -g
|
|
CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS)
|
|
|
|
all: dhcpd dhclient dhcpxlt $(CATMANPAGES)
|
|
|
|
install: dhcpd $(CATMANPAGES)
|
|
$(INSTALL) dhcpd $(BINDIR); $(CHMOD) 755 $(BINDIR)/dhcpd
|
|
if [ ! -d $(ADMMANDIR) ]; then \
|
|
mkdir $(ADMMANDIR); \
|
|
chmod 755 $(ADMMANDIR); \
|
|
fi
|
|
if [ ! -d $(FFMANDIR) ]; then \
|
|
mkdir $(FFMANDIR); \
|
|
chmod 755 $(FFMANDIR); \
|
|
fi
|
|
if [ ! -d $(VARDB) ]; then \
|
|
mkdir $(VARDB); \
|
|
chmod 755 $(VARDB); \
|
|
fi
|
|
$(MANINSTALL) $(MANFROM) dhcpd.cat8 $(MANTO) \
|
|
$(ADMMANDIR)/dhcpd$(ADMMANEXT)
|
|
$(MANINSTALL) $(MANFROM) dhcpd.conf.cat5 $(MANTO) \
|
|
$(FFMANDIR)/dhcpd.conf$(FFMANEXT)
|
|
|
|
clean:
|
|
-rm -f $(OBJS) $(COBJ) $(XOBJ) dhclient.o
|
|
|
|
realclean: clean
|
|
-rm -f dhcpd dhclient dhcpxlt $(CATMANPAGES) *~ #*
|
|
|
|
distclean: clean
|
|
-rm -f dhcpd dhclient dhcpxlt $(CATMANPAGES) Makefile
|
|
|
|
# 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.8
|
|
sed -e "s#ETCDIR#$(ETC)#" -e "s#DBDIR#$(VARDB)#" \
|
|
-e "s#RUNDIR#$(VARRUN)#" < dhcpd.8 \
|
|
| nroff -man >dhcpd.cat8
|
|
|
|
dhcpd.conf.cat5: dhcpd.conf.5
|
|
nroff -man dhcpd.conf.5 >dhcpd.conf.cat5
|
|
|
|
dhcpd: $(OBJS) $(COBJ)
|
|
$(CC) $(LFLAGS) -o dhcpd $(OBJS) $(COBJ) $(LIBS)
|
|
|
|
dhclient: dhclient.o $(COBJ)
|
|
$(CC) $(LFLAGS) -o dhclient dhclient.o $(COBJ) $(LIBS)
|
|
|
|
dhcpxlt: dhcpxlt.o errwarn.o convert.o tables.o inet.o xconflex.o \
|
|
hash.o alloc.o
|
|
$(CC) $(LFLAGS) -o dhcpxlt \
|
|
dhcpxlt.o errwarn.o convert.o tables.o inet.o xconflex.o \
|
|
hash.o alloc.o \
|
|
$(LIBS)
|
|
|
|
xconflex.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h dhctoken.h conflex.c
|
|
@cp conflex.c xconflex.c
|
|
$(CC) $(CFLAGS) -c xconflex.c -DOLD_LEXER
|
|
@-rm -f xconflex.c
|
|
|
|
# Dependencies (semi-automatically-generated)
|
|
|
|
options.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h
|
|
|
|
errwarn.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h
|
|
|
|
convert.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h
|
|
|
|
conflex.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h dhctoken.h
|
|
|
|
confpars.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h dhctoken.h
|
|
|
|
tree.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h \
|
|
tree.h hash.h inet.h
|
|
|
|
memory.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
alloc.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h
|
|
|
|
print.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
hash.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
tables.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
inet.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
db.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
dispatch.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h \
|
|
hash.h inet.h
|
|
|
|
bpf.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h includes/netinet/ip.h includes/netinet/udp.h \
|
|
includes/netinet/if_ether.h
|
|
|
|
packet.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h includes/netinet/ip.h includes/netinet/udp.h \
|
|
includes/netinet/if_ether.h
|
|
|
|
raw.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
nit.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
dhcpd.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
socket.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
dhcp.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
bootp.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h
|
|
|
|
dhclient.o: dhcpd.h cdefs.h osdep.h site.h $(CF) dhcp.h tree.h hash.h \
|
|
inet.h dhctoken.h
|