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 \
parse.o
HDRS= hbytes.h \
+ serpent.h \
+ md5.h \
+ sha1.h \
$(AUTO_HDRS)
AUTO_HDRS= tables.h
AUTO_SRCS= tables.c
AUTOS= $(AUTO_HDRS) $(AUTO_SRCS)
-TARGETS= hbytes.so
+TARGETS= hbytes.so autocode.tcl autococo.tcl
-CFLAGS= -g -Wall $(OPTIMISE)
+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)
+autoco%.tcl: deco%gen.tcl decobogen.tcl general.tcl ./hbytes.so \
+ protocol.deco
+ ./$< protocol.deco >$@.new && mv -f $@.new $@
+
%.c: %.tct tcmdifgen
./tcmdifgen -wc -o$@ $<
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
serpent.o: serpent.c serpent.h serpentsboxes.h
- $(CC) $(CFLAGS) $(CPPFLAGS) -O3 -o $@ -c $<
+ $(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) $(TARGETS) *~ ./#*#