| # |
| # pppd makefile for Linux |
| # Processed by configure to produce pppd/Makefile |
| # |
| |
| CROSS_COMPILE=@CROSS_COMPILE@ |
| CC=$(CROSS_COMPILE)@CC@ |
| COPTS=@CFLAGS@ |
| |
| # Default installation locations |
| 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-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 mplscp.c |
| |
| 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 mplscp.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 session.o mplscp.o |
| |
| # |
| # include dependencies if present |
| ifeq (.depend,$(wildcard .depend)) |
| include .depend |
| endif |
| |
| LIBS = -lrt |
| |
| # 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 |
| # 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; test if logwtmp is declared in <utmp.h> to detect |
| ifeq ($(shell echo '\#include <utmp.h>' | $(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 -pipe |
| |
| 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 |
| 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 |
| NEEDCRYPTOLIB = y |
| TARGETS += srp-entry |
| EXTRAINSTALL = $(INSTALL) -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 |
| |
| # 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 |
| |
| ifeq ($(shell echo '\#include <crypt.h>' | $(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 |
| NEEDCRYPTOLIB = y |
| else |
| CFLAGS += -DUSE_CRYPT=1 |
| 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 |
| 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 |
| LIBS += -lpcap |
| CFLAGS += -DPPP_FILTER |
| 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 |
| |
| all: $(TARGETS) |
| |
| install: pppd |
| mkdir -p $(BINDIR) $(MANDIR) |
| $(EXTRAINSTALL) |
| $(INSTALL) -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) $(LDFLAGS) $(LDFLAGS_PLUGIN) -o pppd $(PPPDOBJS) $(LIBS) |
| |
| srp-entry: srp-entry.c |
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ srp-entry.c $(LIBS) |
| |
| install-devel: |
| mkdir -p $(INCDIR)/pppd |
| $(INSTALL) -c -m 644 $(HEADERS) $(INCDIR)/pppd |
| |
| clean: |
| rm -f $(PPPDOBJS) $(EXTRACLEAN) $(TARGETS) *~ #* core |
| |
| depend: |
| $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend |