1 MAKEFLAGS
:= --no-builtin-rules
3 OCAMLC_OPTIONS
:= -w A
-warn-error A
4 OCAMLC_BYTE
:= ocamlc.opt
$(OCAMLC_OPTIONS
)
7 straight_line_program_interpreter \
10 .PHONY
: build
clean demo_unbalanced
12 build
: $(EXECUTABLES
)
15 $(OCAMLC_BYTE
) -o
$@
$*.cmo
18 $(OCAMLC_BYTE
) -o
$@
-c
$<
23 tree
: tree.ml tree.cmo tree_sig.cmo tree_unbalanced_vanilla.cmo tree_balanced_red_black.cmo
24 $(OCAMLC_BYTE
) -o tree tree_sig.cmo tree_unbalanced_vanilla.cmo tree_balanced_red_black.cmo tree.cmo
26 tree.cmo
: tree.ml tree.cmi tree_sig.cmo tree_unbalanced_vanilla.cmo tree_balanced_red_black.cmo
29 tree_balanced_red_black.cmo
: tree_balanced_red_black.ml tree_balanced_red_black.cmi tree_sig.cmo
30 ocamlc.opt
-w A
-warn-error A-4
-c
$<
32 tree_sig.cmo tree_sig.cmi
: tree_sig.ml
36 rm -f
$(EXECUTABLES
) tree.dot
# There's also tree.png, but I'm keeping it.
39 .
/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
> tree.dot
42 neato
-T png tree.dot
> tree.png
44 demo_unbalanced
: tree.png