build: fall back to VERSION file when git describe fails
- SHA
3a0fb9f25422089b2262fe78e15e831886d0ba04- Parents
-
dafc91b - Tree
6348a73
3a0fb9f
3a0fb9f25422089b2262fe78e15e831886d0ba04dafc91b
6348a73| Status | File | + | - |
|---|---|---|---|
| M |
Makefile
|
7 | 2 |
| A |
VERSION
|
1 | 0 |
Makefilemodified@@ -5,8 +5,13 @@ | ||
| 5 | 5 | PROJECT_NAME = gitswitch-c |
| 6 | 6 | TARGET = gitswitch |
| 7 | 7 | |
| 8 | -# Version: use VERSION/COMMIT env vars if set (for tarball builds), else extract from git | |
| 9 | -VERSION ?= $(shell git describe --tags --always 2>/dev/null | sed 's/^v//' || echo "unknown") | |
| 8 | +# Version: use VERSION/COMMIT env vars if set (for tarball builds), else extract | |
| 9 | +# from git, and fall back to the VERSION file shipped in source tarballs when | |
| 10 | +# `git describe` produces nothing (e.g. GitHub release tarballs strip .git). | |
| 11 | +VERSION ?= $(shell git describe --tags --always 2>/dev/null | sed 's/^v//') | |
| 12 | +ifeq ($(strip $(VERSION)),) | |
| 13 | + VERSION := $(shell cat VERSION 2>/dev/null || echo unknown) | |
| 14 | +endif | |
| 10 | 15 | COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown") |
| 11 | 16 | VERSION_FLAGS = -DGITSWITCH_VERSION=\"$(VERSION)\" -DGITSWITCH_COMMIT=\"$(COMMIT)\" |
| 12 | 17 | |
VERSIONadded@@ -0,0 +1,1 @@ | ||
| 1 | +1.3.1 | |