1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
arch_n_opsys := $(shell ../../bin/.arch-n-opsys)
ARCH := $(shell eval "$(arch_n_opsys)"; echo -n $$ARCH)
HEAP_SUFFIX := $(shell eval "$(arch_n_opsys)"; echo -n $$HEAP_SUFFIX)
BINDIR_SUFFIX=$(ARCH)-unix
# don't ask me why bindir_suffix <> heap_suffix
SML=sml.$(HEAP_SUFFIX)
BINDIR=bin.$(BINDIR_SUFFIX)
MLCMD=CMB.make()
default: sml
sml: $(SML)
sml-new: sml-new.$(HEAP_SUFFIX)
$(BINDIR).new:
if [ -d $(BINDIR) ]; then \
mv $(BINDIR) $(BINDIR).new && mv $(BINDIR).old $(BINDIR) ;\
else \
mkdir $(BINDIR).new ;\
fi
$(SML): $(BINDIR)/COMPLIST
-rm -f $@
./xmakeml
[ -r $(SML) ]
$(BINDIR)/COMPLIST: $(BINDIR).new
cleannew: $(BINDIR).new
-rm -r $(BINDIR).new/*
recompile: $(SML)
mv $(BINDIR) $(BINDIR).old && mv $(BINDIR).new $(BINDIR)
-echo '$(MLCMD); Compiler.Stats.summary();' | ./xrun sml
mv $(BINDIR) $(BINDIR).new && mv $(BINDIR).old $(BINDIR)
sml-new.$(HEAP_SUFFIX): recompile
mv $(BINDIR) $(BINDIR).old && mv $(BINDIR).new $(BINDIR)
if [ -f $(BINDIR)/COMPLIST ]; then \
mv $(SML) sml-old.$(HEAP_SUFFIX) &&\
./xmakeml &&\
mv $(SML) sml-new.$(HEAP_SUFFIX) &&\
mv sml-old.$(HEAP_SUFFIX) $(SML) ;\
fi
mv $(BINDIR) $(BINDIR).new && mv $(BINDIR).old $(BINDIR)
run: $(SML)
mv $(BINDIR) $(BINDIR).old && mv $(BINDIR).new $(BINDIR)
./xrun $(SML)
mv $(BINDIR) $(BINDIR).new && mv $(BINDIR).old $(BINDIR)
|