1 # This file is part of NIT ( http://www.nitlanguage.org ).
3 # Copyright 2008 Jean Privat <jean@pryen.org>
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
18 OLDNITCOPT
=--semi-global
19 OBJS
=nitc nitpick nit nitls nitunit picnit nitx nitlight nitserial nitrestful
20 SRCS
=$(patsubst %,%.nit
,$(OBJS
))
21 BINS
=$(patsubst %,..
/bin
/%,$(OBJS
))
22 MOREOBJS
=nitdoc nitweb nitcatalog nitmetrics nitpretty nitweb
23 MORESRCS
=$(patsubst %,%.nit
,$(MOREOBJS
))
24 MOREBINS
=$(patsubst %,..
/bin
/%,$(MOREOBJS
))
25 DEPS
=$(wildcard *.nit
*/*.nit
) parser
/parser.nit
27 # Workaround: Cygwin requires peflags to bootstrap
28 peflags
:= ${shell which peflags
2>/dev
/null
}
37 nitc_0
: ..
/c_src
/nitc
$(DEPS
)
38 @echo
'***************************************************************'
39 @echo
'* Compile nitc_0 from NIT source files *'
40 @echo
'***************************************************************'
42 ..
/c_src
/nitc
${OLDNITCOPT} -o nitc_0
-v nitc.nit
44 ${peflags} --cygwin-heap
=2048 nitc_0
47 ..
/bin
/nitc
: nitc_0
$(DEPS
)
48 @echo
'***************************************************************'
49 @echo
'* Compile binaries from NIT source files *'
50 @echo
'***************************************************************'
52 test -d ..
/bin || mkdir ..
/bin
53 .
/nitc_0
${NITCOPT} -v
--dir ..
/bin
$(SRCS
)
55 ..
/bin
/nitdoc
: ..
/bin
/nitc
$(DEPS
)
56 ..
/bin
/nitc
${NITCOPT} -v
--dir ..
/bin
$(MORESRCS
)
58 $(OBJS
): nitc_0
$(DEPS
)
60 .
/nitc_0
${NITCOPT} -v
$@.nit
62 ..
/c_src
/nitc
: ..
/c_src
/*.c ..
/c_src
/*.h ..
/c_src
/Makefile
63 @echo
'***************************************************************'
64 @echo
'* Compile nitc from C source files *'
65 @echo
'***************************************************************'
67 rm ..
/c_src
/*.o || true
# to reduce disc used
69 ${peflags} --cygwin-heap
=2048 ..
/c_src
/nitc
73 @echo
'***************************************************************'
74 @echo
'* Generate nit parser *'
75 @echo
'***************************************************************'
79 rm -rf
-- version.nit nitc_0
2> /dev
/null || true