chiark / gitweb /
Ripped out a lot of crap. Now it compiles and passes the test vectors.
[chiark-tcl.git] / base / troglodyte-Makefile
index 765d5e45997366f09822f31b3f8e60aa728d88ba..0737bbba5cd6ee537e005f38a85169717def7594 100644 (file)
@@ -1,19 +1,59 @@
-OBJS=          hbytes.o \
-               enum.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=          hbytes.h
+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
 
-CFLAGS=        -g -Wall -O
+CC_CRYPTO=     $(CC) $(CFLAGS) $(CPPFLAGS) -O3
+CFLAGS=                -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Werror \
+               $(OPTIMISE)
+OPTIMISE=      -O2
 
-all:           $(TARGETS)
+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) $(TARGETS) *~ ./#*#