diff options
| author | Daniel Henrique Barboza <[email protected]> | 2024-08-05 09:46:32 -0300 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2024-08-24 13:59:05 +0530 |
| commit | c5b6ebd141ee33a6280f77bd84be8d0603ef7f77 (patch) | |
| tree | 4bfb1244ce20061872dda661adfdffb87ee4bbe9 | |
| parent | 70f3441452ea470fb01be660abdd05495e3b19fd (diff) | |
Makefile: fix OPENSBI_VERSION_GIT build with submodules
When building OpenSBI via a submodule, OPENSBI_VERSION_GIT can be left
unset in case '.git' isn't a dir. This is the case when building OpenSBI
as a QEMU submodule:
$ cat .git
gitdir: ../../.git/modules/roms/opensbi
As a result, building OpenSBI tag v1.5.1 in QEMU will result in a binary
that will have "OpenSBI v1.5" as a banner.
Use "git rev-parse --git-dir" instead of checking if '.git' is a dir to
detect if the current dir is a git repo.
Signed-off-by: Daniel Henrique Barboza <[email protected]>
Reviewed-by: Anup Patel <[email protected]>
| -rw-r--r-- | Makefile | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -91,7 +91,16 @@ endif # Find library version OPENSBI_VERSION_MAJOR=`grep "define OPENSBI_VERSION_MAJOR" $(include_dir)/sbi/sbi_version.h | sed 's/.*MAJOR.*\([0-9][0-9]*\)/\1/'` OPENSBI_VERSION_MINOR=`grep "define OPENSBI_VERSION_MINOR" $(include_dir)/sbi/sbi_version.h | sed 's/.*MINOR.*\([0-9][0-9]*\)/\1/'` -OPENSBI_VERSION_GIT=$(shell if [ -d $(src_dir)/.git ]; then git describe 2> /dev/null; fi) +OPENSBI_VERSION_GIT= + +# Detect 'git' presence before issuing 'git' commands +GIT_AVAIL=$(shell command -v git 2> /dev/null) +ifneq ($(GIT_AVAIL),) +GIT_DIR=$(shell git rev-parse --git-dir 2> /dev/null) +ifneq ($(GIT_DIR),) +OPENSBI_VERSION_GIT=$(shell if [ -d $(GIT_DIR) ]; then git describe 2> /dev/null; fi) +endif +endif # Setup compilation commands ifneq ($(LLVM),) |
