-CC = gcc
-CFLAGS = -g -O2 -I.. -I../../include -D_linux_=1 -fPIC
-LDFLAGS = -shared
-INSTALL = install -o root
-
-SUBDIRS = rp-pppoe radius
-PLUGINS = minconn.so passprompt.so passwordfd.so
+CROSS_COMPILE=@CROSS_COMPILE@
+CC=$(CROSS_COMPILE)@CC@
+COPTS=@CFLAGS@
+
+PREFIX = @DESTDIR@
+DESTDIR = $(INSTROOT)$(PREFIX)
+BINDIR = $(DESTDIR)/sbin
+MANDIR = $(DESTDIR)/share/man/man8
+LIBDIR = $(INSTROOT)@LIBDIR@
+INCDIR = $(INSTROOT)@INCDIR@
+VERSION = @VERSION@
+PLUGINDIR = $(LIBDIR)/pppd/$(VERSION)
+
+CFLAGS = $(COPTS) -I.. -I../../include -fPIC
+LDFLAGS_SHARED = -shared
+INSTALL = install
+
+# EAP-TLS
+CFLAGS += -DUSE_EAPTLS=1
+
+SUBDIRS := pppoe pppoatm pppol2tp
+# Uncomment the next line to include the radius authentication plugin
+SUBDIRS += radius
+PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so
+
+# This setting should match the one in ../Makefile.linux
+MPPE=y
+
+ifdef MPPE
+CFLAGS += -DMPPE=1
+endif
# include dependencies if present
ifeq (.depend,$(wildcard .depend))
endif
all: $(PLUGINS)
- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done
+ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all || exit $$?; done
%.so: %.c
- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^
-
-VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h)
-LIBDIR = $(DESTDIR)/usr/lib/pppd/$(VERSION)
+ $(CC) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) $(CFLAGS) $^
install: $(PLUGINS)
- $(INSTALL) -d $(LIBDIR)
- $(INSTALL) $? $(LIBDIR)
- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d INSTALL=$(INSTALL) \
- LIBDIR=$(LIBDIR) install; done
+ $(INSTALL) -d $(PLUGINDIR)
+ $(INSTALL) $? $(PLUGINDIR)
+ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d install || exit $$?; done
clean:
rm -f *.o *.so *.a
- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d clean; done
+ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d clean || exit $$?; done
depend:
$(CPP) -M $(CFLAGS) *.c >.depend
- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend; done
+ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend || exit $$?; done