X-Git-Url: http://nitlanguage.org diff --git a/Makefile b/Makefile index 6d3bc86..5029f2a 100644 --- a/Makefile +++ b/Makefile @@ -14,10 +14,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -NITCOPT= + +contrib_dir = ./contrib +examples_dir = ./examples +all_contribs = $(dir $(wildcard $(contrib_dir)/*/Makefile)) # Additional program directories (contrib and examples) that are buildable -PROGS=$(dir $(wildcard examples/*/Makefile contrib/*/Makefile)) +extras = $(filter-out $(contrib_dir)/nitc/,$(all_contribs)) +extras += $(dir $(wildcard $(examples_dir)/*/Makefile)) all: tools man @echo "" @@ -25,9 +29,16 @@ all: tools man @echo "To configure your shell environment, execute the following command:" @echo " source misc/nit_env.sh install" -# Compile all programs in $PROGS -full: all - for m in $(PROGS); do $(MAKE) -C "$$m" || exit 1; done +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 @@ -71,7 +82,8 @@ doc/nitc/index.html: bin/nitdoc bin/nitls --piwik-site-id "3" man: - $(MAKE) -C share/man + # Setup PATH to find nitc + PATH=$$PWD/bin:$$PATH $(MAKE) -C share/man clean: rm -rf -- doc/stdlib doc/nitc || true @@ -79,6 +91,6 @@ 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 + for directory in $(extras); do \ + (cd "$$directory" && $(MAKE) clean); \ + done