chiark / gitweb /
Merge and end branch-hostside-wip-2008-01-25 PROPERLY; cvs up -j branch-hostside...
[trains.git] / hostside / Makefile
index 117bd491d59bebfd170b18647795303ec9f2bb61..95873fe9a245c037420674a1dce248745c8c912a 100644 (file)
@@ -1,31 +1,83 @@
 #
 
+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
 
-TARGETS=       hostside hostside-old
-
+default:       all
+recurse:       all
+for-pic:
 all:           $(TARGETS)
 
-hostside-old:  serialio.o nmra.o main.o encode.o
+hostside-old:  serialio.o nmra.o main.o encode.o utils.o
                $(LINK)
 
-hostside:      hostside.o serialio.o -loop
+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)
 
+proto-expanded:        ../cebpic/README.protocol
+               expand <$< $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
+
+auproto-pic.c auproto-pic.h: auproto-%: \
+                       parse-proto-spec proto-expanded skelproto-%
+               ./$+ $o
+
+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
 
-%.c:           layoutinfo.h
+selectors.h retransmit-table.h errorcodes.h stastate.h: %: %.gen
+               (echo "/*autogenerated*/" && ./$<) $o
 
-safety:                safety.o utils.o ../layout/ours.layout-data.o
+safety:                safety.o utils.o trackloc.o ../layout/ours.layout-data.o
                $(LINK)
 
-encode.o:      nmra-packets.h
-main.o:                nmra-packets.h
-%.c:           hostside.h
+%.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 *.d $(TARGETS)
+               rm -f *.o *.d $(TARGETS) selectors.h
+               rm -f auproto-pic.h *~ core proto-expanded
+               rm -f record-[yl].[ch]
 
 include $(wildcard *.d)