# 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"
+
+# Compile all programs in `contrib`, `examples` and `src`.
+#
+# Furthermore, build the toolchain’s `man` pages.
+full: all
+ for directory in $(extras); do \
+ (cd "$${directory}" && $(MAKE)) || exit 1; \
+ done
+
+docs: doc/stdlib/index.html doc/nitc/index.html
tools:
cd src; make
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 \
+ bin/nitdoc lib -d doc/stdlib \
--custom-title "Nit Standard Library" \
- --custom-menu-items "<li><a href=\"http://nitlanguage.org/\">Nitlanguage.org</a></li>" \
+ --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 nit \
- --source "https://github.com/privat/nit/blob/$$(git show --format="%H" | head -1)/%f#L%l-%L"
+ --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" \
-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 "<li><a href=\"http://nitlanguage.org/\">Nitlanguage.org</a></li>" \
- --custom-overview-text "<p>Documentation for the Nit compiler and tools<br/>Version $$(git describe)<br/>Date: $$(git show --format="%cd" | head -1)</p>" \
- --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 "<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"
-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 "<li><a href=\"http://nitlanguage.org/\">Nitlanguage.org</a></li>" \
- --custom-overview-text "<p>Documentation for the Nit tools based on the new metamodel<br/>Version $$(git describe)<br/>Date: $$(git show --format="%cd" | head -1)</p>" \
- --custom-footer-text "Nit new metamodel. Version $$(git describe)." \
- --github-origin "privat:nit:master" \
- --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 \
+ (cd "$$directory" && $(MAKE) clean); \
+ done