annotate Makefile @ 196:b67208d82543

Make test output more comprehensive Running all tests in one transaction ensures the final output tells about any failing test, not just in the last transaction (i.e. test script). The price is that no traces of the tests are left in the database because we have to rollback in order to have no left-over test roles in the cluster.
author Tom Gottfried <tom@intevation.de>
date Fri, 20 Jul 2018 18:31:45 +0200
parents 01c5794608e0
children cd6ad5eaef8d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
1 # Simple Makefile to build all of Gemma
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
2 #
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
3 # Authors: Sascha Wilde <wilde@intevation.de>
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
4
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
5 basedir := $(dir $(realpath $(firstword $(MAKEFILE_LIST))))
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
6
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
7 BUILDBASE := $(basedir).buildbase
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
8 GOPATH := $(BUILDBASE)/go
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
9 GOCACHE := $(BUILDBASE)/gocache
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
10 ENVWARPPER := $(BUILDBASE)/run-with-env.sh
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
11
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
12 export BUILDBASE
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
13
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
14 tokenserver-bin := cmd/tokenserver/tokenserver
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
15 3rdpartylibs-stamp := $(BUILDBASE)/3rdpartylibs-build
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
16
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
17 .PHONY: all 3rdpartylibs tokenserver client clean
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
18
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
19 all: tokenserver client
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
20
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
21 $(ENVWARPPER):
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
22 @echo "Preparing go build environment:"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
23 mkdir -p "$(GOCACHE)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
24 mkdir -p "$(GOPATH)/src/gemma.intevation.de"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
25 [ -e "$(GOPATH)/src/gemma.intevation.de/gemma" ] || \
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
26 ln -s "$(basedir)" "$(GOPATH)/src/gemma.intevation.de/gemma"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
27 @echo "Creating wrapper script:"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
28 echo '#!/bin/sh' >"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
29 echo 'export GOPATH=$(GOPATH)' >>"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
30 echo 'export GOCACHE=$(GOCACHE)' >>"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
31 echo 'exec "$$@"' >>"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
32 chmod +x "$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
33
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
34 $(3rdpartylibs-stamp): $(ENVWARPPER)
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
35 "$(ENVWARPPER)" bash ./3rdpartylibs.sh && \
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
36 touch $@
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
37
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
38 3rdpartylibs: $(3rdpartylibs-stamp)
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
39
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
40 $(tokenserver-bin): $(3rdpartylibs-stamp) $(ENVWARPPER)
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
41 cd cmd/tokenserver && "$(ENVWARPPER)" go build
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
42
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
43 tokenserver: $(tokenserver-bin)
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
44
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
45 client:
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
46 $(MAKE) -f Makefile.build -C client
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
47
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
48 clean:
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
49 $(MAKE) -f Makefile.build -C client $@
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
50 rm "$(tokenserver-bin)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
51 rm -rf "$(BUILDBASE)"