Mercurial > gemma
view Makefile @ 5730:a88d9f588aec
Bumped to next dev version.
author | wilde@azure1.rgb.intevation.de |
---|---|
date | Thu, 15 Feb 2024 16:27:47 +0100 |
parents | 5049f7ad9faa |
children | c23fa3d1824c |
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 .PHONY: all gemma gmaggregate client clean all: gemma gmaggregate client $(ENVWARPPER): @echo "Preparing go build environment:" mkdir -p "$(GOPATH)" mkdir -p "$(GOCACHE)" @echo "Creating wrapper script:" echo '#!/bin/sh' >"$(ENVWARPPER)" echo 'export GOPATH=$(GOPATH)' >>"$(ENVWARPPER)" echo 'export GOCACHE=$(GOCACHE)' >>"$(ENVWARPPER)" echo 'export GOAMD64=v3' >>"$(ENVWARPPER)" echo 'exec "$$@"' >>"$(ENVWARPPER)" chmod +x "$(ENVWARPPER)" gemma: $(ENVWARPPER) "$(ENVWARPPER)" go build -o ./cmd/gemma/gemma ./cmd/gemma gmaggregate: $(ENVWARPPER) cd ./contrib/gmaggregate; "$(ENVWARPPER)" go build client: $(MAKE) -f Makefile.build -C client install: gemma cp cmd/gemma/gemma $(BINDIR) cp contrib/gmaggregate/gmaggregate $(BINDIR) tar: all v="gemma-$$(hg id -i)" ;\ tar --transform "s@^@$${v}/@" \ -cJf "../$${v}.tar.xz" \ cmd/gemma/gemma \ contrib/gmaggregate/gmaggregate \ schema style-templates report-templates \ web misc example_conf.toml clean: $(MAKE) -f Makefile.build -C client $@ rm -f contrib/gmaggregate/gmaggregate rm -f cmd/gemma/gemma chmod -R u+w "$(BUILDBASE)" # This is neccessary for deletion to work... rm -rf "$(BUILDBASE)"