diff options
author | Jan Huwald <jh@sotun.de> | 2012-05-07 20:01:51 (GMT) |
---|---|---|
committer | Jan Huwald <jh@sotun.de> | 2012-05-07 20:01:51 (GMT) |
commit | 420d2ef464d4a741028e132e662d5626806a41f5 (patch) | |
tree | 1aca6eb512e4ed0fb5f3c10c528cb998b6ffd695 /make/simulate.make |
Diffstat (limited to 'make/simulate.make')
-rw-r--r-- | make/simulate.make | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/make/simulate.make b/make/simulate.make new file mode 100644 index 0000000..001ce46 --- /dev/null +++ b/make/simulate.make @@ -0,0 +1,35 @@ +.SECONDEXPANSION: +sim/%/.topology: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) +sim/%/.topology: SIM_SEED= $(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f1) +%/.topology: bin/$$(SIM_MODEL)-convert_topology + @echo "Generating topology for model $(SIM_MODEL) with random seed $(SIM_SEED)" + @mkdir -p "$(shell dirname $@)" + @[ ! -f "$@" -a ! -f "$@.prelim" ] || toolbin/warn_data + @date > "$@.prelim" + @R=`pwd`; cd "$(shell dirname $@)" && $$R/octave/random_topo.octave $(SIM_SEED) 2>plain_topology | grep --line-buffered '^generation' + @R=`pwd`; cd "$(shell dirname $@)" && $$R/bin/$(SIM_MODEL)-convert_topology <plain_topology + @date > "$@" + @rm "$@.prelim" + + +.SECONDEXPANSION: +sim/%/.bootstrap: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) +sim/%/.bootstrap: SIM_SEED= $(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f1) +%/.bootstrap: bin/$$(SIM_MODEL)-bootstrap %/.topology + @echo "Bootstrapping model $(SIM_MODEL) with random seed $(SIM_SEED)" + @mkdir -p "$(shell dirname $@)" + @[ ! -f "$@" -a ! -f "$@.prelim" ] || toolbin/warn_data + @date > "$@.prelim" + @R=`pwd`; cd "$(shell dirname $@)" && $$R/bin/$(SIM_MODEL)-bootstrap $(SIM_SEED) + @date > "$@" + @rm "$@.prelim" + +# sim/$model/$seed/.$time.simulate +.SECONDEXPANSION: +sim/%.simulate: SIM_MODEL=$(shell echo -n "$(@D)/" | tac -s/ | cut -s -d/ -f2) +sim/%.simulate: SIM_UNTIL=$(shell basename "$(@F)" | sed 's/.\(.*\).simulate/\1/') +sim/%.simulate: bin/$$(SIM_MODEL)-simulate $$(shell dirname sim/%)/.bootstrap + @echo "=== Simulating model $(SIM_MODEL) until $(SIM_UNTIL) ===" + @[ -n "$(SIM_MODEL)" -a -n "$(SIM_SEED)" -a -n "$(SIM_UNTIL)" ] || (echo "missing sim parameter"; false) + @R=`pwd`; cd "$(shell dirname $@)" && flock -o .lock $$R/bin/$(SIM_MODEL)-simulate $(SIM_UNTIL) 2>.$(SIM_UNTIL).simulate.log + @date > "$@" |