|
|
@@ -7,7 +7,8 @@ BFILES := $(patsubst %.b,%,$(wildcard *.b))
|
|
|
|
|
|
.PHONY: check clean
|
|
|
.PRECIOUS: $(addsuffix .ll,$(BFILES)) $(addsuffix -opt.ll,$(BFILES)) \
|
|
|
- $(addsuffix -c.c,$(BFILES)) $(addsuffix -nayuki.c,$(BFILES))
|
|
|
+ $(addsuffix -plain.ll,$(BFILES)) $(addsuffix -c.c,$(BFILES)) \
|
|
|
+ $(addsuffix -nayuki.c,$(BFILES))
|
|
|
|
|
|
bf: bf.ml
|
|
|
ocamlfind ocamlopt -linkpkg -package llvm -package str -o $@ -g $<
|
|
|
@@ -29,14 +30,17 @@ bf: bf.ml
|
|
|
%.ll: %.bc
|
|
|
llvm-dis -o $@ $<
|
|
|
|
|
|
+%-plain.ll: %.b bf
|
|
|
+ ./bf < $< | opt -O3 -S -o $@
|
|
|
+
|
|
|
%-opt.ll: %.ll
|
|
|
opt -O3 -S -o $@ $<
|
|
|
|
|
|
%.ll: %.b bf
|
|
|
- ./bf $(BFFLAGS) < $< > $@
|
|
|
+ ./bf -o < $< > $@
|
|
|
|
|
|
%-c.c: %.b bf
|
|
|
- ./bf $(BFFLAGS) -c < $< > $@
|
|
|
+ ./bf -o -c < $< > $@
|
|
|
|
|
|
%.dump: %
|
|
|
objdump -d -M intel $< > $@
|
|
|
@@ -45,4 +49,5 @@ check: hello-opt
|
|
|
./$<
|
|
|
|
|
|
clean:
|
|
|
- rm -f bf *.cmi *.cmx *.ll *.bc *.o *.c *-opt *-c *-nayuki $(BFILES) *.dump
|
|
|
+ rm -f bf *.cmi *.cmx *.ll *.bc *.o *.c *-plain *-opt *-c *-nayuki \
|
|
|
+ $(BFILES) *.dump
|