LAKE ?= ./.lake/build/bin/lake #------------------------------------------------------------------------------- # Suite Targets #------------------------------------------------------------------------------- TESTS := $(addprefix tests/, $(filter-out common.sh, $(shell ls tests))) EXAMPLES := $(addprefix examples/, $(filter-out bootstrap, $(shell ls examples))) default: build all: build test test: check-lake test-ci test-bootstrap test-bootstrapped test-ci: test-tests test-examples test-tests: $(addsuffix .test, $(TESTS)) test-examples: $(addsuffix .test, $(EXAMPLES)) test-bootstrapped: test-bootstrapped-hello clean: clean-tests clean-examples clean-bootstrap clean-all: clean clean-build clean-tests: $(addsuffix .clean, $(TESTS)) clean-examples: $(addsuffix .clean, $(EXAMPLES)) .PHONY: all test test-ci test-tests test-examples test-bootstrap\ clean clean-all clean-tests clean-examples clean-build clean-bootstrap\ time-bootstrap check-bootstrap test-bootstrapped test-bootstrapped-hello\ $(addsuffix .clean, $(TESTS) $(EXAMPLES)) $(addsuffix .test, $(TESTS) $(EXAMPLES)) #------------------------------------------------------------------------------- # Build Targets #------------------------------------------------------------------------------- build: ./build.sh time-build: ./time-build.sh clean-build: ./clean-build.sh check-lake: $(LAKE) self-check #------------------------------------------------------------------------------- # Test / Example Targets #------------------------------------------------------------------------------- tests/%.test: cd tests/$* && ./test.sh tests/%.online-test: cd tests/$* && ./online-test.sh tests/%.clean: cd tests/$* && ./clean.sh || true examples/%.test: cd examples/$* && ./test.sh examples/%.clean: cd examples/$* && ./clean.sh || true test-bootstrap: cd examples/bootstrap && ./test.sh package-bootstrap: cd examples/bootstrap && ./package.sh clean-bootstrap: cd examples/bootstrap && ./clean.sh time-bootstrap: cd examples/bootstrap && ./time.sh check-bootstrap: cd examples/bootstrap && ./check.sh test-bootstrapped-hello: cd examples/hello && ./bootstrapped-test.sh