[/] [trunk/] [src/] [Makefile] - Blame information for rev 68

Line No. Rev Author Line
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