libdir = $(PREFIX)/usr/lib/l2tpns
CC = gcc
-CFLAGS=-Wall -g -O2
+CFLAGS=-Wall -g -O3 -funroll-loops -fomit-frame-pointer -finline-functions
LDFLAGS =
LIBS = -lm -ldl -lcli
INSTALL = /usr/bin/install -c
control.o \
util.o \
-PLUGINS=garden.so
+PLUGINS=garden.so autothrottle.so autosnoop.so
all: l2tpns cluster_master nsctl $(PLUGINS)
$(INSTALL) -D -o root -g root -m 0600 etc/l2tpns.cfg.default $(etcdir)/l2tpns.cfg
$(INSTALL) -D -o root -g root -m 0644 etc/ip_pool.default $(etcdir)/l2tpns.ip_pool
$(INSTALL) -D -o root -g root -m 0600 etc/users.default $(etcdir)/l2tpns.users
- for PLUGIN in $(PLUGINS); do
- $(INSTALL) -o root -g root -m 0755 $(PLUGIN) $(libdir)/$(PLUGIN)
+ for PLUGIN in $(PLUGINS); do \
+ $(INSTALL) -D -o root -g root -m 0755 $(PLUGIN) $(libdir)/$(PLUGIN); \
done
- if [ ! -e /dev/net/tun ]; then
- mkdir /dev/net
- mknod /dev/net/tun c 10 200
+ if [ ! -e /dev/net/tun ]; then \
+ mkdir /dev/net; \
+ mknod /dev/net/tun c 10 200; \
fi
%.so: %.c
$(CC) -fPIC -shared -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBPATH)
+%.o: %.c l2tpns.h
+ $(CC) -c -o $@ $< $(CFLAGS)