From: Ted Lemon Date: Sat, 22 Feb 1997 14:12:34 +0000 (+0000) Subject: Distributed Makefile X-Git-Tag: DHCP_970222~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f5d1ea2cff6cd1872a6f629d50de9acf0e269d9;p=thirdparty%2Fdhcp.git Distributed Makefile --- diff --git a/client/Makefile.dist b/client/Makefile.dist new file mode 100644 index 000000000..459ea12b8 --- /dev/null +++ b/client/Makefile.dist @@ -0,0 +1,241 @@ +# 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 = dhclient.cat8 dhclient.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-- + +SRCS = dhclient.c clparse.c +OBJS = dhclient.o clparse.o +PROG = dhclient +MAN = dhclient.8 dhclient.conf.5 + +DEBUG = -g +INCLUDES = -I.. -I../includes +DHCPLIB = ../common/libdhcp.a +CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) + +all: $(PROG) $(CATMANPAGES) + +install: $(PROG) $(CATMANPAGES) + $(INSTALL) dhclient $(BINDIR); $(CHMOD) 755 $(BINDIR)/dhclient + 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) dhclient.cat8 $(MANTO) \ + $(ADMMANDIR)/dhclient$(ADMMANEXT) + $(MANINSTALL) $(MANFROM) dhclient.conf.cat5 $(MANTO) \ + $(FFMANDIR)/dhclient.conf$(FFMANEXT) + +clean: + -rm -f $(OBJS) + +realclean: clean + -rm -f $(PROG) $(CATMANPAGES) *~ #* + +distclean: realclean + -rm -f 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. + +dhclient.cat8: dhclient.8 + sed -e "s#ETCDIR#$(ETC)#" -e "s#DBDIR#$(VARDB)#" \ + -e "s#RUNDIR#$(VARRUN)#" < dhclient.8 \ + | nroff -man >dhclient.cat8 + +dhclient.conf.cat5: dhclient.conf.5 + nroff -man dhclient.conf.5 >dhclient.conf.cat5 + +dhclient: $(OBJS) $(DHCPLIB) + $(CC) $(LFLAGS) -o $(PROG) $(OBJS) $(DHCPLIB) $(LIBS) + +# Dependencies (semi-automatically-generated) diff --git a/common/Makefile.dist b/common/Makefile.dist new file mode 100644 index 000000000..e90db6727 --- /dev/null +++ b/common/Makefile.dist @@ -0,0 +1,218 @@ +# 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 +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-- + +SRC = raw.c parse.c nit.c dispatch.c conflex.c bpf.c socket.c \ + packet.c memory.c print.c options.c inet.c convert.c \ + tree.c tables.c hash.c alloc.c errwarn.o +OBJ = raw.o parse.o nit.o dispatch.o conflex.o bpf.o socket.o \ + packet.o memory.o print.o options.o inet.o convert.o \ + tree.o tables.o hash.o alloc.o errwarn.o + +DEBUG = -g +INCLUDES = -I.. -I../includes +CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) + +all: libdhcp.a + +libdhcp.a: $(OBJ) + rm -f libdhcp.a + ar cruv libdhcp.a $(OBJ) + ranlib libdhcp.a + +install: + +clean: + -rm -f $(OBJ) + +realclean: clean + -rm -f libdhcp.a *~ #* + +distclean: realclean + -rm -f 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. + +# Dependencies (semi-automatically-generated) diff --git a/relay/Makefile.dist b/relay/Makefile.dist new file mode 100644 index 000000000..209d2ca44 --- /dev/null +++ b/relay/Makefile.dist @@ -0,0 +1,236 @@ +# 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 = dhcrelay.cat8 +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-- + +SRCS = dhcrelay.c +OBJS = dhcrelay.o +PROG = dhcrelay +MAN = dhcrelay.8 + +DEBUG = -g +INCLUDES = -I.. -I../includes +DHCPLIB = ../common/libdhcp.a +CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) + +all: $(PROG) $(CATMANPAGES) + +install: $(PROG) $(CATMANPAGES) + $(INSTALL) dhcrelay $(BINDIR); $(CHMOD) 755 $(BINDIR)/dhcrelay + 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) dhcrelay.cat8 $(MANTO) \ + $(ADMMANDIR)/dhcrelay$(ADMMANEXT) + +clean: + -rm -f $(OBJS) dhclient.o + +realclean: clean + -rm -f $(PROG) $(CATMANPAGES) *~ #* + +distclean: realclean + -rm -f 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. + +dhcrelay.cat8: dhcrelay.8 + sed -e "s#ETCDIR#$(ETC)#" -e "s#DBDIR#$(VARDB)#" \ + -e "s#RUNDIR#$(VARRUN)#" < dhcrelay.8 \ + | nroff -man >dhcrelay.cat8 + +dhcrelay: dhcrelay.o $(DHCPLIB) + $(CC) $(LFLAGS) -o $(PROG) dhcrelay.o $(DHCPLIB) $(LIBS) + +# Dependencies (semi-automatically-generated) diff --git a/server/Makefile.dist b/server/Makefile.dist new file mode 100644 index 000000000..48aa0c6fe --- /dev/null +++ b/server/Makefile.dist @@ -0,0 +1,241 @@ +# 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-- + +SRCS = dhcpd.c dhcp.c bootp.c confpars.c db.c +OBJS = dhcpd.o dhcp.o bootp.o confpars.o db.o +PROG = dhcpd +MAN = dhcpd.8 dhcpd.conf.5 + +DEBUG = -g +INCLUDES = -I.. -I../includes +DHCPLIB = ../common/libdhcp.a +CFLAGS = $(DEBUG) $(PREDEFINES) $(INCLUDES) $(COPTS) + +all: $(PROG) $(CATMANPAGES) + +install: $(PROGS $(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) + +realclean: clean + -rm -f $(PROG) $(CATMANPAGES) *~ #* + +distclean: realclean + -rm -f 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) $(DHCPLIB) $(LIBS) + +# Dependencies (semi-automatically-generated)