# HG changeset patch # User Sascha Wilde # Date 1532101304 -7200 # Node ID 01c5794608e0e0d128383a8298b43504a9ef1db8 # Parent 96bb671cdd982659b116990444c9e5c1b531b7d5 Added simple makefiles to build back end and client. diff -r 96bb671cdd98 -r 01c5794608e0 Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Fri Jul 20 17:41:44 2018 +0200 @@ -0,0 +1,51 @@ +# Simple Makefile to build all of Gemma +# +# Authors: Sascha Wilde + +basedir := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +BUILDBASE := $(basedir).buildbase +GOPATH := $(BUILDBASE)/go +GOCACHE := $(BUILDBASE)/gocache +ENVWARPPER := $(BUILDBASE)/run-with-env.sh + +export BUILDBASE + +tokenserver-bin := cmd/tokenserver/tokenserver +3rdpartylibs-stamp := $(BUILDBASE)/3rdpartylibs-build + +.PHONY: all 3rdpartylibs tokenserver client clean + +all: tokenserver 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) + "$(ENVWARPPER)" bash ./3rdpartylibs.sh && \ + touch $@ + +3rdpartylibs: $(3rdpartylibs-stamp) + +$(tokenserver-bin): $(3rdpartylibs-stamp) $(ENVWARPPER) + cd cmd/tokenserver && "$(ENVWARPPER)" go build + +tokenserver: $(tokenserver-bin) + +client: + $(MAKE) -f Makefile.build -C client + +clean: + $(MAKE) -f Makefile.build -C client $@ + rm "$(tokenserver-bin)" + rm -rf "$(BUILDBASE)" diff -r 96bb671cdd98 -r 01c5794608e0 client/Makefile.build --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/Makefile.build Fri Jul 20 17:41:44 2018 +0200 @@ -0,0 +1,16 @@ +#-*-makefile-*- +# Authors: Sascha Wilde + +.PHONY: all dependencies clean + +all: dependencies .env + yarn build + +dependencies: + yarn install + +.env: + cp .env.sample $@ + +clean: + rm -rf ../web