chiark / gitweb /
scriptinv
[chiark-tcl.git] / base / troglodyte-Makefile
index 2ae36d57338b4e5101ad7d1ed9799a38845a0d5c..24f1e1360b14c1386149508b955267f34f2aa78b 100644 (file)
@@ -1,20 +1,57 @@
-OBJS=  forwarder.o \
-       main.o \
-       misc.o \
-       intr-sigio.o \
-       bget/bget.o
+OBJS=          tables.o \
+               hbytes.o \
+               enum.o \
+               idtable.o \
+               scriptinv.o \
+               ulongs.o \
+               sockaddr.o \
+               dgram.o \
+               chop.o \
+               hook.o \
+               bcmode.o \
+               misc.o \
+               algtables.o \
+               crypto.o \
+               parse.o
 
-HDRS=  misc.h \
-       forwarder.h \
-       intr.h
+HDRS=          hbytes.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 autocode.tcl autococo.tcl
+
+CC_CRYPTO=     $(CC) $(CFLAGS) $(CPPFLAGS) -O3
+CPPFLAGS=      -I../plocal/include $(TCL_MEM_DEBUG) $(CMDLINE_CPPFLAGS)
+LDFLAGS=       -L../plocal/lib
+LDLIBS=                -lnettle
+CFLAGS=                -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Werror \
+               $(OPTIMISE)
+OPTIMISE=      -O2
+TCL_MEM_DEBUG= -DTCL_MEM_DEBUG
+
+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$@ $<
+
+%.h:           %.tct tcmdifgen
+               ./tcmdifgen -wh -o$@ $<
 
 %.o:           %.c $(HDRS)
                $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
 
+#alg.o:                alg.c alg.h alg2.h
+#              $(CC_CRYPTO) -o $@ -c $<
+
 clean:
-               rm -f $(OBJS) *~ ./#*#
+               rm -f $(OBJS) $(TARGETS) *~ ./#*#