X-Git-Url: http://nitlanguage.org diff --git a/Makefile b/Makefile index 37ed2fb..4f4f71b 100644 --- a/Makefile +++ b/Makefile @@ -14,35 +14,77 @@ # See the License for the specific language governing permissions and # limitations under the License. -NITCOPT= -all: tools doc/stdlib/index.html +contrib_dir = ./contrib +examples_dir = ./examples +all_contribs = $(dir $(wildcard $(contrib_dir)/*/Makefile)) + +# Additional program directories (contrib and examples) that are buildable +extras = $(filter-out $(contrib_dir)/nitc/,$(all_contribs)) +extras += $(dir $(wildcard $(examples_dir)/*/Makefile)) + +all: tools man + @echo "" + @echo "Congratulations! Nit was succesfully compiled." + @echo "To configure your shell environment, execute the following command:" + @echo " source misc/nit_env.sh install" + +more: + cd src; make more + +# Compile all programs in `contrib`, `examples` and `src`. +# +# Furthermore, build the toolchain’s `man` pages. +full: all more + for directory in $(extras); do \ + (cd "$${directory}" && $(MAKE)) || exit 1; \ + done docs: doc/stdlib/index.html doc/nitc/index.html - cd doc; make tools: cd src; make -doc/stdlib/index.html: tools +bin/nitdoc: + cd src; make ../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 --custom-overview-text '

Documentation for the standard library of Nit

' --custom-footer-text 'Nit standard library. Version '`git describe`'.' + bin/nitdoc lib -d doc/stdlib \ + --custom-title "Nit Standard Library" \ + --custom-brand "Nitlanguage.org" \ + --custom-overview-text "

Documentation for the standard library of Nit
Version $$(git describe)
Date: $$(git show --format="%cd" | head -1)

" \ + --custom-footer-text "Nit standard library. Version $$(git describe)." \ + --piwik-tracker "pratchett.info.uqam.ca/piwik/" \ + --piwik-site-id "2" \ -doc/nitc/index.html: tools - bin/nitdoc src/nitc.nit src/nitdoc.nit -d doc/nitc --custom-overview-text '

Documentation for the nit compiler

' --custom-footer-text 'Nit compiler. Version '`git describe`'.' +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 "Nitlanguage.org" \ + --custom-overview-text "

Documentation for the Nit tools
Version $$(git describe)
Date: $$(git show --format="%cd" | head -1)

" \ + --custom-footer-text "Nit tools. Version $$(git describe)." \ + --piwik-tracker "pratchett.info.uqam.ca/piwik/" \ + --piwik-site-id "3" + +man: + # Setup PATH to find nitc + PATH=$$PWD/bin:$$PATH $(MAKE) -C share/man clean: - rm -rf -- .nit_compile 2> /dev/null || true + rm -rf -- doc/stdlib doc/nitc || true cd c_src; make clean cd src; make clean - cd doc; make clean cd tests; make clean - -distclean: clean - rm -rf -- bin/nitc bin/nitdoc bin/nits doc/stdlib doc/nitc/ 2> /dev/null || true - cd c_src; make distclean - cd src/parser; make distclean - cd doc; make distclean - cd tests; make distclean + cd share/man; make clean + -for directory in $(extras); do \ + (echo "CLEANING $$directory" && cd "$$directory" && $(MAKE) clean); \ + done + @echo "" + @echo "Nit was succesfully cleaned." \ No newline at end of file