diff options
author | silverwind <me@silverwind.io> | 2020-02-11 20:42:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-11 20:42:03 +0100 |
commit | d9c79986eae0a4b4ccadc39c89e84c6fe3730392 (patch) | |
tree | 4c01e4dc56e6d498ef7ba088c138d3581d94e138 /Makefile | |
parent | bfd62b6f0188fe2488dbaf5d8250ef37cd0a14e5 (diff) | |
download | gitea-d9c79986eae0a4b4ccadc39c89e84c6fe3730392.tar.gz gitea-d9c79986eae0a4b4ccadc39c89e84c6fe3730392.zip |
add TAGS variable prereq on make targets that use it (#10219)
Write out TAGS to .make_evidence/tags and compare it to the previous
invocation. If they differ, insert the evidence file into the prereqs
of targets that use TAGS. I made it .PHONY so it always builds.
I did not include the prereq on release tasks, asssuming the will always
do a clean build.
Fixes: https://github.com/go-gitea/gitea/issues/10196
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -70,6 +70,7 @@ FOMANTIC_DEST_DIR := public/fomantic FOMANTIC_EVIDENCE := $(MAKE_EVIDENCE_DIR)/fomantic TAGS ?= +TAGS_EVIDENCE := $(MAKE_EVIDENCE_DIR)/tags TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'gitea-temp') @@ -168,8 +169,17 @@ fmt: vet: $(GO) vet $(PACKAGES) +.PHONY: $(TAGS_EVIDENCE) +$(TAGS_EVIDENCE): + @mkdir -p $(MAKE_EVIDENCE_DIR) + @echo "$(TAGS)" > $(TAGS_EVIDENCE) + +ifneq "$(TAGS)" "$(shell cat $(TAGS_EVIDENCE) 2>/dev/null)" +TAGS_PREREQ := $(TAGS_EVIDENCE) +endif + .PHONY: generate -generate: fomantic webpack +generate: fomantic webpack $(TAGS_PREREQ) GO111MODULE=on $(GO) generate -mod=vendor -tags '$(TAGS)' $(PACKAGES) .PHONY: generate-swagger @@ -425,14 +435,14 @@ migrations.sqlite.test: $(GO_SOURCES) .PHONY: check check: test -.PHONY: install +.PHONY: install $(TAGS_PREREQ) install: $(wildcard *.go) $(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' .PHONY: build build: go-check generate $(EXECUTABLE) -$(EXECUTABLE): $(GO_SOURCES) +$(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ) GO111MODULE=on $(GO) build -mod=vendor $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@ .PHONY: release |