MLIR DAG rewriter w/ SSA IR, dominance and CFG analysis passes
1OCAMLFLAGS = -g
2OCAMLC = ocamlc
3
4LIB_DIR = lib
5TEST_DIR = tests
6
7LIB_FILES = ir.ml cfg.ml dominance.ml nemo.ml parser.ml printer.ml
8TEST_FILES = test.ml
9MAIN_FILES = main.ml
10
11all: nemo test
12
13nemo: $(LIB_FILES:%.ml=$(LIB_DIR)/%.cmo) $(MAIN_FILES:%.ml=%.cmo)
14 $(OCAMLC) $(OCAMLFLAGS) -o $@ $^
15
16test: $(LIB_FILES:%.ml=$(LIB_DIR)/%.cmo) $(TEST_DIR)/test.cmo
17 $(OCAMLC) $(OCAMLFLAGS) -o $@ $^
18
19$(LIB_DIR)/%.cmo: $(LIB_DIR)/%.ml
20 cd $(LIB_DIR) && $(OCAMLC) $(OCAMLFLAGS) -c $(notdir $<)
21
22$(TEST_DIR)/%.cmo: $(TEST_DIR)/%.ml
23 cd $(TEST_DIR) && $(OCAMLC) $(OCAMLFLAGS) -c -I ../$(LIB_DIR) $(notdir $<)
24
25%.cmo: %.ml
26 $(OCAMLC) $(OCAMLFLAGS) -I $(LIB_DIR) -c $<
27
28clean:
29 rm -f nemo test
30 rm -f $(LIB_DIR)/*.cmo $(LIB_DIR)/*.cmi
31 rm -f $(TEST_DIR)/*.cmo $(TEST_DIR)/*.cmi
32 rm -f *.cmo *.cmi
33
34.PHONY: all clean