diff options
author | midipix <writeonce@midipix.org> | 2016-10-31 17:14:32 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-10-31 18:58:23 -0400 |
commit | f98ae1ccab437098f844ced551e07102a9f67073 (patch) | |
tree | aa7e81c67a210560c548ef36f127e7e522adcf8e /project/codegen.mk | |
parent | 8be3778f436d9e60d9e33bc7bbd07a1453ecd1f6 (diff) | |
download | bfirm-f98ae1ccab437098f844ced551e07102a9f67073.tar.bz2 bfirm-f98ae1ccab437098f844ced551e07102a9f67073.tar.xz |
build system: code generation: added the gen-ir build target.
Diffstat (limited to 'project/codegen.mk')
-rw-r--r-- | project/codegen.mk | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/project/codegen.mk b/project/codegen.mk new file mode 100644 index 0000000..fe1b610 --- /dev/null +++ b/project/codegen.mk @@ -0,0 +1,46 @@ +clean: clean-gen + +clean-gen: + rm -f gen.tag + rm -f $(GEN_IR_SRCS) + rm -f $(GEN_IR_HEADERS) + +GEN_ALL = $(GEN_IR_SRCS) \ + $(GEN_IR_HEADERS) \ + + +# gen-ir +GEN_IR_TOOL = $(SOURCE_DIR)/scripts/gen_ir.py +GEN_IR_SPEC = $(SOURCE_DIR)/scripts/ir_spec.py + + +build/gen/ir/ir/%.c: $(SOURCE_DIR)/scripts/templates/%.c \ + $(GEN_IR_TOOL) $(GEN_IR_SPEC) tree.tag + $(GEN_IR_TOOL) $(GEN_IR_SPEC) $< > $@ + + +build/gen/ir/ir/%.h: $(SOURCE_DIR)/scripts/templates/%.h \ + $(GEN_IR_TOOL) $(GEN_IR_SPEC) tree.tag + $(GEN_IR_TOOL) $(GEN_IR_SPEC) $< > $@ + + +build/gen/include/libfirm/nodes.h: $(SOURCE_DIR)/scripts/templates/nodes.h \ + $(GEN_IR_TOOL) $(GEN_IR_SPEC) tree.tag + $(GEN_IR_TOOL) $(GEN_IR_SPEC) $< > $@ + + + +# gen-all +gen-ir: $(GEN_IR_SRCS) $(GEN_IR_HEADERS) + +gen-all: gen-ir + +gen.tag: $(GEN_ALL) + touch gen.tag + +gen: gen.tag + + +.PHONY: clean-gen \ + gen gen-all \ + gen-ir |