# # COPYRIGHT (c) 2005 # John Reppy (http://www.cs.uchicago.edu/~jhr) # Aaron Turon (adrassi@gmail.com) # All rights reserved. # OS = $(shell uname -s) ifeq ($(shell uname -s),Darwin) HEAP_SUFFIX = ppc-darwin else HEAP_SUFFIX = x86-unix endif SHELL = /bin/sh SML = sml ML_BUILD = ml-build ML_MAKEDEPEND = ml-makedepend PROGRAM = lexgen HEAP_IMAGE = $(PROGRAM).$(HEAP_SUFFIX) FE = FrontEnds BE = BackEnds ML_LEX = $(FE)/ml-lex ML_LEX_SRC = $(wildcard $(ML_LEX)/*.sml) $(ML_LEX)/ml-lex.lex $(ML_LEX)/ml-lex.yacc DUMP_SRC = $(wildcard $(BE)/Dump/*.sml) DOT_SRC = $(wildcard $(BE)/Dot/*.sml) SML_SRC = $(wildcard $(BE)/SML/*.sml) MATCH_SRC = $(wildcard $(BE)/Match/*.sml) FE_SRC = $(wildcard $(FE)/*.sml) $(ML_LEX_SRC) BE_SRC = $(wildcard $(BE)/*.sml) $(DOT_SRC) $(SML_SRC) $(MATCH_SRC) CORE_SRC = $(wildcard *.sml) SOURCES = $(CORE_SRC) $(FE_SRC) $(BE_SRC) sources.cm build: $(HEAP_IMAGE) $(HEAP_IMAGE): $(SOURCES) $(ML_BUILD) sources.cm Main.main $(PROGRAM) .depend: $(CM_FILES) touch .depend $(ML_MAKEDEPEND) -n -f .depend sources.cm $(HEAP_IMAGE) sinclude .depend #NOTE: do NOT clean out ml-lex.lex.sml, it is not autogenerated! clean: rm -rf .depend .cm FrontEnds/ml-lex/ml-lex.yacc.sml $(HEAP_IMAGE)