1# Unix makefile for calc example 2 3MOSMLHOME=${HOME}/mosml 4MOSMLTOOLS=camlrunm $(MOSMLHOME)/tools 5MOSMLLEX=${MOSMLHOME}/bin/mosmllex 6MOSMLYACC=${MOSMLHOME}/bin/mosmlyac 7 8MOSMLC=mosmlc -c 9MOSMLL=mosmlc 10 11# Unix 12REMOVE=rm -f 13MOVE=mv 14EXEFILE= 15 16# DOS 17#REMOVE=del 18#MOVE=move 19#EXEFILE=.exe 20 21.SUFFIXES : 22.SUFFIXES : .sig .sml .ui .uo 23 24OBJS=Parser.uo Lexer.uo calc.uo 25 26all: calc 27 28calc: $(OBJS) 29 $(MOSMLL) -o calc$(EXEFILE) calc.uo 30 31Parser.sml Parser.sig: Parser.grm 32 $(MOSMLYACC) Parser.grm 33 34Lexer.sml: Lexer.lex 35 $(MOSMLLEX) Lexer.lex 36 37clean: 38 $(REMOVE) Makefile.bak 39 $(REMOVE) Parser.sig 40 $(REMOVE) Parser.sml 41 $(REMOVE) Lexer.sml 42 $(REMOVE) calc 43 $(REMOVE) *.ui 44 $(REMOVE) *.uo 45 46.sig.ui: 47 $(MOSMLC) $< 48 49.sml.uo: 50 $(MOSMLC) $< 51 52depend: Lexer.sml Parser.sml Parser.sig 53 $(REMOVE) Makefile.bak 54 $(MOVE) Makefile Makefile.bak 55 $(MOSMLTOOLS)/cutdeps < Makefile.bak > Makefile 56 $(MOSMLTOOLS)/mosmldep >> Makefile 57 58### DO NOT DELETE THIS LINE 59Parser.uo: Parser.ui 60calc.uo: Parser.ui Lexer.uo 61Lexer.uo: Parser.ui 62