X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2FMakefile.linux;h=f92f7c081a976cb71c4f34578a57d95f3aa136a7;hp=44f75e7339849c7e8b5787f9a3af9a7201e46e6c;hb=750475927f15964be39a8bdda8ea2f57c764f846;hpb=d741a3b912f17d84dc8dc87474e0b989c775de50 diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux index 44f75e7..f92f7c0 100644 --- a/pppd/Makefile.linux +++ b/pppd/Makefile.linux @@ -1,26 +1,35 @@ # # pppd makefile for Linux -# $Id: Makefile.linux,v 1.54 2002/11/02 19:48:12 carlsonj Exp $ +# Processed by configure to produce pppd/Makefile # +CROSS_COMPILE=@CROSS_COMPILE@ +CC=$(CROSS_COMPILE)@CC@ +COPTS=@CFLAGS@ + # Default installation locations -BINDIR = $(DESTDIR)/usr/sbin -MANDIR = $(DESTDIR)/usr/man -INCDIR = $(DESTDIR)/usr/include +PREFIX = @DESTDIR@ +DESTDIR = $(INSTROOT)$(PREFIX) +BINDIR = $(DESTDIR)/sbin +MANDIR = $(DESTDIR)/share/man/man8 +INCDIR = $(INSTROOT)@INCDIR@ +LIBDIR = $(INSTROOT)@LIBDIR@ +PKGCONFDIR = $(LIBDIR)/pkgconfig TARGETS = pppd -PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.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 +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 -HEADERS = ccp.h chap.h ecp.h fsm.h ipcp.h \ +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 MANPAGES = pppd.8 -PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o ecp.o \ - auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o eap.o +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 dependencies if present @@ -28,28 +37,22 @@ ifeq (.depend,$(wildcard .depend)) include .depend endif -# CC = gcc -# -COPTS = -O2 -pipe -Wall -g -LIBS = +LIBS = -lrt -# Uncomment the next 2 lines to include support for Microsoft's +# Uncomment the next line to include support for Microsoft's # MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux. CHAPMS=y -USE_CRYPT=y -MSLANMAN=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 -ifneq ($(wildcard /usr/lib/libcrypt.*),) -HAVE_CRYPT_H=y -endif # 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, which it -# doesn't yet. -#FILTER=y +# 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 @@ -61,9 +64,14 @@ HAVE_MULTILINK=y # 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 +HAVE_INET6=y # Enable plugins PLUGIN=y @@ -72,15 +80,24 @@ PLUGIN=y #CBCP=y # Enable EAP SRP-SHA1 authentication (requires libsrp) -USE_SRP=y +#USE_SRP=y + +# Use libutil; test if logwtmp is declared in to detect +UTMPHEADER = "\#include " +ifeq ($(shell echo $(UTMPHEADER) | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes) +USE_LIBUTIL=y +endif + +# Enable EAP-TLS authentication (requires MPPE support, libssl and libcrypto) +USE_EAPTLS=y MAXOCTETS=y INCLUDE_DIRS= -I../include -COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP +COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -pipe -CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) +CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) '-DDESTDIR="@DESTDIR@"' ifdef CHAPMS CFLAGS += -DCHAPMS=1 @@ -92,15 +109,17 @@ CFLAGS += -DMSLANMAN=1 endif ifdef MPPE CFLAGS += -DMPPE=1 +HEADERS += mppe.h 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 +LIBS += -lsrp -L/usr/local/ssl/lib +NEEDCRYPTOLIB = y TARGETS += srp-entry -EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry +EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry MANPAGES += srp-entry.8 EXTRACLEAN += srp-entry.o NEEDDES=y @@ -113,27 +132,46 @@ HEADERS += sha1.h PPPDOBJS += sha1.o endif +# EAP-TLS +ifdef USE_EAPTLS +CFLAGS += -DUSE_EAPTLS=1 +LIBS += -lssl +NEEDCRYPTOLIB = y +PPPDSRC += eap-tls.c +HEADERS += eap-tls.h +PPPDOBJS += eap-tls.o +endif + ifdef HAS_SHADOW CFLAGS += -DHAS_SHADOW #LIBS += -lshadow $(LIBS) endif +CRYPTHEADER = "\#include " +ifeq ($(shell echo $(CRYPTHEADER) | $(CC) -E - >/dev/null 2>&1 && echo yes),yes) +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) +NEEDCRYPTOLIB = y else CFLAGS += -DUSE_CRYPT=1 -ifneq ($(wildcard /usr/include/crypt.h),) -CFLAGS += -DHAVE_CRYPT_H=1 -endif -ifneq ($(wildcard /usr/lib/libcrypt.*),) -LIBS += -lcrypt -endif endif PPPDOBJS += pppcrypt.o HEADERS += pppcrypt.h endif +ifdef NEEDCRYPTOLIB +LIBS += -lcrypto +endif + # For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/. ifdef USE_PAM CFLAGS += -DUSE_PAM @@ -153,9 +191,9 @@ endif # TDB ifdef USE_TDB CFLAGS += -DUSE_TDB=1 - PPPDSRCS += tdb.c - PPPDOBJS += tdb.o - HEADERS += tdb.h + 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. @@ -164,15 +202,20 @@ LIBS += -llock CFLAGS += -DLOCKLIB=1 endif +ifdef SYSTEMD +LIBS += -lsystemd +CFLAGS += -DSYSTEMD=1 +endif + ifdef PLUGIN CFLAGS += -DPLUGIN -LDFLAGS += -Wl,-E +LDFLAGS_PLUGIN += -Wl,-E LIBS += -ldl endif ifdef FILTER LIBS += -lpcap -CFLAGS += -DPPP_FILTER -I/usr/include/pcap +CFLAGS += -DPPP_FILTER endif ifdef HAVE_INET6 @@ -193,20 +236,23 @@ ifdef MAXOCTETS CFLAGS += -DMAXOCTETS endif -INSTALL= install -o root +INSTALL= install all: $(TARGETS) install: pppd - mkdir -p $(BINDIR) $(MANDIR) + $(INSTALL) -d $(BINDIR) + $(INSTALL) -d $(MANDIR) + $(INSTALL) -d $(PKGCONFDIR) $(EXTRAINSTALL) - $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd + $(INSTALL) -c -m 755 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)/man8 + $(INSTALL) -c -m 644 pppd.pc $(PKGCONFDIR) + $(INSTALL) -c -m 644 pppd.8 $(MANDIR) pppd: $(PPPDOBJS) - $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS) srp-entry: srp-entry.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ srp-entry.c $(LIBS)