| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- LD := gcc
- CC := clang
- CFLAGS := -O3
- LDFLAGS := -nostartfiles
- BFFLAGS := -o
- BFILES := $(patsubst %.b,%,$(wildcard *.b))
- .PHONY: check clean
- .PRECIOUS: $(addsuffix .ll,$(BFILES)) $(addsuffix -opt.ll,$(BFILES)) \
- $(addsuffix -c.c,$(BFILES)) $(addsuffix -nayuki.c,$(BFILES))
- bf: bf.ml
- ocamlfind ocamlopt -linkpkg -package llvm -package str -o $@ -g $<
- rm -f $@.cmi $@.cmx $@.o
- %-nayuki: LDFLAGS=
- %: %.o
- $(LD) -o $@ $< $(LDFLAGS)
- %.o: %.c
- $(CC) $(CFLAGS) -o $@ -c $<
- %-nayuki.c: %.b
- python bfc.py $< $@
- %.o: %.ll
- llc -filetype obj -o $@ $<
- %.ll: %.bc
- llvm-dis -o $@ $<
- %-opt.ll: %.ll
- opt -O3 -S -o $@ $<
- %.ll: %.b bf
- ./bf $(BFFLAGS) < $< > $@
- %-c.c: %.b bf
- ./bf $(BFFLAGS) -c < $< > $@
- %.dump: %
- objdump -d -M intel $< > $@
- check: hello-opt
- ./$<
- clean:
- rm -f bf *.cmi *.cmx *.ll *.bc *.o *.c *-opt *-c *-nayuki $(BFILES) *.dump
|