summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2008-10-20 23:40:45 +0200
committerNicolas Schodet2008-10-20 23:40:45 +0200
commit7b6d93e0a1cbc9f629e8c817660496739e2dff39 (patch)
tree586cf256e8ed27b61d736e5ec8887a93661c12d1
parentae73e4efcd78f9596d1565dbb4eb1eb0bba61bec (diff)
* digital/io:
- automatic generation of dfagen parser.
-rw-r--r--digital/io/src/Makefile13
1 files changed, 10 insertions, 3 deletions
diff --git a/digital/io/src/Makefile b/digital/io/src/Makefile
index f668777f..548632d9 100644
--- a/digital/io/src/Makefile
+++ b/digital/io/src/Makefile
@@ -53,9 +53,16 @@ fsm.c: fsm.h
main.c: fsm.h
fsm.h: getsamples_fsm.h gutter_fsm.h move_fsm.h top_fsm.h
-DFAGEN = python $(BASE)/../../tools/dfagen/dfagen.py
+DFAGEN_DIR := $(BASE)/../../tools/dfagen
+DFAGEN_DEPS := $(DFAGEN_DIR)/dfagen.py
+DFAGEN := python $(DFAGEN_DIR)/dfagen.py
-%_fsm.h %_fsm.c %_cb.h %_cb_skel.c: %.fsm fsm.conf $(FSM_TEMPLATES)
+$(DFAGEN_DIR)/dfagen.py: $(DFAGEN_DIR)/dfagen/parser.py
+$(DFAGEN_DIR)/dfagen/parser.py: $(DFAGEN_DIR)/dfagen/parser.g
+ yapps $<
+
+%_fsm.h %_fsm.c %_cb.h %_cb_skel.c: %.fsm fsm.conf $(FSM_TEMPLATES) \
+ $(DFAGEN_DEPS)
$(DFAGEN) -o c -d $< -c fsm.conf -p $(<:%.fsm=%)
.PRECIOUS: getsamples_cb.c gutter_cb.c move_cb.c top_cb.c
@@ -94,5 +101,5 @@ png: getsamples.png gutter.png move.png top.png
%.png: %.dot
dot -Tpng -o $@ $<
-%.dot: %.fsm
+%.dot: %.fsm $(DFAGEN_DEPS)
$(DFAGEN) -o dot -d $< -p $(<:%.fsm=%)