X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2FMakefile.linux;h=f5e584845c2fa672a3490747343a18dfff01d988;hp=2cdfe9e5cc2af7e3ba103793c6027aa5120bf521;hb=75f1f5fde9fa6a64d0c35af6dfac5086a0739334;hpb=93707a531320fbf398fdb5ffa69a86af092c798c diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux index 2cdfe9e..f5e5848 100644 --- a/pppd/Makefile.linux +++ b/pppd/Makefile.linux @@ -1,28 +1,35 @@ # # pppd makefile for Linux -# $Id: Makefile.linux,v 1.62 2004/10/29 00:12:27 paulus Exp $ +# Processed by configure to produce pppd/Makefile # +CROSS_COMPILE=@CROSS_COMPILE@ +CC=$(CROSS_COMPILE)@CC@ +COPTS=@CFLAGS@ + # Default installation locations -DESTDIR = @DESTDIR@ +PREFIX = @DESTDIR@ +DESTDIR = $(INSTROOT)$(PREFIX) BINDIR = $(DESTDIR)/sbin -MANDIR = $(DESTDIR)/man/man8 -INCDIR = $(DESTDIR)/include +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-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 + demand.c utils.c tty.c eap.c chap-md5.c session.c -HEADERS = ccp.h chap-new.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-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 + eap.o chap-md5.o session.o # # include dependencies if present @@ -30,15 +37,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 @@ -60,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 @@ -73,13 +82,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 @@ -91,15 +109,19 @@ CFLAGS += -DMSLANMAN=1 endif ifdef MPPE CFLAGS += -DMPPE=1 +PPPDOBJS += mppe.o +PPPDSRC += mppe.c +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 @@ -112,21 +134,35 @@ 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 +CFLAGS += -DHAVE_SHADOW_H #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_UTMP_H=1 +LIBS += -lutil +endif + ifdef NEEDDES ifndef USE_CRYPT -LIBS += -ldes $(LIBS) +NEEDCRYPTOLIB = y else CFLAGS += -DUSE_CRYPT=1 endif @@ -134,6 +170,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 @@ -153,9 +193,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,9 +204,14 @@ 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 @@ -193,20 +238,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) + $(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)