| 1 | MAKEFLAGS := --no-builtin-rules |
| 2 | |
| 3 | OCAMLC_OPTIONS := -w A -warn-error A |
| 4 | OCAMLC_BYTE := ocamlc.opt $(OCAMLC_OPTIONS) |
| 5 | |
| 6 | EXECUTABLES := \ |
| 7 | straight_line_program_interpreter \ |
| 8 | tree |
| 9 | |
| 10 | .PHONY: build clean demo_unbalanced |
| 11 | |
| 12 | build : $(EXECUTABLES) |
| 13 | |
| 14 | %: %.ml %.cmo %.cmi |
| 15 | $(OCAMLC_BYTE) -o $@ $*.cmo |
| 16 | |
| 17 | %.cmi: %.mli |
| 18 | $(OCAMLC_BYTE) -o $@ -c $< |
| 19 | |
| 20 | %.cmo: %.ml %.cmi |
| 21 | $(OCAMLC_BYTE) -c $< |
| 22 | |
| 23 | clean: |
| 24 | rm -f $(EXECUTABLES) |
| 25 | |
| 26 | tree.png: tree |
| 27 | ./tree a b c d e f g h i j k l m n o p q r s t u v foo bar kgkvbkvg lkhjlk gfjyfjf fdtrdchfhtr trhfgfch hjlilijhl iygkyugkgkhy | neato -T png > tree.png |
| 28 | |
| 29 | demo_unbalanced: tree.png |
| 30 | sxiv ./tree.png |