diff options
author | Nick Brassel <nick@tzarc.org> | 2021-01-05 07:36:02 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-05 07:36:02 +1100 |
commit | 25e972e8a41909f88ce66a7b8e9ac3f744425156 (patch) | |
tree | c12a5fdb3f6049e1f62f168ed363030a913a49c1 | |
parent | cd128bbadbb391765945985925fac9b6b6f20448 (diff) | |
download | qmk_firmware-25e972e8a41909f88ce66a7b8e9ac3f744425156.tar.gz qmk_firmware-25e972e8a41909f88ce66a7b8e9ac3f744425156.zip |
Fix up build dependencies. (#11435)
-rw-r--r-- | build_keyboard.mk | 12 | ||||
-rw-r--r-- | tmk_core/rules.mk | 8 |
2 files changed, 15 insertions, 5 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk index d9bb2b92e..9685d1f63 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk | |||
@@ -319,6 +319,10 @@ $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) | |||
319 | $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) | 319 | $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) |
320 | bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h | 320 | bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h |
321 | 321 | ||
322 | generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | ||
323 | |||
324 | .INTERMEDIATE : generated-files | ||
325 | |||
322 | # project specific files | 326 | # project specific files |
323 | SRC += $(KEYBOARD_SRC) \ | 327 | SRC += $(KEYBOARD_SRC) \ |
324 | $(KEYMAP_C) \ | 328 | $(KEYMAP_C) \ |
@@ -393,10 +397,16 @@ all: | |||
393 | echo "skipped" >&2 | 397 | echo "skipped" >&2 |
394 | endif | 398 | endif |
395 | 399 | ||
396 | build: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h elf cpfirmware | 400 | build: elf cpfirmware |
397 | check-size: build | 401 | check-size: build |
398 | check-md5: build | 402 | check-md5: build |
399 | objs-size: build | 403 | objs-size: build |
400 | 404 | ||
401 | include show_options.mk | 405 | include show_options.mk |
402 | include $(TMK_PATH)/rules.mk | 406 | include $(TMK_PATH)/rules.mk |
407 | |||
408 | # Ensure we have generated files available for each of the objects | ||
409 | define GEN_FILES | ||
410 | $1: generated-files | ||
411 | endef | ||
412 | $(foreach O,$(OBJ),$(eval $(call GEN_FILES,$(patsubst %.a,%.o,$(O))))) | ||
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index b595ddb1d..a77e55dd1 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk | |||
@@ -324,27 +324,27 @@ $1_CXXFLAGS = $$(ALL_CXXFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) $ | |||
324 | $1_ASFLAGS = $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) | 324 | $1_ASFLAGS = $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) |
325 | 325 | ||
326 | # Compile: create object files from C source files. | 326 | # Compile: create object files from C source files. |
327 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | $(BEGIN) | 327 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) |
328 | @mkdir -p $$(@D) | 328 | @mkdir -p $$(@D) |
329 | @$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD) | 329 | @$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD) |
330 | $$(eval CMD := $$(CC) -c $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) | 330 | $$(eval CMD := $$(CC) -c $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
331 | @$$(BUILD_CMD) | 331 | @$$(BUILD_CMD) |
332 | 332 | ||
333 | # Compile: create object files from C++ source files. | 333 | # Compile: create object files from C++ source files. |
334 | $1/%.o : %.cpp $1/%.d $1/cxxflags.txt $1/compiler.txt $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | $(BEGIN) | 334 | $1/%.o : %.cpp $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN) |
335 | @mkdir -p $$(@D) | 335 | @mkdir -p $$(@D) |
336 | @$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD) | 336 | @$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD) |
337 | $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) | 337 | $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
338 | @$$(BUILD_CMD) | 338 | @$$(BUILD_CMD) |
339 | 339 | ||
340 | $1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | $(BEGIN) | 340 | $1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN) |
341 | @mkdir -p $$(@D) | 341 | @mkdir -p $$(@D) |
342 | @$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD) | 342 | @$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD) |
343 | $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) | 343 | $$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
344 | @$$(BUILD_CMD) | 344 | @$$(BUILD_CMD) |
345 | 345 | ||
346 | # Assemble: create object files from assembler source files. | 346 | # Assemble: create object files from assembler source files. |
347 | $1/%.o : %.S $1/asflags.txt $1/compiler.txt $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | $(BEGIN) | 347 | $1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN) |
348 | @mkdir -p $$(@D) | 348 | @mkdir -p $$(@D) |
349 | @$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD) | 349 | @$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD) |
350 | $$(eval CMD=$$(CC) -c $$($1_ASFLAGS) $$< -o $$@) | 350 | $$(eval CMD=$$(CC) -c $$($1_ASFLAGS) $$< -o $$@) |