| 1 |
8 |
tbourke |
# $Id: Makefile 68 2008-08-28 00:28:54Z tbourke $
|
| 2 |
9 |
tbourke |
#
|
| 3 |
62 |
tbourke |
# Copyright (c) 2008 Timothy Bourke (University of NSW and NICTA)
|
| 4 |
|
|
# All rights reserved.
|
| 5 |
|
|
#
|
| 6 |
|
|
# This program is free software; you can redistribute it and/or modify it
|
| 7 |
|
|
# under the terms of the "BSD License" which is distributed with the
|
| 8 |
|
|
# software in the file LICENSE.
|
| 9 |
|
|
#
|
| 10 |
|
|
# This program is distributed in the hope that it will be useful, but
|
| 11 |
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 12 |
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the BSD
|
| 13 |
|
|
# License for more details.
|
| 14 |
|
|
#
|
| 15 |
63 |
tbourke |
URPAL_VERSION=1.0.0
|
| 16 |
4 |
tbourke |
HEAP_SUFFIX=x86-bsd
|
| 17 |
23 |
tbourke |
MLTONOPT=-loop-passes 1
|
| 18 |
4 |
tbourke |
|
| 19 |
|
|
MLYACC=mlyacc
|
| 20 |
|
|
MLLEX=mllex
|
| 21 |
|
|
MLTON=mlton
|
| 22 |
|
|
HEAP2EXEC=heap2exec
|
| 23 |
23 |
tbourke |
STRIP=strip
|
| 24 |
55 |
tbourke |
CTAGS=exctags
|
| 25 |
4 |
tbourke |
|
| 26 |
|
|
SKIPCM=-type d -name '.cm' -prune -type f -o
|
| 27 |
9 |
tbourke |
SRC!=find . $(SKIPCM) -name '*sml' -o -name '*sig'
|
| 28 |
4 |
tbourke |
SRCDIRS=. ./cmdlang ./config ./graphviz ./graphviz ./lib \
|
| 29 |
46 |
tbourke |
./maketest ./uppaal ./uppaalxml ./mcs51 ./layout
|
| 30 |
4 |
tbourke |
|
| 31 |
47 |
tbourke |
urpal: $(SRC) version.sml tags
|
| 32 |
4 |
tbourke |
ml-build sources.cm Urpal.main urpal
|
| 33 |
|
|
$(HEAP2EXEC) urpal.$(HEAP_SUFFIX) urpal
|
| 34 |
|
|
@rm urpal.$(HEAP_SUFFIX)
|
| 35 |
|
|
|
| 36 |
|
|
withmlton: cmdlang/cmdlang.grm.sml cmdlang/cmdlang.lex.sml \
|
| 37 |
45 |
tbourke |
uppaal/uppaal.grm.sml uppaal/uppaal.lex.sml \
|
| 38 |
20 |
tbourke |
mcs51/mcs51.grm.sml mcs51/mcs51.lex.sml \
|
| 39 |
9 |
tbourke |
config/config.lex.sml version.sml
|
| 40 |
23 |
tbourke |
$(MLTON) $(MLTONOPT) -mlb-path-map unix-path-map -verbose 1 urpal.mlb
|
| 41 |
|
|
$(STRIP) urpal
|
| 42 |
4 |
tbourke |
|
| 43 |
43 |
tbourke |
mingw32: cmdlang/cmdlang.grm.sml cmdlang/cmdlang.lex.sml \
|
| 44 |
45 |
tbourke |
uppaal/uppaal.grm.sml uppaal/uppaal.lex.sml \
|
| 45 |
43 |
tbourke |
mcs51/mcs51.grm.sml mcs51/mcs51.lex.sml \
|
| 46 |
|
|
config/config.lex.sml version.sml
|
| 47 |
|
|
$(MLTON) -target mingw32 -cc mingw32-gcc \
|
| 48 |
|
|
$(MLTONOPT) -mlb-path-map unix-path-map -verbose 1 \
|
| 49 |
|
|
urpal.mlb
|
| 50 |
|
|
mv urpal urpal.exe
|
| 51 |
|
|
mingw32-strip urpal.exe
|
| 52 |
|
|
|
| 53 |
22 |
tbourke |
winmlton: cmdlang/cmdlang.grm.sml cmdlang/cmdlang.lex.sml \
|
| 54 |
45 |
tbourke |
uppaal/uppaal.grm.sml uppaal/uppaal.lex.sml \
|
| 55 |
22 |
tbourke |
mcs51/mcs51.grm.sml mcs51/mcs51.lex.sml \
|
| 56 |
|
|
config/config.lex.sml version.sml
|
| 57 |
|
|
$(MLTON) -mlb-path-map win-path-map -verbose 1 urpal.mlb
|
| 58 |
|
|
|
| 59 |
68 |
tbourke |
grmfiles: cmdlang/cmdlang.grm.sml uppaal/uppaal.grm.sml mcs51/mcs51.grm.sml
|
| 60 |
|
|
lexfiles: config/config.lex.sml uppaal/uppaal.lex.sml cmdlang/cmdlang.lex.sml \
|
| 61 |
|
|
mcs51/mcs51.lex.sml
|
| 62 |
22 |
tbourke |
|
| 63 |
4 |
tbourke |
cmdlang/cmdlang.grm.sml: cmdlang/cmdlang.grm
|
| 64 |
|
|
$(MLYACC) cmdlang/cmdlang.grm
|
| 65 |
|
|
|
| 66 |
|
|
cmdlang/cmdlang.lex.sml: cmdlang/cmdlang.lex
|
| 67 |
|
|
$(MLLEX) cmdlang/cmdlang.lex
|
| 68 |
|
|
|
| 69 |
|
|
config/config.lex.sml: config/config.lex
|
| 70 |
|
|
$(MLLEX) config/config.lex
|
| 71 |
|
|
|
| 72 |
45 |
tbourke |
uppaal/uppaal.grm.sml: uppaal/uppaal.grm
|
| 73 |
|
|
$(MLYACC) uppaal/uppaal.grm
|
| 74 |
4 |
tbourke |
|
| 75 |
45 |
tbourke |
uppaal/uppaal.lex.sml: uppaal/uppaal.lex
|
| 76 |
|
|
$(MLLEX) uppaal/uppaal.lex
|
| 77 |
4 |
tbourke |
|
| 78 |
20 |
tbourke |
mcs51/mcs51.grm.sml: mcs51/mcs51.grm
|
| 79 |
|
|
$(MLYACC) mcs51/mcs51.grm
|
| 80 |
|
|
|
| 81 |
|
|
mcs51/mcs51.lex.sml: mcs51/mcs51.lex
|
| 82 |
|
|
$(MLLEX) mcs51/mcs51.lex
|
| 83 |
|
|
|
| 84 |
62 |
tbourke |
version:
|
| 85 |
|
|
@echo $(URPAL_VERSION)
|
| 86 |
|
|
|
| 87 |
9 |
tbourke |
version.sml:
|
| 88 |
68 |
tbourke |
(echo "(* automatically generated - do not edit *)"; \
|
| 89 |
|
|
echo "structure Version = struct "; \
|
| 90 |
9 |
tbourke |
echo " val version=\"$(URPAL_VERSION)\";"; \
|
| 91 |
|
|
echo " val svnversion=\"`svnversion`\";"; \
|
| 92 |
|
|
echo "end") > version.sml
|
| 93 |
|
|
|
| 94 |
4 |
tbourke |
tags: $(SRC)
|
| 95 |
55 |
tbourke |
-$(CTAGS) -R --exclude=.cm --exclude=*.grm.sml *
|
| 96 |
|
|
touch tags
|
| 97 |
4 |
tbourke |
|
| 98 |
|
|
clean:
|
| 99 |
11 |
tbourke |
-@find . \( $(SKIPCM) -name *.grm.sml -o -name *.lex.sml \
|
| 100 |
|
|
-o -name *.grm.sig -o -name *.grm.desc \) \
|
| 101 |
4 |
tbourke |
-print -exec rm {} \;
|
| 102 |
62 |
tbourke |
-@for f in $(SRCDIRS); do rm -r $$f/.cm 2>/dev/null; done
|
| 103 |
4 |
tbourke |
|
| 104 |
|
|
clobber: clean
|
| 105 |
62 |
tbourke |
-@rm version.sml urpal urpal.exe 2>/dev/null
|
| 106 |
|
|
-@rm tags 2>/dev/null
|
| 107 |
4 |
tbourke |
|