]> Git — Sourcephile - haskell/symantic.git/blob - GNUmakefile
Add make target %/fast.
[haskell/symantic.git] / GNUmakefile
1 PKGS := symantic-grammar symantic-document symantic symantic-lib
2
3 all: build
4
5 build: $(PKGS:=/build)
6 %/build:
7 cd $*; stack $(STACK_FLAGS) build $(STACK_BUILD_FLAGS)
8 .PHONY: $(PKGS) $(foreach p,$(PKGS),$(eval $p: $p/build))
9
10 test: $(PKGS:=/test)
11 %/test:
12 ! grep -q '^Test-Suite\>' $*/$*.cabal || \
13 { cd $*; stack $(STACK_FLAGS) test $(STACK_TEST_FLAGS); }
14
15 clean: $(PKGS:=/clean)
16 cleaner: $(PKGS:=/cleaner)
17 %/clean:
18 cd $*; stack $(STACK_FLAGS) clean $(STACK_CLEAN_FLAGS)
19 %/cleaner:
20 cd $*; stack $(STACK_FLAGS) clean --full $(STACK_CLEAN_FLAGS)
21
22 %/fast: override STACK_BUILD_FLAGS+=--fast
23 %/fast: override STACK_TEST_FLAGS+=--fast
24 %/fast: %
25
26
27 tag: $(PKGS:=/tag)
28 %/tag:
29 cabal=$*/$*.cabal; \
30 name=$$(sed -ne 's/^name: *\(.*\)/\1/p' "$$cabal"); \
31 version=$$(sed -ne 's/^version: *\(.*\)/\1/p' "$$cabal"); \
32 git tag --merged | grep -Fqx "$$name-$$version" || \
33 git tag -f -s -m "$$name v$$version" $$name-$$version
34
35 .PHONY: stats
36 stats:
37 gitstats . $@
38 stats/view: stats
39 sensible-browser stats/index.html