|
@@ -87,53 +87,20 @@ endef
|
|
|
|
|
|
COMPARE_AND_REMOVE_FROM_RULE = $(eval $(call COMPARE_AND_REMOVE_FROM_RULE_HELPER,$1))$(RULE_FOUND)
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-define TRY_TO_MATCH_RULE_FROM_LIST_HELPER3
|
|
|
- ifneq ($1,)
|
|
|
- ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,$$(firstword $1)),true)
|
|
|
- MATCHED_ITEM := $$(firstword $1)
|
|
|
- else
|
|
|
- $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$$(wordlist 2,9999,$1)))
|
|
|
- endif
|
|
|
- endif
|
|
|
-endef
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
|
|
|
-
|
|
|
- ifneq ($1,)
|
|
|
- RULE_BEFORE := $$(RULE)
|
|
|
- $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$1))
|
|
|
-
|
|
|
- ifeq ($$(RULE_FOUND),true)
|
|
|
-
|
|
|
- BEST_MATCH := $$(MATCHED_ITEM)
|
|
|
- BEST_MATCH_RULE := $$(RULE)
|
|
|
- RULE_FOUND := false
|
|
|
- RULE := $$(RULE_BEFORE)
|
|
|
- $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$$(filter-out $$(MATCHED_ITEM),$1)))
|
|
|
- endif
|
|
|
- endif
|
|
|
-endef
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER
|
|
|
- BEST_MATCH :=
|
|
|
- $$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$1))
|
|
|
- ifneq ($$(BEST_MATCH),)
|
|
|
+
|
|
|
+ TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE))
|
|
|
+ TOKENr:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[1])" $$(RULE))
|
|
|
+
|
|
|
+ FOUNDx:=$$(shell echo $1 | tr " " "\n" | grep -Fx $$(TOKEN1))
|
|
|
+ ifneq ($$(FOUNDx),)
|
|
|
+ RULE := $$(TOKENr)
|
|
|
RULE_FOUND := true
|
|
|
- RULE := $$(BEST_MATCH_RULE)
|
|
|
- MATCHED_ITEM := $$(BEST_MATCH)
|
|
|
+ MATCHED_ITEM := $$(TOKEN1)
|
|
|
else
|
|
|
RULE_FOUND := false
|
|
|
MATCHED_ITEM :=
|