Skip to content

Commit a3544f6

Browse files
committed
Refactor make install target and push VERSIONfile content to Go
1 parent 5748b0a commit a3544f6

2 files changed

Lines changed: 43 additions & 12 deletions

File tree

Makefile

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
# immunities granted to it by virtue of its status as an
2323
# Intergovernmental Organization or submit itself to any jurisdiction.
2424

25-
VERSION := 0.6
25+
include VERSION
26+
2627
BUILD := `git rev-parse --short HEAD`
2728

2829
ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
@@ -37,11 +38,20 @@ VERBOSE_1 := -v
3738
VERBOSE_2 := -v -x
3839

3940
WHAT := o2control-core o2control-executor coconut peanut
41+
WHAT_o2control-core_BUILD_FLAGS=$(CGO_LDFLAGS) $(BUILD_ENV_FLAGS)
42+
WHAT_o2control-executor_BUILD_FLAGS=$(CGO_LDFLAGS) $(BUILD_ENV_FLAGS)
43+
WHAT_coconut_BUILD_FLAGS=$(CGO_LDFLAGS) $(BUILD_ENV_FLAGS)
44+
WHAT_peanut_BUILD_FLAGS=$(CGO_LDFLAGS) $(BUILD_ENV_FLAGS)
45+
46+
INSTALL_WHAT:=$(patsubst %, install_%, $(WHAT))
47+
48+
4049
GENERATE_DIRS := ./core ./executor ./coconut/cmd
4150
SRC_DIRS := ./cmd/* ./core ./coconut ./executor ./common ./configuration ./occ/peanut
4251

4352
# Use linker flags to provide version/build settings to the target
44-
LDFLAGS=-ldflags "-X=$(REPOPATH).Version=$(VERSION) -X=$(REPOPATH).Build=$(BUILD)"
53+
PROD :=-X=$(REPOPATH)/common/product
54+
LDFLAGS=-ldflags "$(PROD).VERSION_MAJOR=$(VERSION_MAJOR) $(PROD).VERSION_MINOR=$(VERSION_MINOR) $(PROD).VERSION_PATCH=$(VERSION_PATCH) $(PROD).BUILD=$(BUILD)"
4555
HAS_GOGOPROTO := $(shell command -v protoc-gen-gofast 2> /dev/null)
4656

4757
GO_GET_U1 := $(addprefix github.com/gogo/protobuf/, proto protoc-gen-gofast protoc-gen-gogofast protoc-gen-gogofaster protoc-gen-gogoslick gogoproto)
@@ -54,16 +64,25 @@ build: $(WHAT)
5464

5565
all: vendor generate build
5666

57-
install:
58-
@for w in $(WHAT); do \
59-
echo -e "\e[1;33mgo install\e[0m ./cmd/$$w \e[1;33m==>\e[0m \e[1;34m$$GOPATH/bin/$$w\e[0m"; \
60-
$(BUILD_FLAGS) go install $(VERBOSE_$(V)) $(LDFLAGS) ./cmd/$$w; \
61-
done
67+
install: $(INSTALL_WHAT)
68+
# @for w in $(WHAT); do \
69+
# FLAGS="WHAT_$${w}_BUILD_FLAGS"; \
70+
# echo -e "${$${FLAGS}}"; \
71+
# echo -e "\e[1;33mgo install\e[0m ./cmd/$$w \e[1;33m==>\e[0m \e[1;34m$$GOPATH/bin/$$w\e[0m"; \
72+
# $(WHAT_$${w}_BUILD_FLAGS) go install $(VERBOSE_$(V)) $(LDFLAGS) ./cmd/$$w; \
73+
# done
6274

6375
$(WHAT):
64-
@echo -e "\e[1;33m$(BUILD_FLAGS) go build\e[0m ./cmd/$@ \e[1;33m==>\e[0m \e[1;34m./bin/$@\e[0m"
76+
# @echo -e "WHAT_$@_BUILD_FLAGS $(WHAT_$@_BUILD_FLAGS)"
77+
@echo -e "\e[1;33m$(WHAT_$@_BUILD_FLAGS) go build\e[0m ./cmd/$@ \e[1;33m==>\e[0m \e[1;34m./bin/$@\e[0m"
78+
# @echo ${PWD}
79+
@$(WHAT_$@_BUILD_FLAGS) go build $(VERBOSE_$(V)) -o bin/$@ $(LDFLAGS) ./cmd/$@
80+
81+
$(INSTALL_WHAT):
82+
# @echo -e "WHAT_$(@:install_%=%)_BUILD_FLAGS $(WHAT_$(@:install_%=%)_BUILD_FLAGS)"
83+
@echo -e "\e[1;33m$(WHAT_$(@:install_%=%)_BUILD_FLAGS) go install\e[0m ./cmd/$(@:install_%=%) \e[1;33m==>\e[0m \e[1;34m$$GOPATH/bin/$(@:install_%=%)\e[0m"
6584
# @echo ${PWD}
66-
@$(BUILD_FLAGS) go build $(VERBOSE_$(V)) -o bin/$@ $(LDFLAGS) ./cmd/$@
85+
@$(WHAT_$(@:install_%=%)_BUILD_FLAGS) go install $(VERBOSE_$(V)) $(LDFLAGS) ./cmd/$(@:install_%=%)
6786

6887
generate:
6988
ifndef HAS_GOGOPROTO

common/product/constants.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,21 @@
2424

2525
package product
2626

27-
const (
27+
import "strings"
28+
29+
30+
var ( // Acquired from -ldflags="-X=..." in Makefile
31+
VERSION_MAJOR = "0"
32+
VERSION_MINOR = "0"
33+
VERSION_PATCH = "0"
34+
BUILD = ""
35+
)
36+
37+
var (
2838
NAME = "o2control"
2939
PRETTY_SHORTNAME = "O² Control"
3040
PRETTY_FULLNAME = "O² Control System"
31-
VERSION = "0.6"
32-
)
41+
VERSION = strings.Join([]string{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}, ".")
42+
VERSION_SHORT = VERSION
43+
VERSION_BUILD = strings.Join([]string{VERSION, BUILD}, "-")
44+
)

0 commit comments

Comments
 (0)