# Makefile # Version 2.0 # $Id$ all: dat/sc_send.dat dat/sc_send_rob.dat dat/sc_send_rob_ver.dat dat/pre.dat \ dat/lxc0_lp0.dat dat/lxc0_lp1.dat dat/lxc0_lp2.dat \ dat/lxc1_lp0.dat dat/lxc1_lp1.dat dat/lxc1_lp2.dat dat/lxc1_lp3.dat \ dat/rstate.dat sim: dat/sc_send.dat #dat/conf_revision.dat : dat/rstate.dat : src/rstate.tcs tcc $^ > $@ dat/lxc%.dat : dat/sc_send_rob.dat tools/dat_expander dat_expander 0 0 dat/sc_send_rob.dat dat/lxc0_lp0.dat dat_expander 1 0 dat/sc_send_rob.dat dat/lxc0_lp1.dat dat_expander 2 0 dat/sc_send_rob.dat dat/lxc0_lp2.dat dat_expander 0 1 dat/sc_send_rob.dat dat/lxc1_lp0.dat dat_expander 1 1 dat/sc_send_rob.dat dat/lxc1_lp1.dat dat_expander 2 1 dat/sc_send_rob.dat dat/lxc1_lp2.dat dat_expander 3 1 dat/sc_send_rob.dat dat/lxc1_lp3.dat dat/sc_send.dat : dat/fitred.dat dat/fitred_ver.dat dat/full.dat dat/pre_sim.dat cat dat/full.dat dat/pre_sim.dat > $@ dat/sc_send_rob.dat : dat/reset.dat dat/fitred.dat dat/full.dat cat $^ > $@ # This is special dat file with verification codes. Very long. dat/sc_send_rob_ver.dat : dat/reset.dat dat/fitred.dat dat/fitred_ver.dat dat/full.dat cat $^ > $@ dat/pre_sim.dat : src/pre_sim.tcs src/scsn_ids.tcs src/defines.tcs src/parameters.tcs tcc $< > $@ dat/pre.dat : #src/pre.tcs src/scsn_ids.tcs src/defines.tcs src/parameters.tcs tcc src/pre.tcs > dat/pre.dat dat/reset.dat : src/reset.tcs tcc $< > $@ dat/full.dat : src/full.tcs src/scsn_ids.tcs src/defines.tcs src/parameters.tcs src/main.tcs \ src/1divN.tcs src/position.tcs src/TRAP_EB_init.tcs src/filter.tcs tcc $< > $@ dat/fitred.dat : dat/cpu0.code dat/cpu1.code dat/cpu2.code dat/cpu3.code codem -i0 dat/cpu0.code -i1 dat/cpu1.code \ -i2 dat/cpu2.code -i3 dat/cpu3.code -o $@ -3 -s127 dat/fitred_ver.dat : dat/cpu0.code dat/cpu1.code dat/cpu2.code dat/cpu3.code codem -i0 dat/cpu0.code -i1 dat/cpu1.code -i2 dat/cpu2.code \ -i3 dat/cpu3.code -r -o $@ -3 -s127 dat/cpu%.code dat/cpu%_labels.tcs: \ src/fitred.asm src/I2C.asm src/I2C2scsn.asm \ src/I2Clib.asm src/j2c.asm asm_mimd -i $< -od dat/cpu$*.code -ol dat/cpu$*.log -dcpu$* \ -oa dat/cpu$*_labels.tcs -oh dat/imem$*.hex -Ve @grep -i 'warning\|error' dat/cpu$*.log #dat/cpu0 : src/fitred.asm src/I2C.asm src/I2C2scsn.asm src/I2Clib.asm src/j2c.asm # asm_mimd -i $< -od $@ -ol $@.log -dcpu0 -oa $@_labels.tcs -oh dat/imem0.hex -Ve # @grep -i 'warning\|error' $@.log #dat/cpu1 : src/fitred.asm src/I2C.asm src/I2C2scsn.asm src/I2Clib.asm src/j2c.asm # asm_mimd -i $< -od $@ -ol $@.log -dcpu1 -oa $@_labels.tcs -oh dat/imem1.hex -Ve # @grep -i 'warning\|error' $@.log #dat/cpu2 : src/fitred.asm src/I2C.asm src/I2C2scsn.asm src/I2Clib.asm src/j2c.asm # asm_mimd -i $< -od $@ -ol $@.log -dcpu2 -oa $@_labels.tcs -oh dat/imem2.hex -Ve # @grep -i 'warning\|error' $@.log #dat/cpu3 : src/fitred.asm src/I2C.asm src/I2C2scsn.asm src/I2Clib.asm src/j2c.asm # asm_mimd -i $< -od $@ -ol $@.log -dcpu3 -oa $@_labels.tcs -oh dat/imem3.hex -Ve # @grep -i 'warning\|error' $@.log tools/dat_expander tools/wing_upload: make -C tools # ---------------------------------------------------- # Upload of configurations to wingDB # ---------------------------------------------------- TCC = tcc CONFIG_DIR=configurations CONFIGURATIONS = $(basename $(notdir $(wildcard $(CONFIG_DIR)/*.cfg))) VERSION ?= $(shell svnversion .) include .depend .depend: $(wildcard src/*.tcs) $(wildcard $(CONFIG_DIR)/*.cfg) Makefile @echo "Recreating .depend" @rm -f $@ @echo "# Dependencies of tcs files" >> $@ @for i in $(basename $(notdir $(wildcard src/*.tcs))); do \ echo -n dat/$$i.dat: >> $@; \ awk '/^include/ {printf " " $$2}' < src/$$i.tcs >> $@; \ echo >> $@; \ done; @echo "# Dependencies of configurations" >> $@ @for i in $(basename $(notdir $(wildcard $(CONFIG_DIR)/*.cfg))); do \ echo -n config-$$i: >> $@; \ awk '{printf " dat/%s.dat", $$1}' \ < $(CONFIG_DIR)/$$i.cfg >> $@; \ echo >> $@; \ done; .PHONY: upload #upload-config-% upload-script-% upload: $(patsubst $(CONFIG_DIR)/%.cfg,config-%,$(wildcard $(CONFIG_DIR)/*.cfg)) wing_upload -r $(VERSION) \ --scripts dat/*.dat \ --configs $(CONFIG_DIR)/*.cfg \ --tags $(CONFIG_DIR)/TAGS #upload-config-%: $(CONFIG_DIR)/%.cfg # echo Upload config: $* #upload-script-%: dat/%.dat # echo Upload script: $* .PRECIOUS: dat/%.dat dat/%.dat: src/%.tcs $(TCC) $< > $@ #.PRECIOUS: $(CONFIG_DIR)/%.dat #$(CONFIG_DIR)/%.dat: $(CONFIG_DIR)/%.cfg # rm -f $@ # @for i in `cat $<`; do \ # echo cat dat/$$i.dat '>>' $@ ; \ # cat dat/$$i.dat >> $@ ; \ # done; clean : rm -f *~ cd dat && make clean # cd src && make clean cd tools && make clean rm -f $(wildcard *~) sc_send.dat rm -f src/cpu? src/cpu?.log tools/% : cd tools && make .PRECIOUS: tools/dat_expander .PHONY : clean # EOF