better cluster master collision resolution
[l2tpns.git] / Makefile
index 3c203c1..940a505 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -28,31 +28,27 @@ INCLUDES = -I.
 CPPFLAGS = $(INCLUDES) $(DEFINES)
 CFLAGS = -Wall $(OPTIM)
 LDFLAGS =
 CPPFLAGS = $(INCLUDES) $(DEFINES)
 CFLAGS = -Wall $(OPTIM)
 LDFLAGS =
-LDLIBS = -lm
+LDLIBS =
 INSTALL = install -c -D -o root -g root
 
 INSTALL = install -c -D -o root -g root
 
-OBJS = arp.o \
-       bgp.o \
-       cli.o \
-       cluster.o \
-       constants.o \
-       control.o \
-       icmp.o \
-       l2tpns.o \
-       ll.o \
-       md5.o \
-       ppp.o \
-       radius.o \
-       tbf.o \
-       util.o
-
-PLUGINS = garden.so autothrottle.so autosnoop.so stripdomain.so setrxspeed.so
-TARGETS = l2tpns nsctl generateload bounce $(PLUGINS)
-
-all: $(TARGETS)
+l2tpns.LIBS = -lm -lcli -ldl
+
+OBJS = arp.o bgp.o cli.o cluster.o constants.o control.o icmp.o \
+    l2tpns.o ll.o md5.o ppp.o radius.o tbf.o util.o
+
+PROGRAMS = l2tpns nsctl
+PLUGINS = garden.so throttlectl.so autothrottle.so snoopctl.so \
+    autosnoop.so stripdomain.so setrxspeed.so
+
+TESTS = generateload bounce 
+
+all: programs plugins tests
+programs: $(PROGRAMS)
+plugins: $(PLUGINS)
+tests: $(TESTS)
 
 clean:
 
 clean:
-       rm -f *.o test/*.o $(TARGETS) Makefile.tmp Makefile.bak
+       rm -f *.o test/*.o $(PROGRAMS) $(PLUGINS) $(TESTS) Makefile.tmp Makefile.bak
 
 depend:
        (sed -n 'p; /^## Dependencies: (autogenerated) ##/q' Makefile && \
 
 depend:
        (sed -n 'p; /^## Dependencies: (autogenerated) ##/q' Makefile && \
@@ -62,16 +58,16 @@ depend:
        mv Makefile.tmp Makefile
 
 l2tpns:        $(OBJS)
        mv Makefile.tmp Makefile
 
 l2tpns:        $(OBJS)
-       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) -lcli -ldl
+       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $($@.LIBS)
 
 nsctl: nsctl.o control.o
 
 nsctl: nsctl.o control.o
-       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $($@.LIBS)
 
 generateload:  test/generateload.o
 
 generateload:  test/generateload.o
-       $(LD) $(LDFLAGS) -o $@ $^ # -lpthread
+       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $($@.LIBS)
 
 bounce:        test/bounce.o
 
 bounce:        test/bounce.o
-       $(LD) $(LDFLAGS) -o $@ $^
+       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) $($@.LIBS)
 
 %.o: %.c
        $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
 
 %.o: %.c
        $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
@@ -100,6 +96,7 @@ install: all
                echo '***' Installing default config files in $(DESTDIR)$(etcdir) - remember to adjust them; \
                suffix=; \
        fi; \
                echo '***' Installing default config files in $(DESTDIR)$(etcdir) - remember to adjust them; \
                suffix=; \
        fi; \
+
        $(INSTALL) -m 0600 etc/startup-config.default $(DESTDIR)$(etcdir)/startup-config$$suffix; \
        $(INSTALL) -m 0644 etc/ip_pool.default $(DESTDIR)$(etcdir)/ip_pool$$suffix; \
        $(INSTALL) -m 0600 etc/users.default $(DESTDIR)$(etcdir)/users$$suffix
        $(INSTALL) -m 0600 etc/startup-config.default $(DESTDIR)$(etcdir)/startup-config$$suffix; \
        $(INSTALL) -m 0644 etc/ip_pool.default $(DESTDIR)$(etcdir)/ip_pool$$suffix; \
        $(INSTALL) -m 0600 etc/users.default $(DESTDIR)$(etcdir)/users$$suffix
@@ -132,7 +129,9 @@ radius.o: radius.c md5.h constants.h l2tpns.h plugin.h util.h
 tbf.o: tbf.c l2tpns.h util.h tbf.h
 util.o: util.c l2tpns.h bgp.h
 garden.so: garden.c l2tpns.h plugin.h control.h
 tbf.o: tbf.c l2tpns.h util.h tbf.h
 util.o: util.c l2tpns.h bgp.h
 garden.so: garden.c l2tpns.h plugin.h control.h
+throttlectl.so: throttlectl.c l2tpns.h plugin.h control.h
 autothrottle.so: autothrottle.c l2tpns.h plugin.h
 autothrottle.so: autothrottle.c l2tpns.h plugin.h
+snoopctl.so: snoopctl.c l2tpns.h plugin.h control.h
 autosnoop.so: autosnoop.c l2tpns.h plugin.h
 stripdomain.so: stripdomain.c l2tpns.h plugin.h
 setrxspeed.so: setrxspeed.c l2tpns.h plugin.h
 autosnoop.so: autosnoop.c l2tpns.h plugin.h
 stripdomain.so: stripdomain.c l2tpns.h plugin.h
 setrxspeed.so: setrxspeed.c l2tpns.h plugin.h