X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2FMakefile.linux;h=c3489fb5dbf06673ad849ee6a62eb3d1982892ac;hp=0ab8c760f87e71aedc4085982a1792b9e05dd254;hb=30f457205c6a52b291a7ddfbbbec87c8c19ab22a;hpb=76bb2b14a56e313b06b727d015fcd6f7ba6f789c diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux index 0ab8c76..c3489fb 100644 --- a/pppd/Makefile.linux +++ b/pppd/Makefile.linux @@ -1,26 +1,32 @@ # # pppd makefile for Linux -# $Id: Makefile.linux,v 1.58 2003/05/12 08:18:54 fcusack 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 +DESTDIR = $(INSTROOT)@DESTDIR@ +BINDIR = $(DESTDIR)/sbin +MANDIR = $(DESTDIR)/share/man/man8 +INCDIR = $(DESTDIR)/include 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,15 +34,12 @@ 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 +#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 @@ -45,9 +48,8 @@ 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, 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 @@ -59,9 +61,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,13 +79,22 @@ PLUGIN=y # Enable EAP SRP-SHA1 authentication (requires libsrp) #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 @@ -90,15 +106,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 @@ -111,21 +129,36 @@ 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 -ifneq ($(wildcard /usr/include/crypt.h),) -CFLAGS += -DHAVE_CRYPT_H=1 -endif -ifneq ($(wildcard /usr/lib/libcrypt.*),) +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) +CFLAGS += -I$(shell $(CC) --print-sysroot)/usr/include/openssl +NEEDCRYPTOLIB = y else CFLAGS += -DUSE_CRYPT=1 endif @@ -133,6 +166,10 @@ 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 @@ -152,9 +189,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. @@ -163,15 +200,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 @@ -192,20 +234,20 @@ ifdef MAXOCTETS CFLAGS += -DMAXOCTETS endif -INSTALL= install -o root +INSTALL= install all: $(TARGETS) install: pppd mkdir -p $(BINDIR) $(MANDIR) $(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.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)