This repository has been archived by the owner on Oct 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathMakefile
83 lines (54 loc) · 1.89 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
LAKE ?= ./build/bin/lake
#-------------------------------------------------------------------------------
# Suite Targets
#-------------------------------------------------------------------------------
TESTS := $(addprefix test/, $(shell ls test))
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-boostrapped-hello
clean: clean-tests clean-examples clean-build
clean-tests: $(addsuffix .clean, $(TESTS))
clean-examples: $(addsuffix .clean, $(EXAMPLES))
.PHONY:
all test test-ci test-tests test-examples\
test-bootstrap time-bootstrap check-bootstrap test-bootstrapped test-boostrapped-hello\
$(addsuffix .clean, $(TESTS) $(EXAMPLES)) $(addsuffix .test, $(TESTS))
#-------------------------------------------------------------------------------
# Build Targets
#-------------------------------------------------------------------------------
build:
./build.sh
time-build:
./time.sh
clean-build:
./clean.sh
check-lake:
$(LAKE) self-check
#-------------------------------------------------------------------------------
# Test / Example Targets
#-------------------------------------------------------------------------------
test/%.test:
cd test/$* && ./test.sh
test/%.clean:
cd test/$* && ./clean.sh
examples/%.test:
cd examples/$* && ./test.sh
examples/%.clean:
cd examples/$* && ./clean.sh
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-boostrapped-hello:
cd examples/hello && ./bootstrapped-test.sh