summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-01-02 22:12:54 +0000
committerGitHub <noreply@github.com>2023-01-03 09:12:54 +1100
commit4b2fd4212254a8fed0d7e59aba3e43671f5bfbd2 (patch)
treefe096a629fe39ede8c44a367899830b17b478df8
parentb297531dbf645a28fd5a67e546a9ff27d49e1b1e (diff)
Build warning when not valid work-tree (#19475)
-rw-r--r--Makefile12
-rw-r--r--builddefs/message.mk2
2 files changed, 12 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 48cf35248f..65b33105c4 100644
--- a/Makefile
+++ b/Makefile
@@ -19,8 +19,13 @@ endif
# Otherwise the [OK], [ERROR] and [WARN] messages won't be displayed correctly
override SILENT := false
+ifeq ($(shell git rev-parse --is-inside-work-tree 2>/dev/null),)
+ export SKIP_GIT := yes
+ export NOT_REPO := yes
+endif
+
ifdef SKIP_VERSION
- SKIP_GIT := yes
+ export SKIP_GIT := yes
endif
ifndef SUB_IS_SILENT
@@ -394,8 +399,11 @@ endef
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# Ensure that $(QMK_BIN) works.
if ! $(QMK_BIN) hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi
- # Check if the submodules are dirty, and display a warning if they are
+ifdef NOT_REPO
+ printf "$(MSG_NOT_REPO)"
+endif
ifndef SKIP_GIT
+ # Check if the submodules are dirty, and display a warning if they are
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 50 --init lib/chibios-contrib; fi
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 50 --init lib/lufa; fi
diff --git a/builddefs/message.mk b/builddefs/message.mk
index 2bd01669f8..34a5e7da91 100644
--- a/builddefs/message.mk
+++ b/builddefs/message.mk
@@ -64,6 +64,8 @@ MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:
MSG_CREATING_LIBRARY = Creating library:
MSG_GENERATING = Generating:
+MSG_NOT_REPO = $(WARN_COLOR)WARNING:$(NO_COLOR) Target folder is not a git repo, you probably downloaded a zip file instead of cloning.\n\
+Please consider following $(BOLD)https://docs.qmk.fm/\#/newbs_getting_started$(NO_COLOR).\n\n
MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR) Some git submodules are out of date or modified.\n\
Please consider running $(BOLD)qmk git-submodule$(NO_COLOR).\n\n
MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, please install diffutils\n$(NO_COLOR)