Merge branch 'ni' into wip
[nit.git] / Makefile
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2008 Jean Privat <jean@pryen.org>
4 #
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
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
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.
16
17 NITCOPT=
18
19 all: bin/nitc bin/nitdoc doc/stdlib/index.html bin/nits
20
21 docs: doc/stdlib/index.html doc/nitc/index.html
22
23
24 bin/nitc: c_src/nitc src/parser/parser.nit
25 @echo '***************************************************************'
26 @echo '* Compile nitc from NIT source files *'
27 @echo '***************************************************************'
28 src/git-gen-version.sh
29 cd src; ../c_src/nitc ${NITCOPT} --clibdir ../c_src/clib -o ../bin/nitc -O -v nitc.nit
30
31 bin/nitdoc: bin/nitc
32 @echo '***************************************************************'
33 @echo '* Compile nitdoc from NIT source files *'
34 @echo '***************************************************************'
35 src/git-gen-version.sh
36 cd src; ../bin/nitc ${NITCOPT} -o ../bin/nitdoc -O -v nitdoc.nit
37
38 bin/nits: bin/nitc
39 @echo '***************************************************************'
40 @echo '* Compile nits from NIT source files *'
41 @echo '***************************************************************'
42 bin/nitc ${NITCOPT} -o bin/nits -O -v src/nits.nit
43
44 doc/stdlib/index.html: bin/nitdoc
45 @echo '***************************************************************'
46 @echo '* Generate doc for NIT standard library *'
47 @echo '***************************************************************'
48 bin/nitdoc lib/*.nit -d doc/stdlib --public --overview-text '<p>Documentation for the standard library of Nit</p>' --footer-text 'Nit standard library. Version '`git describe -- lib`'.'
49
50 doc/nitc/index.html: bin/nitdoc
51 bin/nitdoc src/nitc.nit src/nitdoc.nit -d doc/nitc --overview-text '<p>Documentation for the nit compiler</p>' --footer-text 'Nit compiler. Version '`git describe`'.'
52
53 c_src/nitc: c_src/*.c c_src/*.h c_src/nitc._build.sh c_src/Makefile
54 @echo '***************************************************************'
55 @echo '* Compile nitc from C source files *'
56 @echo '***************************************************************'
57 cd c_src; make
58
59 src/parser/parser.nit:
60 @echo '***************************************************************'
61 @echo '* Generate nit parser *'
62 @echo '***************************************************************'
63 cd src/parser; make
64
65 clean:
66 rm -rf -- .nit_compile 2> /dev/null || true
67 cd c_src; make clean
68 cd src/parser; make clean
69 cd tests; make clean
70
71 dist-clean: clean
72 cd c_src; make dist-clean
73 cd src/parser; make dist-clean
74 rm -rf -- bin/nitc bin/nitdoc doc/stdlib
75