aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2021-01-05 07:36:02 +1100
committerGitHub <noreply@github.com>2021-01-05 07:36:02 +1100
commit25e972e8a41909f88ce66a7b8e9ac3f744425156 (patch)
treec12a5fdb3f6049e1f62f168ed363030a913a49c1
parentcd128bbadbb391765945985925fac9b6b6f20448 (diff)
downloadqmk_firmware-25e972e8a41909f88ce66a7b8e9ac3f744425156.tar.gz
qmk_firmware-25e972e8a41909f88ce66a7b8e9ac3f744425156.zip
Fix up build dependencies. (#11435)
-rw-r--r--build_keyboard.mk12
-rw-r--r--tmk_core/rules.mk8
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
322generated-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
323SRC += $(KEYBOARD_SRC) \ 327SRC += $(KEYBOARD_SRC) \
324 $(KEYMAP_C) \ 328 $(KEYMAP_C) \
@@ -393,10 +397,16 @@ all:
393 echo "skipped" >&2 397 echo "skipped" >&2
394endif 398endif
395 399
396build: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h elf cpfirmware 400build: elf cpfirmware
397check-size: build 401check-size: build
398check-md5: build 402check-md5: build
399objs-size: build 403objs-size: build
400 404
401include show_options.mk 405include show_options.mk
402include $(TMK_PATH)/rules.mk 406include $(TMK_PATH)/rules.mk
407
408# Ensure we have generated files available for each of the objects
409define GEN_FILES
410$1: generated-files
411endef
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 $$@)