]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/plugins/Makefile.linux
Honor LDFLAGS
[ppp.git] / pppd / plugins / Makefile.linux
index 1c99dc00cfd0f549f258aa033d42a5003a61a1c1..af5384381cb07c27fa4043824f80b6ab69807fa9 100644 (file)
@@ -1,11 +1,48 @@
-CC     = gcc
-CFLAGS = -g -O2 -I.. -I../../include
-LDFLAGS        = -shared
+#CC    = gcc
+COPTS  = -O2 -g
+CFLAGS = $(COPTS) -I.. -I../../include -fPIC
+LDFLAGS_SHARED = -shared
+INSTALL        = install
 
-all:   minconn.so passprompt.so
+DESTDIR = $(INSTROOT)@DESTDIR@
+BINDIR = $(DESTDIR)/sbin
+MANDIR = $(DESTDIR)/share/man/man8
+LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
 
-minconn.so: minconn.c
-       $(CC) -o $@ $(LDFLAGS) $(CFLAGS) minconn.c
+SUBDIRS := rp-pppoe pppoatm pppol2tp
+# Uncomment the next line to include the radius authentication plugin
+SUBDIRS += radius
+PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so
 
-passprompt.so: passprompt.c
-       $(CC) -o $@ $(LDFLAGS) $(CFLAGS) passprompt.c
+# 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))
+include .depend
+endif
+
+all:   $(PLUGINS)
+       for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all || exit $$?; done
+
+%.so: %.c
+       $(CC) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) $(CFLAGS) $^
+
+VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h)
+
+install: $(PLUGINS)
+       $(INSTALL) -d $(LIBDIR)
+       $(INSTALL) $? $(LIBDIR)
+       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 || exit $$?; done
+
+depend:
+       $(CPP) -M $(CFLAGS) *.c >.depend
+       for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d depend || exit $$?; done