Просмотр исходного кода

`qmk generate-rules-mk`: add `--escape` switch for makefile logic (#12101)

Ryan 4 лет назад
Родитель
Сommit
6461087c86
2 измененных файлов с 6 добавлено и 2 удалено
  1. 1 1
      build_keyboard.mk
  2. 5 1
      lib/python/qmk/cli/generate/rules_mk.py

+ 1 - 1
build_keyboard.mk

@@ -97,7 +97,7 @@ MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
 MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
 
 # Pull in rules from info.json
-INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk)
+INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk)
 include $(INFO_RULES_MK)
 
 # Check for keymap.json first, so we can regenerate keymap.c

+ 5 - 1
lib/python/qmk/cli/generate/rules_mk.py

@@ -36,6 +36,7 @@ def process_mapping_rule(kb_info_json, rules_key, info_dict):
 
 @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to')
 @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
+@cli.argument('-e', '--escape', arg_only=True, action='store_true', help="Escape spaces in quiet mode")
 @cli.argument('-kb', '--keyboard', help='Keyboard to generate config.h for.')
 @cli.subcommand('Used by the make system to generate info_config.h from info.json', hidden=True)
 @automagic_keyboard
@@ -83,7 +84,10 @@ def generate_rules_mk(cli):
         cli.args.output.write_text(rules_mk)
 
         if cli.args.quiet:
-            print(cli.args.output)
+            if cli.args.escape:
+                print(cli.args.output.as_posix().replace(' ', '\\ '))
+            else:
+                print(cli.args.output)
         else:
             cli.log.info('Wrote rules.mk to %s.', cli.args.output)