X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2FMakefile.linux;h=a8d01a4a3cf68b59dc80c20eb29c819278e65863;hp=84cd12beac1828ef6c244ad19625b7887cf7f963;hb=fd25394d146bb83043189608d30dd0eeb983186d;hpb=e0dd0810656dd215654c6ac66d516ce873df1196 diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux index 84cd12b..a8d01a4 100644 --- a/pppd/Makefile.linux +++ b/pppd/Makefile.linux @@ -1,70 +1,180 @@ # # pppd makefile for Linux -# $Id: Makefile.linux,v 1.14 1996/08/28 06:37:53 paulus Exp $ +# $Id: Makefile.linux,v 1.53 2002/10/27 12:56:26 fcusack Exp $ # -PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \ - ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c \ - demand.c -HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \ - ipxcp.h +# Default installation locations +BINDIR = $(DESTDIR)/usr/sbin +MANDIR = $(DESTDIR)/usr/man +INCDIR = $(DESTDIR)/usr/include + +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 cbcp.c \ + demand.c utils.c tty.c sha1.c + +HEADERS = cbcp.h ccp.h chap.h chap_ms.h ecp.h fsm.h ipcp.h \ + ipxcp.h lcp.h magic.h md4.h md5.h patchlevel.h pathnames.h pppd.h \ + sha1.h tdb.h upap.h + MANPAGES = pppd.8 -PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \ - auth.o options.o demand.o sys-linux.o ipxcp.o +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 sha1.o all: pppd # -# include dependancies if present and backup if as a header file +# include dependencies if present ifeq (.depend,$(wildcard .depend)) include .depend endif # CC = gcc -# DEBUG_FLAGS = -DDEBUGALL # -COPTS = -O2 # -g -VER = 2.3.0 -LIBS = -lbsd -YACC = bison -y -LEX = flex +COPTS = -O2 -pipe -Wall -g +LIBS = + +ifneq ($(wildcard /usr/lib/libcrypt.*),) +LIBS += -lcrypt +endif -# The INCLUDE_DIRS must include the standard headers before the local -# ones. If you just had -I.. then the order would be reversed. So, use -# the default location for include files first before the .. location. -#INCLUDE_DIRS= -I/usr/include -I.. -INCLUDE_DIRS= +# 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 +# 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 -COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -D__BSD_SOURCE +# 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 -CFLAGS= $(COPTS) $(DEBUG_FLAGS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) +# 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 -ifdef USE_MS_DNS -CFLAGS += -DUSE_MS_DNS=1 -endif +# 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 + +HAS_SHADOW=y +#USE_PAM=y +#HAVE_INET6=y + +PLUGIN=y + +#CBCP=y -ifdef IPX_CHANGE -CFLAGS += -DIPX_CHANGE=1 -PPPDOBJS += ipxcp.o +MAXOCTETS=y + +INCLUDE_DIRS= -I../include + +COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP + +CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS) + +ifdef CHAPMS +CFLAGS += -DCHAPMS=1 +ifndef USE_CRYPT +LIBS := -ldes $(LIBS) +else +CFLAGS += -DUSE_CRYPT=1 +ifneq ($(wildcard /usr/include/crypt.h),) +CFLAGS += -DHAVE_CRYPT_H=1 +endif +endif +PPPDOBJS += md4.o chap_ms.o +ifdef MSLANMAN +CFLAGS += -DMSLANMAN=1 +endif +ifdef MPPE +CFLAGS += -DMPPE=1 +endif endif ifdef HAS_SHADOW CFLAGS += -DHAS_SHADOW -LIBS += -lshadow +#LIBS := -lshadow $(LIBS) endif +# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/. ifdef USE_PAM CFLAGS += -DUSE_PAM -LIBS += -lpam -ldl +LIBS := -lpam -ldl $(LIBS) 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 + PPPDOBJS += tdb.o +endif + +# Lock library binary for Linux is included in 'linux' subdirectory. +ifdef LOCKLIB +LIBS := -llock $(LIBS) +CFLAGS += -DLOCKLIB=1 +endif + +ifdef PLUGIN +CFLAGS += -DPLUGIN +LDFLAGS += -Wl,-E +LIBS += -ldl +endif + +ifdef FILTER +LIBS += -lpcap +CFLAGS += -DPPP_FILTER -I/usr/include/pcap +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 + PPPDOBJS += cbcp.o + CFLAGS += -DCBCP_SUPPORT +endif + +ifdef MAXOCTETS + CFLAGS += -DMAXOCTETS +endif + +INSTALL= install -o root + install: pppd mkdir -p $(BINDIR) $(MANDIR) - install -s -c -m 4555 -o root pppd $(BINDIR)/pppd - install -c -m 555 -o root pppd.8 $(MANDIR)/man8 + $(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)/man8 pppd: $(PPPDOBJS) - $(CC) $(CFLAGS) -o pppd $(PPPDOBJS) $(LIBS) # -Wl,-M >pppd.map + $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS) + +install-devel: + mkdir -p $(INCDIR)/pppd + $(INSTALL) -c -m 644 $(HEADERS) $(INCDIR)/pppd clean: rm -f $(PPPDOBJS) pppd *~ #* core