Mercurial > gemma
view Makefile @ 3678:8f58851927c0
client: make layer factory only return new layer config for individual maps
instead of each time it is invoked. The purpose of the factory was to support multiple maps with individual layers.
But returning a new config each time it is invoked leads to bugs that rely on the layer's state. Now this factory
reuses the same objects it created before, per map.
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Mon, 17 Jun 2019 17:31:35 +0200 |
parents | 77202406b1a7 |
children | f7a32b0b9235 |
line wrap: on
line source
# Simple Makefile to build all of Gemma # # Authors: Sascha Wilde <wilde@intevation.de> basedir := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) BUILDBASE := $(basedir).buildbase GOPATH := $(BUILDBASE)/go GOCACHE := $(BUILDBASE)/gocache ENVWARPPER := $(BUILDBASE)/run-with-env.sh BINDIR := /usr/local/bin export BUILDBASE 3rdpartylibs-stamp := $(BUILDBASE)/3rdpartylibs-build .PHONY: all 3rdpartylibs gemma client clean all: gemma client $(ENVWARPPER): @echo "Preparing go build environment:" mkdir -p "$(GOCACHE)" mkdir -p "$(GOPATH)/src/gemma.intevation.de" [ -e "$(GOPATH)/src/gemma.intevation.de/gemma" ] || \ ln -s "$(basedir)" "$(GOPATH)/src/gemma.intevation.de/gemma" @echo "Creating wrapper script:" echo '#!/bin/sh' >"$(ENVWARPPER)" echo 'export GOPATH=$(GOPATH)' >>"$(ENVWARPPER)" echo 'export GOCACHE=$(GOCACHE)' >>"$(ENVWARPPER)" echo 'exec "$$@"' >>"$(ENVWARPPER)" chmod +x "$(ENVWARPPER)" $(3rdpartylibs-stamp): $(ENVWARPPER) 3rdpartylibs.sh "$(ENVWARPPER)" bash ./3rdpartylibs.sh && \ touch $@ 3rdpartylibs: $(3rdpartylibs-stamp) gemma: $(3rdpartylibs-stamp) $(ENVWARPPER) cd cmd/gemma && "$(ENVWARPPER)" go build client: $(MAKE) -f Makefile.build -C client install: gemma cp cmd/gemma/gemma $(BINDIR) tar: all v="gemma-$$(hg id -i)" ;\ tar --transform "s@^@$${v}/@" \ -cJf "../$${v}.tar.xz" \ cmd/gemma/gemma schema web example_conf.toml clean: $(MAKE) -f Makefile.build -C client $@ rm -f "$(gemma-bin)" rm -rf "$(BUILDBASE)"