mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-22 01:13:00 +02:00
Before this change, setting `GIT_VERSION` in `make`'s environment was intended to allow the user to specify a custom build id. As it turns out, `test/test.mk` had duplicated the logic from `board/common/post-build.sh` to unconditionally override any value set in it. Because of the way `make` handles variables, where assignments to variables inherited from the environment are exported back to it[^1], this would mean that `test.mk` would always clobber any value set by the user. Furthermore, there is also this file called `buildroot/package/git/git.mk`, which also (reasonably) has opinions about what the proper value of `GIT_VERSION` should be. In summary, this was a bit of a mess. Therefore: Make sure that there is one single place where we determine the build id and version, and make sure that those variables are scoped under the `INFIX_` prefix to avoid clashing with any other component. [^1]: https://www.gnu.org/software/make/manual/html_node/Environment.html
12 lines
646 B
Makefile
12 lines
646 B
Makefile
IXMSG = printf "\e[37;44m>>> $(call qstrip,$(1))\e[0m\n"
|
|
|
|
INFIX_TOPDIR = $(if $(INFIX_OEM_PATH),$(INFIX_OEM_PATH),$(BR2_EXTERNAL_INFIX_PATH))
|
|
|
|
# Unless the user specifies an explicit build id, source it from git.
|
|
# The build id also becomes the image version, unless an official
|
|
# release is being built.
|
|
export INFIX_BUILD_ID ?= $(shell git -C $(INFIX_TOPDIR) describe --dirty --always --tags)
|
|
export INFIX_VERSION = $(if $(INFIX_RELEASE),$(INFIX_RELEASE),$(INFIX_BUILD_ID))
|
|
|
|
INFIX_CFLAGS:=-Wall -Werror -Wextra -Wno-unused-parameter -Wformat=2 -Wformat-overflow=2 -Winit-self -Wstrict-overflow=4 -Wno-format-truncation -Wno-format-nonliteral
|