X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2FMakefile.linux;h=36d2b036a8c5d228b0ab3cf754efccc5ffa0c9c5;hp=507f89c6d7efde95795152077ac421cb62a70eea;hb=a96702158e72c0d527a146940b983a366dbce464;hpb=d999c23548f44ff477c29d66eda18e1c787ecbe9 diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux index 507f89c..36d2b03 100644 --- a/pppd/Makefile.linux +++ b/pppd/Makefile.linux @@ -1,54 +1,240 @@ # # pppd makefile for Linux -# $Id: Makefile.linux,v 1.8 1995/06/30 01:47:13 paulus Exp $ +# $Id: Makefile.linux,v 1.70 2007/06/19 02:08:34 carlsonj Exp $ # -BINDIR = /usr/lib/ppp -MANDIR = /usr/man +# Default installation locations +DESTDIR = $(INSTROOT)@DESTDIR@ +BINDIR = $(DESTDIR)/sbin +MANDIR = $(DESTDIR)/share/man/man8 +INCDIR = $(DESTDIR)/include -PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \ - auth.c options.c sys-linux.c -HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h -MANPAGES = pppd.8 +TARGETS = pppd + +PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap-new.c md5.c ccp.c \ + ecp.c ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c \ + demand.c utils.c tty.c eap.c chap-md5.c session.c -PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \ - auth.o options.o sys-linux.o +HEADERS = ccp.h session.h chap-new.h ecp.h fsm.h ipcp.h \ + ipxcp.h lcp.h magic.h md5.h patchlevel.h pathnames.h pppd.h \ + upap.h eap.h -all: pppd +MANPAGES = pppd.8 +PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o md5.o ccp.o \ + ecp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o \ + eap.o chap-md5.o session.o # -# include dependancies if present and backup if as a header file +# include dependencies if present ifeq (.depend,$(wildcard .depend)) include .depend -HEADERS := $(HEADERS) .depend endif # CC = gcc -# DEBUG_FLAGS = -DDEBUGALL -COMPILE_FLAGS = -D_linux_=1 -DHAVE_PATHS_H -COPTS = -g # -O2 -VER = 0.2.8 -LIBS = -lbsd +# +COPTS = -O2 -pipe -Wall -g +LIBS = + +# Uncomment the next 2 lines to include support for Microsoft's +# MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux. +CHAPMS=y +USE_CRYPT=y +# Don't use MSLANMAN unless you really know what you're doing. +#MSLANMAN=y +# Uncomment the next line to include support for MPPE. CHAPMS (above) must +# also be enabled. Also, edit plugins/radius/Makefile.linux. +MPPE=y + +# Uncomment the next line to include support for PPP packet filtering. +# This requires that the libpcap library and headers be installed +# and that the kernel driver support PPP packet filtering. +FILTER=y + +# Uncomment the next line to enable multilink PPP (enabled by default) +# Linux distributions: Please leave multilink ENABLED in your builds +# of pppd! +HAVE_MULTILINK=y + +# Uncomment the next line to enable the TDB database (enabled by default.) +# If you enable multilink, then TDB is automatically enabled also. +# Linux distributions: Please leave TDB ENABLED in your builds. +USE_TDB=y + +# Uncomment the next line to enable Type=notify services in systemd +# If enabled, and the user sets the up_sdnotify option, then +# pppd will not detach and will notify systemd when up. +#SYSTEMD=y + +HAS_SHADOW=y +#USE_PAM=y +HAVE_INET6=y + +# Enable plugins +PLUGIN=y + +# Enable Microsoft proprietary Callback Control Protocol +#CBCP=y + +# Enable EAP SRP-SHA1 authentication (requires libsrp) +#USE_SRP=y + +# Use libutil +USE_LIBUTIL=y + +MAXOCTETS=y + +INCLUDE_DIRS= -I../include + +COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP + +CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' + +ifdef CHAPMS +CFLAGS += -DCHAPMS=1 +NEEDDES=y +PPPDOBJS += md4.o chap_ms.o +HEADERS += md4.h chap_ms.h +ifdef MSLANMAN +CFLAGS += -DMSLANMAN=1 +endif +ifdef MPPE +CFLAGS += -DMPPE=1 +endif +endif + +# EAP SRP-SHA1 +ifdef USE_SRP +CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include +LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto +TARGETS += srp-entry +EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry +MANPAGES += srp-entry.8 +EXTRACLEAN += srp-entry.o +NEEDDES=y +else +# OpenSSL has an integrated version of SHA-1, and its implementation +# is incompatible with this local SHA-1 implementation. We must use +# one or the other, not both. +PPPDSRCS += sha1.c +HEADERS += sha1.h +PPPDOBJS += sha1.o +endif + +ifdef HAS_SHADOW +CFLAGS += -DHAS_SHADOW +#LIBS += -lshadow $(LIBS) +endif + +ifneq ($(wildcard /usr/include/crypt.h),) +CFLAGS += -DHAVE_CRYPT_H=1 +LIBS += -lcrypt +endif + +ifdef USE_LIBUTIL +CFLAGS += -DHAVE_LOGWTMP=1 +LIBS += -lutil +endif + +ifdef NEEDDES +ifndef USE_CRYPT +LIBS += -ldes $(LIBS) +else +CFLAGS += -DUSE_CRYPT=1 +endif +PPPDOBJS += pppcrypt.o +HEADERS += pppcrypt.h +endif + +# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/. +ifdef USE_PAM +CFLAGS += -DUSE_PAM +LIBS += -lpam -ldl +endif + +# Multi-linnk +ifdef HAVE_MULTILINK + # Multilink implies the use of TDB + USE_TDB=y + + CFLAGS += -DHAVE_MULTILINK + PPPDSRCS += multilink.c + PPPDOBJS += multilink.o +endif + +# TDB +ifdef USE_TDB + CFLAGS += -DUSE_TDB=1 + PPPDSRCS += tdb.c spinlock.c + PPPDOBJS += tdb.o spinlock.o + HEADERS += tdb.h spinlock.h +endif + +# Lock library binary for Linux is included in 'linux' subdirectory. +ifdef LOCKLIB +LIBS += -llock +CFLAGS += -DLOCKLIB=1 +endif + +ifdef SYSTEMD +LIBS += -lsystemd +CFLAGS += -DSYSTEMD=1 +endif + +ifdef PLUGIN +CFLAGS += -DPLUGIN +LDFLAGS_PLUGIN += -Wl,-E +LIBS += -ldl +endif + +ifdef FILTER +ifneq ($(wildcard /usr/include/pcap-bpf.h),) +LIBS += -lpcap +CFLAGS += -DPPP_FILTER +endif +endif + +ifdef HAVE_INET6 + PPPDSRCS += ipv6cp.c eui64.c + HEADERS += ipv6cp.h eui64.h + PPPDOBJS += ipv6cp.o eui64.o + CFLAGS += -DINET6=1 +endif + +ifdef CBCP + PPPDSRCS += cbcp.c + PPPDOBJS += cbcp.o + CFLAGS += -DCBCP_SUPPORT + HEADERS += cbcp.h +endif + +ifdef MAXOCTETS + CFLAGS += -DMAXOCTETS +endif + +INSTALL= install -CFLAGS = $(COPTS) $(DEBUG_FLAGS) $(COMPILE_FLAGS) -SOURCE= RELNOTES Makefile.linux $(PPPDSRCS) $(HEADERS) $(MANPAGES) +all: $(TARGETS) install: pppd - mkdir -p $(BINDIR) - install -c -m 4555 -o root pppd $(BINDIR)/pppd - install -c -m 555 -o root pppd.8 $(MANDIR)/man8 + mkdir -p $(BINDIR) $(MANDIR) + $(EXTRAINSTALL) + $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd + if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \ + chmod o-rx,u+s $(BINDIR)/pppd; fi + $(INSTALL) -c -m 444 pppd.8 $(MANDIR) pppd: $(PPPDOBJS) - $(CC) $(CFLAGS) -o pppd $(PPPDOBJS) $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS) -pppd.tar: $(SOURCE) - tar -cvf pppd.tar $(SOURCE) +srp-entry: srp-entry.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ srp-entry.c $(LIBS) -pppd.tar.gz: pppd.tar - gzip pppd.tar +install-devel: + mkdir -p $(INCDIR)/pppd + $(INSTALL) -c -m 644 $(HEADERS) $(INCDIR)/pppd clean: - rm -f $(PPPDOBJS) pppd *~ #* core + rm -f $(PPPDOBJS) $(EXTRACLEAN) $(TARGETS) *~ #* core depend: $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend