chiark / gitweb /
Merge and end branch-hostside-wip-2008-01-25 PROPERLY; cvs up -j branch-hostside...
[trains.git] / hostside / Makefile
index 3de430e3ba8aafefe0e8e90df8285d568a67f72d..95873fe9a245c037420674a1dce248745c8c912a 100644 (file)
@@ -1,26 +1,83 @@
 #
 
-TARGETS=       hostside safety
-CFLAGS=                -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes \
-               -Wpointer-arith -Wwrite-strings -g $(OPTIMISE)
-OPTIMISE=      -O2
+TRAINS=                santafe shinkansen
 
+AUTOINCS=      auproto-pic.h layoutinfo.h selectors.h retransmit-table.h \
+               errorcodes.h stastate.h record-y.h record-l.h
+TARGETS=       hostside-old gui-plan-bot realtime \
+               $(addsuffix .speeds.ps, $(TRAINS))
+
+include ../common.make
+include ../cprogs.make
+
+default:       all
+recurse:       all
+for-pic:
 all:           $(TARGETS)
 
-hostside:      serialio.o nmra.o main.o encode.o
-               $(CC) $(CFLAGS) -o $@ $+
+hostside-old:  serialio.o nmra.o main.o encode.o utils.o
+               $(LINK)
+
+BESSAR=bessar:things/trains-bessar/hostside/.
+
+SPECIAL_CFLAGS_record-l= $(FLEXCFLAGS)
+
+on-bessar:     $(TARGETS)
+               RSYNC_RSH=fsh rsync $(TARGETS) $(BESSAR)
+
+%.on-bessar:   %
+               RSYNC_RSH=fsh rsync $^ $(BESSAR)
+
+realtime:      realtime.o startup.o cdumgr.o safety.o trackloc.o       \
+                speed.o actual.o retransmit.o persist.o resolve.o      \
+                cmdinput.o commands.o obc.o eventhelp.o                \
+                record.o record-l.o record-y.o                         \
+                utils.o serialio.o parseutils.o auproto-pic.o          \
+                nmra.o encode.o movpos.o                               \
+                ../layout/ours.layout-data.o                           \
+                __oop-read-copy.o -loop
+               $(LINK)
 
-ours.safety.o: ../layout/ours.safety.c safety.h
-               $(CC) $(CFLAGS) -I. -o $@ -c $<
+proto-expanded:        ../cebpic/README.protocol
+               expand <$< $o
 
-layoutinfo.h:  ../layout/ours.safety.c Makefile
-               sed -e '/^#include/,$d' $< $o
+gui-plan-bot: gui-plan-%: gui-plan.o utils.o parseutils.o \
+                ../layout/ours.dgram-%.plandata.o \
+                __oop-read-copy.o -loop
+               $(LINK) -L/usr/X11R6/lib -lXpm -lX11
 
-encode.o:      nmra-packets.h
-main.o:                nmra-packets.h
-%.c:           hostside.h
+auproto-pic.c auproto-pic.h: auproto-%: \
+                       parse-proto-spec proto-expanded skelproto-%
+               ./$+ $o
 
-safety.o:      safety.h layoutinfo.h
+record-y.h: record-y.c
+record-l.h: record-l.c
+
+layoutinfo.h:  ../layout/ours.layout-data.c Makefile
+               sed -e '/^#include/,$$d' $< $o
+
+selectors.h retransmit-table.h errorcodes.h stastate.h: %: %.gen
+               (echo "/*autogenerated*/" && ./$<) $o
+
+safety:                safety.o utils.o trackloc.o ../layout/ours.layout-data.o
+               $(LINK)
+
+%.speeds.ps %.speeds.record: ./analyse-speeds
+               ./$^ $*
+
+%:             %.gen
+               ./$^ $o
+
+hostside:      hostside.o serialio.o client.o obc.o commands.o utils.o \
+                nmra.o encode.o retransmit.o output.o auproto-pic.o \
+                parseutils.o \
+                record-l.o record-y.o record.o \
+                -loop
+               $(LINK)
 
 clean:
-               rm -f *.o $(TARGETS)
+               rm -f *.o *.d $(TARGETS) selectors.h
+               rm -f auproto-pic.h *~ core proto-expanded
+               rm -f record-[yl].[ch]
+
+include $(wildcard *.d)