NetBSD/usr.sbin/dhcpd/Makefile.dist
1996-10-03 06:33:24 +00:00

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