X-Git-Url: http://nitlanguage.org diff --git a/Makefile b/Makefile index cb4ccc8..4f4f71b 100644 --- a/Makefile +++ b/Makefile @@ -14,12 +14,33 @@ # 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)) -docs: doc/stdlib/index.html doc/nitc/index.html doc/newmodel/index.html - #cd doc; make +# 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 tools: cd src; make @@ -27,45 +48,43 @@ tools: 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 $$(find lib/* -maxdepth 0 -type d ) -d doc/stdlib --public \ + bin/nitdoc lib -d doc/stdlib \ --custom-title "Nit Standard Library" \ - --custom-menu-items "
  • Nitlanguage.org
  • " \ + --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)." \ - --github nit \ - --source "https://github.com/privat/nit/blob/$$(git show --format="%H" | head -1)/%f#L%l-%L" + --piwik-tracker "pratchett.info.uqam.ca/piwik/" \ + --piwik-site-id "2" \ -doc/nitc/index.html: bin/nitdoc - bin/nitdoc src/nitc.nit src/nitdoc.nit src/nits.nit -d doc/nitc \ - --custom-title "Nit Compiler and Tools" \ - --custom-menu-items "
  • Nitlanguage.org
  • " \ - --custom-overview-text "

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

    " \ - --custom-footer-text "Nit compiler. Version $$(git describe)." \ - --github nit \ - --source "https://github.com/privat/nit/blob/$$(git show --format="%H" | head -1)/%f#L%l-%L" +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" -doc/newmodel/index.html: bin/nitdoc - bin/nitdox src/nit.nit src/nitmetrics.nit src/nitg.nit src/nitx.nit src/nitunit.nit src/nitlight.nit src/ni_nitdoc.nit src/dbgcli.nit src/netdbg.nit -d doc/newmodel \ - --custom-title "Nit New Model" \ - --custom-menu-items "
  • Nitlanguage.org
  • " \ - --custom-overview-text "

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

    " \ - --custom-footer-text "Nit new metamodel. Version $$(git describe)." \ - --source "https://github.com/privat/nit/blob/$$(git show --format="%H" | head -1)/%f#L%l-%L" +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