NITCOPT=
-all: bin/nitc bin/nitdoc doc/stdlib/index.html
+# Additional program directories (contrib and examples) that are buildable
+PROGS=$(dir $(wildcard examples/*/Makefile contrib/*/Makefile))
-bin/nitc: c_src/nitc src/parser/parser.nit
- @echo '***************************************************************'
- @echo '* Compile nitc from NIT source files *'
- @echo '***************************************************************'
- mkdir .nit_compile 2> /dev/null || true
- cp c_src/* .nit_compile
- c_src/nitc ${NITCOPT} -o bin/nitc -O src/nitc.nit
+all: tools
-bin/nitdoc: bin/nitc
- @echo '***************************************************************'
- @echo '* Compile nitdoc from NIT source files *'
- @echo '***************************************************************'
- bin/nitc ${NITCOPT} -o bin/nitdoc -O src/nitdoc.nit
+# Compile all programs in $PROGS
+full: all
+ for m in $(PROGS); do $(MAKE) -C "$$m" || exit 1; done
-doc/stdlib/index.html: bin/nitdoc
- @echo '***************************************************************'
- @echo '* Generate doc for NIT standard library *'
- @echo '***************************************************************'
- bin/nitdoc lib/*.nit -d doc/stdlib
+docs: doc/stdlib/index.html doc/nitc/index.html
-c_src/nitc:
- @echo '***************************************************************'
- @echo '* Compile nitc from C source files *'
- @echo '***************************************************************'
- cd c_src; make
+tools:
+ cd src; make
+
+bin/nitdoc:
+ cd src; make ../bin/nitdoc
+
+bin/nitls:
+ cd src; make ../bin/nitls
-src/parser/parser.nit:
+doc/stdlib/index.html: bin/nitdoc bin/nitls
@echo '***************************************************************'
- @echo '* Generate nit parser *'
+ @echo '* Generate doc for NIT standard library *'
@echo '***************************************************************'
- cd src/parser; make
+ 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" \
-clean:
- rm -rf -- .nit_compile 2> /dev/null || true
- cd c_src; make clean
- cd src/parser; make clean
- cd tests; make clean
+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"
-dist-clean: clean
- cd c_src; make dist-clean
- cd src/parser; make dist-clean
- rm -rf -- bin/nitc bin/nitdoc doc/stdlib
+man:
+ $(MAKE) -C share/man
+clean:
+ 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