~ruther/qmk_firmware

525be128c9a00101f630f2bad6c661046749762e — QMK Bot 4 years ago 7b77634 + 5edfdef
Merge remote-tracking branch 'origin/master' into develop
1 files changed, 3 insertions(+), 70 deletions(-)

M Makefile
M Makefile => Makefile +3 -70
@@ 68,37 68,8 @@ PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
# Initialize the path elements list for further processing
$(eval $(call NEXT_PATH_ELEMENT))

# This function sets the KEYBOARD; KEYMAP and SUBPROJECT to the correct
# variables depending on which directory you stand in.
# It's really a very simple if else chain, if you squint enough,
# but the makefile syntax makes it very verbose.
# If we are in a subfolder of keyboards
#
# *** No longer needed **
#
# ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
#     $(eval $(call NEXT_PATH_ELEMENT))
#     KEYBOARD := $(CURRENT_PATH_ELEMENT)
#     $(eval $(call NEXT_PATH_ELEMENT))
#     # If we are in a subfolder of keymaps, or in other words in a keymap
#     # folder
#     ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
#         $(eval $(call NEXT_PATH_ELEMENT))
#         KEYMAP := $(CURRENT_PATH_ELEMENT)
#      # else if we are not in the keyboard folder itself
#     else ifneq ($(CURRENT_PATH_ELEMENT),)
#         # the we can assume it's a subproject, as no other folders
#         # should have make files in them
#         SUBPROJECT := $(CURRENT_PATH_ELEMENT)
#         $(eval $(call NEXT_PATH_ELEMENT))
#         # if we are inside a keymap folder of a subproject
#         ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
#             $(eval $(call NEXT_PATH_ELEMENT))
#             KEYMAP := $(CURRENT_PATH_ELEMENT)
#         endif
#     endif
# endif

# Phony targets to enable a few simple make commands outside the main processing below.
.PHONY: list-keyboards
list-keyboards:
	util/list_keyboards.sh | sort -u | tr '\n' ' '


@@ 131,7 102,6 @@ endif
# Uncomment these for debugging
# $(info Keyboard: $(KEYBOARD))
# $(info Keymap: $(KEYMAP))
# $(info Subproject: $(SUBPROJECT))


# Set the default goal depending on where we are running make from


@@ 189,7 159,6 @@ endef
# A recursive helper function for finding the longest match
# $1 The list to be checked
# It works by always removing the currently matched item from the list
# and call itself recursively, until a match is found
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
    # Stop the recursion when the list is empty
    ifneq ($1,)


@@ 386,23 355,6 @@ define PARSE_ALL_KEYBOARDS
    $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell util/list_keyboards.sh noci | sort -u)))
endef

# $1 Subproject
# When entering this, the keyboard and subproject are known, so now we need
# to determine which keymaps are going to get compiled
# define PARSE_SUBPROJECT

# endef

# If we want to parse all subprojects, but the keyboard doesn't have any,
# then use defaultsp instead
# define PARSE_ALL_SUBPROJECTS
#     ifeq ($$(SUBPROJECTS),)
#         $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
#     else
#         $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
#     endif
# endef

# Prints a list of all known keymaps for the given keyboard
define LIST_ALL_KEYMAPS
    COMMAND_true_LIST_KEYMAPS := \


@@ 544,12 496,12 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;

endef

# Let's match everything, we handle all the rule parsing ourselves
# Catch everything and parse the command line ourselves.
.PHONY: %
%:
	# Check if we have the CMP tool installed
	cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
	# Ensure that bin/qmk works. This will be a failing check after the next develop merge on 2020 Aug 29.
	# Ensure that bin/qmk works. This will be a failing check after the next develop merge
	if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
	# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT


@@ 580,25 532,6 @@ endif
	$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
	if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;

# These no longer work because of the colon system

# All should compile everything
# .PHONY: all
# all: all-keyboards test-all

# Define some shortcuts, mostly for compatibility with the old syntax
# .PHONY: all-keyboards
# all-keyboards: all\:all\:all

# .PHONY: all-keyboards-defaults
# all-keyboards-defaults: all\:default

# .PHONY: test
# test: test-all

# .PHONY: test-clean
# test-clean: test-all-clean

lib/%:
	git submodule sync $?
	git submodule update --init $?