123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- #
- # pppd makefile for Linux
- # $Id: Makefile.linux,v 1.70 2007/06/19 02:08:34 carlsonj Exp $
- #
- # 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
- 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 session.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
- # Use libutil
- USE_LIBUTIL=y
- MAXOCTETS=y
- INCLUDE_DIRS= -I../include
- COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP
- 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
- 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
- LIBS += -lcrypt
- endif
- ifdef USE_LIBUTIL
- CFLAGS += -DHAVE_LOGWTMP=1
- LIBS += -lutil
- 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
|