README: document nit_env.sh
[nit.git] / Makefile
index 9bbed89..da0acf0 100644 (file)
--- a/Makefile
+++ b/Makefile
 
 NITCOPT=
 
-all: bin/nitc bin/nitdoc doc/stdlib/index.html bin/nits
+# Additional program directories (contrib and examples) that are buildable
+PROGS=$(dir $(wildcard examples/*/Makefile contrib/*/Makefile))
 
-docs: doc/stdlib/index.html doc/nitc/index.html
+all: tools man
 
+# Compile all programs in $PROGS
+full: all
+       for m in $(PROGS); do $(MAKE) -C "$$m" || exit 1; done
 
-bin/nitc: c_src/nitc src/parser/parser.nit
-       @echo '***************************************************************'
-       @echo '* Compile nitc from NIT source files                          *'
-       @echo '***************************************************************'
-       src/git-gen-version.sh
-       cd src; ../c_src/nitc ${NITCOPT} --clibdir ../c_src/clib -o ../bin/nitc -O -v nitc.nit
+docs: doc/stdlib/index.html doc/nitc/index.html
 
-bin/nitdoc: bin/nitc
-       @echo '***************************************************************'
-       @echo '* Compile nitdoc from NIT source files                        *'
-       @echo '***************************************************************'
-       src/git-gen-version.sh
-       cd src; ../bin/nitc ${NITCOPT} -o ../bin/nitdoc -O -v nitdoc.nit
+tools:
+       cd src; make
 
-bin/nits: bin/nitc
-       @echo '***************************************************************'
-       @echo '* Compile nits from NIT source files                        *'
-       @echo '***************************************************************'
-       bin/nitc ${NITCOPT} -o bin/nits -O -v src/nits.nit
+bin/nitdoc:
+       cd src; make ../bin/nitdoc
 
-doc/stdlib/index.html: bin/nitdoc
+bin/nitls:
+       cd src; make ../bin/nitls
+
+doc/stdlib/index.html: bin/nitdoc bin/nitls
        @echo '***************************************************************'
        @echo '* Generate doc for NIT standard library                       *'
        @echo '***************************************************************'
-       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`'.'
-
-doc/nitc/index.html: bin/nitdoc
-       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`'.'
+       bin/nitdoc lib -d doc/stdlib \
+               --custom-title "Nit Standard Library" \
+               --custom-brand "<a href=\"http://nitlanguage.org/\">Nitlanguage.org</a>" \
+               --custom-overview-text "<p>Documentation for the standard library of Nit<br/>Version $$(git describe)<br/>Date: $$(git show --format="%cd" | head -1)</p>" \
+               --custom-footer-text "Nit standard library. Version $$(git describe)." \
+               --github-upstream "nitlang:nit:master" \
+               --github-base-sha1 "$$(git rev-parse HEAD)" \
+               --github-gitdir "." \
+               --source "https://github.com/nitlang/nit/blob/$$(git rev-parse HEAD)/%f#L%l-%L" \
+               --piwik-tracker "pratchett.info.uqam.ca/piwik/" \
+               --piwik-site-id "2" \
 
-c_src/nitc: c_src/*.c c_src/*.h c_src/nitc._build.sh c_src/Makefile
-       @echo '***************************************************************'
-       @echo '* Compile nitc from C source files                            *'
-       @echo '***************************************************************'
-       cd c_src; make
+doc/nitc/index.html: bin/nitdoc bin/nitls
+       bin/nitdoc lib src/nit*.nit src/test_*.nit -d doc/nitc \
+               --private \
+               --custom-title "Nit Compilers and Tools" \
+               --custom-brand "<a href=\"http://nitlanguage.org/\">Nitlanguage.org</a>" \
+               --custom-overview-text "<p>Documentation for the Nit tools<br/>Version $$(git describe)<br/>Date: $$(git show --format="%cd" | head -1)</p>" \
+               --custom-footer-text "Nit tools. Version $$(git describe)." \
+               --github-upstream "nitlang:nit:master" \
+               --github-base-sha1 "$$(git rev-parse HEAD)" \
+               --github-gitdir "." \
+               --source "https://github.com/nitlang/nit/blob/$$(git rev-parse HEAD)/%f#L%l-%L" \
+               --piwik-tracker "pratchett.info.uqam.ca/piwik/" \
+               --piwik-site-id "3"
 
-src/parser/parser.nit:
-       @echo '***************************************************************'
-       @echo '* Generate nit parser                                         *'
-       @echo '***************************************************************'
-       cd src/parser; make
+man:
+       $(MAKE) -C share/man
 
 clean:
-       rm -rf -- .nit_compile 2> /dev/null || true
-       cd c_src; make clean 
-       cd src/parser; make clean 
-       cd tests; make clean 
-
-dist-clean: clean
-       cd c_src; make dist-clean
-       cd src/parser; make dist-clean
-       rm -rf -- bin/nitc bin/nitdoc doc/stdlib
-
+       rm -rf -- doc/stdlib doc/nitc || true
+       cd c_src; make clean
+       cd src; make clean
+       cd tests; make clean
+       cd share/man; make clean
+       for m in $(PROGS); do \
+               $(MAKE) clean -C "$$m"; \
+               done || true