-OBJS= forwarder.o \
- main.o \
- misc.o \
- intr-sigio.o \
- bget/bget.o
+OBJS= tables.o \
+ hbytes.o \
+ enum.o \
+ ulongs.o \
+ sockaddr.o \
+ dgram.o \
+ chop.o \
+ hook.o \
+ bcmode.o \
+ misc.o \
+ algtables.o \
+ serpent.o \
+ sha1.o \
+ md5.o \
+ crypto.o \
+ parse.o
-HDRS= misc.h \
- forwarder.h \
- intr.h
+HDRS= hbytes.h \
+ serpent.h \
+ md5.h \
+ sha1.h \
+ $(AUTO_HDRS)
-CFLAGS= -g -Wall
+AUTO_HDRS= tables.h
+AUTO_SRCS= tables.c
+AUTOS= $(AUTO_HDRS) $(AUTO_SRCS)
-fvpn: $(OBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
+TARGETS= hbytes.so
+
+CC_CRYPTO= $(CC) $(CFLAGS) $(CPPFLAGS) -O3
+CFLAGS= -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Werror \
+ $(OPTIMISE)
+OPTIMISE= -O2
+
+all: $(TARGETS) $(AUTOS)
+
+hbytes.so: $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -shared $(OBJS) $(LDLIBS)
+
+%.c: %.tct tcmdifgen
+ ./tcmdifgen -wc -o$@ $<
+
+%.h: %.tct tcmdifgen
+ ./tcmdifgen -wh -o$@ $<
%.o: %.c $(HDRS)
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
+serpent.o: serpent.c serpent.h serpentsboxes.h
+ $(CC_CRYPTO) -o $@ -c $<
+
+md5.o: md5.c md5.h
+ $(CC_CRYPTO) -o $@ -c $<
+
+sha1.o: sha1.c sha1.h
+ $(CC_CRYPTO) -o $@ -c $<
+
clean:
- rm -f $(OBJS) *~ ./#*#
+ rm -f $(OBJS) $(TARGETS) *~ ./#*#