annotate Makefile @ 191:01c5794608e0

Added simple makefiles to build back end and client.
author Sascha Wilde <wilde@intevation.de>
date Fri, 20 Jul 2018 17:41:44 +0200
parents
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)"