git.mk 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. GIT_COMMIT := $(shell git rev-parse --short HEAD || echo 'unknown')
  2. GIT_BRANCH := $(shell echo $${WORKFLOW_BRANCH_OR_TAG-$$(git rev-parse --abbrev-ref HEAD || echo 'unknown')})
  3. GIT_BRANCH_NUM := $(shell git rev-list --count HEAD || echo 'nan')
  4. BUILD_DATE := $(shell date '+%d-%m-%Y' || echo 'unknown')
  5. BUILD_TIME := $(shell date '+%H:%M:%S' || echo 'unknown')
  6. VERSION := $(shell git describe --tags --abbrev=0 --exact-match 2>/dev/null || echo 'unknown')
  7. GIT_DIRTY_BUILD := $(shell git diff --quiet ; echo $$?)
  8. GIT_DIRTY_SUFFIX :=
  9. ifeq ($(GIT_DIRTY_BUILD), 1)
  10. GIT_DIRTY_SUFFIX := -dirty
  11. endif
  12. CFLAGS += \
  13. -DGIT_COMMIT=\"$(GIT_COMMIT)\" \
  14. -DGIT_BRANCH=\"$(GIT_BRANCH)\" \
  15. -DGIT_BRANCH_NUM=\"$(GIT_BRANCH_NUM)\" \
  16. -DBUILD_DATE=\"$(BUILD_DATE)\" \
  17. -DVERSION=\"$(VERSION)\" \
  18. -DTARGET=$(HARDWARE_TARGET) \
  19. -DBUILD_DIRTY=$(GIT_DIRTY_BUILD)
  20. # if suffix is set in environment (by Github), use it
  21. ifeq (${DIST_SUFFIX},)
  22. DIST_SUFFIX := local-$(GIT_COMMIT)$(GIT_DIRTY_SUFFIX)
  23. else
  24. DIST_SUFFIX := ${DIST_SUFFIX}$(GIT_DIRTY_SUFFIX)
  25. endif
  26. #VERSION_STRING := $(VERSION) ($(GIT_BRANCH) @ $(GIT_COMMIT)), built $(BUILD_DATE) $(BUILD_TIME)
  27. VERSION_STRING := $(DIST_SUFFIX), $(GIT_BRANCH)