view Makefile @ 79:37847b504cc6

More hardcore unification
author Adam Chlipala <adamc@hcoop.net>
date Sun, 29 Jun 2008 11:20:34 -0400
parents 4202f6eda946
children 5f04adf47f48
line wrap: on
line source
all: smlnj mlton

.PHONY: all smlnj mlton clean

smlnj: src/lacweb.cm
mlton: bin/lacweb

clean:
	rm -f src/*.mlton.grm.* src/*.mlton.lex.* \
		src/lacweb.cm src/lacweb.mlb
	rm -rf .cm src/.cm

src/lacweb.cm: src/prefix.cm src/sources
	cat src/prefix.cm src/sources \
	>src/lacweb.cm

src/lacweb.mlb: src/prefix.mlb src/sources src/suffix.mlb
	cat src/prefix.mlb src/sources src/suffix.mlb \
	| sed 's/^\(.*\).grm$$/\1.mlton.grm.sig\n\1.mlton.grm.sml/' \
	| sed 's/^\(.*\).lex$$/\1.mlton.lex.sml/' \
	>src/lacweb.mlb

%.mlton.lex: %.lex
	cp $< $@
%.mlton.grm: %.grm
	cp $< $@

%.mlton.lex.sml: %.mlton.lex
	mllex $<

%.mlton.grm.sig %.mlton.grm.sml: %.mlton.grm
	mlyacc $<

MLTON := mlton

ifdef DEBUG
	MLTON += -const 'Exn.keepHistory true'
endif

bin/lacweb: src/lacweb.mlb src/*.sig src/*.sml \
		src/lacweb.mlton.lex.sml \
		src/lacweb.mlton.grm.sig src/lacweb.mlton.grm.sml
	$(MLTON) -output $@ src/lacweb.mlb