annotate Makefile @ 5684:536e842d9bfa sr-v2

Reorder vertices in tins to minimize delta distances.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 11 Feb 2024 22:32:55 +0100
parents 5049f7ad9faa
children c23fa3d1824c
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
402
20d2edbc863d Add install target for backend and use in Dockerfile
Tom Gottfried <tom@intevation.de>
parents: 303
diff changeset
11 BINDIR := /usr/local/bin
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
12
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
13 export BUILDBASE
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
14
5548
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
15 .PHONY: all gemma gmaggregate client clean
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
16
5548
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
17 all: gemma gmaggregate client
191
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 $(ENVWARPPER):
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
20 @echo "Preparing go build environment:"
4464
707450608829 Get rid of (ugly) 3rdpartylibs.sh script. Use go modules.
Sascha Wilde <wilde@intevation.de>
parents: 4397
diff changeset
21 mkdir -p "$(GOPATH)"
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
22 mkdir -p "$(GOCACHE)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
23 @echo "Creating wrapper script:"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
24 echo '#!/bin/sh' >"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
25 echo 'export GOPATH=$(GOPATH)' >>"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
26 echo 'export GOCACHE=$(GOCACHE)' >>"$(ENVWARPPER)"
5606
5049f7ad9faa Added optimization GOAMD64=v3 to build.
Sascha Wilde <wilde@sha-bang.de>
parents: 5548
diff changeset
27 echo 'export GOAMD64=v3' >>"$(ENVWARPPER)"
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
28 echo 'exec "$$@"' >>"$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
29 chmod +x "$(ENVWARPPER)"
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
30
4464
707450608829 Get rid of (ugly) 3rdpartylibs.sh script. Use go modules.
Sascha Wilde <wilde@intevation.de>
parents: 4397
diff changeset
31 gemma: $(ENVWARPPER)
707450608829 Get rid of (ugly) 3rdpartylibs.sh script. Use go modules.
Sascha Wilde <wilde@intevation.de>
parents: 4397
diff changeset
32 "$(ENVWARPPER)" go build -o ./cmd/gemma/gemma ./cmd/gemma
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
33
5548
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
34 gmaggregate: $(ENVWARPPER)
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
35 cd ./contrib/gmaggregate; "$(ENVWARPPER)" go build
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
36
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
37 client:
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
38 $(MAKE) -f Makefile.build -C client
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
39
402
20d2edbc863d Add install target for backend and use in Dockerfile
Tom Gottfried <tom@intevation.de>
parents: 303
diff changeset
40 install: gemma
20d2edbc863d Add install target for backend and use in Dockerfile
Tom Gottfried <tom@intevation.de>
parents: 303
diff changeset
41 cp cmd/gemma/gemma $(BINDIR)
5548
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
42 cp contrib/gmaggregate/gmaggregate $(BINDIR)
402
20d2edbc863d Add install target for backend and use in Dockerfile
Tom Gottfried <tom@intevation.de>
parents: 303
diff changeset
43
537
942a865986f6 Added simple build target for deployment tar.
Sascha Wilde <wilde@intevation.de>
parents: 402
diff changeset
44 tar: all
942a865986f6 Added simple build target for deployment tar.
Sascha Wilde <wilde@intevation.de>
parents: 402
diff changeset
45 v="gemma-$$(hg id -i)" ;\
942a865986f6 Added simple build target for deployment tar.
Sascha Wilde <wilde@intevation.de>
parents: 402
diff changeset
46 tar --transform "s@^@$${v}/@" \
942a865986f6 Added simple build target for deployment tar.
Sascha Wilde <wilde@intevation.de>
parents: 402
diff changeset
47 -cJf "../$${v}.tar.xz" \
5548
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
48 cmd/gemma/gemma \
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
49 contrib/gmaggregate/gmaggregate \
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
50 schema style-templates report-templates \
4664
7d2463c7b4ad Added cmd/oct2str/oct2str to Makefile.
Sascha Wilde <wilde@intevation.de>
parents: 4494
diff changeset
51 web misc example_conf.toml
537
942a865986f6 Added simple build target for deployment tar.
Sascha Wilde <wilde@intevation.de>
parents: 402
diff changeset
52
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
53 clean:
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
54 $(MAKE) -f Makefile.build -C client $@
5548
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
55 rm -f contrib/gmaggregate/gmaggregate
02c2d0edeb2a Added gmaggregate tool as contrib.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5400
diff changeset
56 rm -f cmd/gemma/gemma
4464
707450608829 Get rid of (ugly) 3rdpartylibs.sh script. Use go modules.
Sascha Wilde <wilde@intevation.de>
parents: 4397
diff changeset
57 chmod -R u+w "$(BUILDBASE)" # This is neccessary for deletion to work...
191
01c5794608e0 Added simple makefiles to build back end and client.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
58 rm -rf "$(BUILDBASE)"