mirror of
https://github.com/paulusmack/ppp.git
synced 2024-11-27 21:43:44 +08:00
225 lines
4.9 KiB
Makefile
225 lines
4.9 KiB
Makefile
#
|
|
# pppd makefile for Linux
|
|
# $Id: Makefile.linux,v 1.66 2004/11/13 12:02:22 paulus Exp $
|
|
#
|
|
|
|
# Default installation locations
|
|
DESTDIR = @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
|
|
|
|
HEADERS = ccp.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
|
|
|
|
#
|
|
# include dependencies if present
|
|
ifeq (.depend,$(wildcard .depend))
|
|
include .depend
|
|
endif
|
|
|
|
# CC = gcc
|
|
#
|
|
COPTS = -O2 -pipe -Wall -g
|
|
LIBS =
|
|
|
|
# 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
|
|
# 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
|
|
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
TARGETS += srp-entry
|
|
EXTRAINSTALL = $(INSTALL) -s -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
|
|
|
|
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.*),)
|
|
LIBS += -lcrypt
|
|
endif
|
|
|
|
ifdef NEEDDES
|
|
ifndef USE_CRYPT
|
|
LIBS += -ldes $(LIBS)
|
|
else
|
|
CFLAGS += -DUSE_CRYPT=1
|
|
endif
|
|
PPPDOBJS += pppcrypt.o
|
|
HEADERS += pppcrypt.h
|
|
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 PLUGIN
|
|
CFLAGS += -DPLUGIN
|
|
LDFLAGS += -Wl,-E
|
|
LIBS += -ldl
|
|
endif
|
|
|
|
ifdef FILTER
|
|
ifneq ($(wildcard /usr/include/pcap-bpf.h),)
|
|
LIBS += -lpcap
|
|
CFLAGS += -DPPP_FILTER
|
|
endif
|
|
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) -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)
|
|
|
|
pppd: $(PPPDOBJS)
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -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
|