diff options
Diffstat (limited to 'ocaml/Makefile')
| -rw-r--r-- | ocaml/Makefile | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ocaml/Makefile b/ocaml/Makefile index a526ecf..c905b2e 100644 --- a/ocaml/Makefile +++ b/ocaml/Makefile @@ -2,18 +2,20 @@ STEPS = step0_repl.ml step1_read_print.ml step2_eval.ml MODULES = types.ml reader.ml printer.ml LIBS = str.cma -BINS = $(STEPS:%.ml=%) +STEP_BINS = $(STEPS:%.ml=%) +LAST_STEP_BIN = $(word $(words $(STEP_BINS)),$(STEP_BINS)) +MODULE_BINS = $(MODULES:%.ml=%.cmo) -all: $(BINS) mal +all: $(STEP_BINS) mal -mal: $(word $(words $(BINS)),$(BINS)) +mal: $(LAST_STEP_BIN) cp $< $@ repl: $(MODULES) - rlwrap ocaml $(LIBS) $(MODULES:%.ml=%.cmo) + rlwrap ocaml $(LIBS) $(MODULE_BINS) -$(BINS): %: %.ml $(MODULES) +$(STEP_BINS): %: %.ml $(MODULES) ocamlc $(LIBS) $(MODULES) $< -o $@ clean: - rm -f $(BINS) mal *.cmi *.cmo + rm -f $(STEP_BINS) mal *.cmi *.cmo |
