| 1 | ## Copyright (C) 2010 Matthew Fluet. |
| 2 | # |
| 3 | # MLton is released under a BSD-style license. |
| 4 | # See the file MLton-LICENSE for details. |
| 5 | ## |
| 6 | |
| 7 | # |
| 8 | # SML/NJ tools and heap suffix |
| 9 | # |
| 10 | ML_BUILD := ml-build |
| 11 | ML_BUILD_FLAGS := |
| 12 | ML_HEAP_SUFFIX := $(shell echo 'TextIO.output (TextIO.stdErr, SMLofNJ.SysInfo.getHeapSuffix ());' | sml 2>&1 1> /dev/null) |
| 13 | |
| 14 | # |
| 15 | # cm2mlb root .cm |
| 16 | # |
| 17 | CM2MLB_CM := cm2mlb.cm |
| 18 | # |
| 19 | # cm2mlb heap image |
| 20 | # |
| 21 | CM2MLB_HEAP := cm2mlb.$(ML_HEAP_SUFFIX) |
| 22 | |
| 23 | all: $(CM2MLB_HEAP) |
| 24 | |
| 25 | $(CM2MLB_HEAP): cm2mlb.cm cm2mlb.sml gen-mlb.sml cm2mlb-map |
| 26 | rm -f $(CM2MLB_HEAP) |
| 27 | # $(ML_BUILD) $(ML_BUILD_FLAGS) $(CM2MLB_CM) CM2MLB.main $(CM2MLB_HEAP) |
| 28 | ( \ |
| 29 | echo 'if (CM.make "cm2mlb.cm") handle _ => false'; \ |
| 30 | echo ' then ()'; \ |
| 31 | echo ' else OS.Process.exit OS.Process.failure;'; \ |
| 32 | echo 'CM2MLB.export();' \ |
| 33 | ) | sml |
| 34 | |
| 35 | .PHONY: clean |
| 36 | clean: |
| 37 | ../../bin/clean |
| 38 | |
| 39 | SMLDIR := $(dir $(shell which sml)) |
| 40 | .PHONY: install |
| 41 | install: $(CM2MLB_HEAP) |
| 42 | rm -f $(SMLDIR).heap/$(CM2MLB_HEAP) $(SMLDIR)cm2mlb |
| 43 | cp $(CM2MLB_HEAP) $(SMLDIR).heap |
| 44 | (cd $(SMLDIR) ; ln -s .run-sml cm2mlb) |