diff --git a/Makefile b/Makefile index e255d7a..916426e 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ - - +GENERATED_SRC = src/aeb_fate_opcodes.erl src/aeb_fate_code.erl include/aeb_fate_opcodes.hrl src/aeb_fate_asm_scan.xrl src/aeb_fate_pp.erl +GENERATOR_DEPS = ebin/aeb_fate_generate_ops.beam src/aeb_fate_asm_scan.template REBAR ?= rebar3 all: local -local: src/aeb_fate_opcodes.erl src/aeb_fate_code.erl include/aeb_fate_opcodes.hrl src/aeb_fate_asm_scan.xrl src/aeb_fate_pp.erl +local: $(GENERATED_SRC) @$(REBAR) as local release console: local @@ -12,13 +12,8 @@ console: local clean: @$(REBAR) clean - rm -f src/aeb_fate_opcodes.erl - rm -f src/aeb_fate_code.erl - rm -f src/aeb_fate_asm_scan.xrl - rm -f src/aeb_fate_asm_scan.erl - rm -f src/aeb_fate_pp.erl - rm -f include/aeb_fate_opcodes.hrl - + rm -f $(GENERATED_SRC) + rm -f ebin/* dialyzer: local @$(REBAR) as local dialyzer @@ -32,12 +27,8 @@ eunit: local test: local @$(REBAR) as local eunit - -ebin/aeb_fate_generate_ops.beam: src/aeb_fate_generate_ops.erl ebin +ebin/%.beam: src/%.erl erlc -o $(dir $@) $< -src/aeb_fate_opcodes.erl src/aeb_fate_code.erl include/aeb_fate_opcodes.hrl src/aeb_fate_asm_scan.xrl src/aeb_fate_pp.erl: ebin/aeb_fate_generate_ops.beam src/aeb_fate_asm_scan.template +$(GENERATED_SRC): $(GENERATOR_DEPS) erl -pa ebin/ -noshell -s aeb_fate_generate_ops gen_and_halt src/ include/ - -ebin: - mkdir ebin diff --git a/ebin/.gitkeep b/ebin/.gitkeep new file mode 100644 index 0000000..e69de29