# Makefile_mlton.in # # This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu) # # COPYRIGHT (c) 2015 The University of Chicago # All rights reserved. # # @configure_input@ # # A Makefile for when we are using mlton to build the compiler # #### Start of system configuration section. #### # # directories for the install target # PREFIX = @prefix@ INSTALL_BINDIR = $(PREFIX)/bin INSTALL_LIBDIR = $(PREFIX)/lib INSTALL_INCDIR = $(PREFIX)/include # # directories for the local-install target # SRCDIR = @DIDEROT_ROOT@/src LIBDIR = @DIDEROT_ROOT@/lib BINDIR = @DIDEROT_ROOT@/bin INSTALL = @INSTALL@ SHELL = @SHELL@ @SET_MAKE@ MLTON = @MLTON@ #### End of system configuration section. #### PROGRAM = diderotc ROOT_MLB = driver/sources.mlb CODE_FRAG_FILES = .PHONY: local-install local-install: $(PROGRAM) cp -p $(PROGRAM) $(BINDIR) .PHONY: install install: $(HEAP_IMAGE) cp -p $(PROGRAM) $(INSTALL_BINDIR) .PHONY: build build: $(PROGRAM) $(PROGRAM): $(ROOT_MLB) $(CODE_FRAG_FILES) parser/diderot.grm parser/diderot.lex $(MLTON) -output $(PROGRAM) $(ROOT_MLB) .PHONY: typecheck typecheck: $(MLTON) -stop tc $(ROOT_MLB) parser/diderot.grm.sml: parser/diderot.grm cd parser; ml-antlr diderot.grm parser/diderot.lex.sml: parser/diderot.lex cd parser; ml-ulex --strict-sml diderot.lex #################### Cleanup #################### CLEAN_SUBDIRS = CLEAN_FILES += $(PROGRAM) \ */*.grm.sml \ */*.lex.sml \ $(CODE_FRAG_FILES) DISTCLEAN_FILES += Makefile \ common/paths.sml \ common/size-of.sml \ nrrd/run-dnorm.sml DEVCLEAN_FILES = include @DIDEROT_MKDIR@/clean-rules.gmk