diff options
| author | Fred Sundvik <fsundvik@gmail.com> | 2016-08-15 08:58:05 +0300 |
|---|---|---|
| committer | Fred Sundvik <fsundvik@gmail.com> | 2016-08-20 03:56:41 +0300 |
| commit | 9028a412eaf95e37e98a9f2e4573653ec70d7e18 (patch) | |
| tree | c684154bf682eb988876f23115f8d56462c4e1b9 | |
| parent | 33fbd3be36bf58c6a02fb6b4ae99dc5bca7c8e58 (diff) | |
| download | qmk_firmware-9028a412eaf95e37e98a9f2e4573653ec70d7e18.tar.gz qmk_firmware-9028a412eaf95e37e98a9f2e4573653ec70d7e18.zip | |
Add output specific config file
| -rw-r--r-- | build_keyboard.mk | 17 | ||||
| -rw-r--r-- | tmk_core/rules.mk | 20 |
2 files changed, 16 insertions, 21 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk index 0debc4925..a6b578efb 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk | |||
| @@ -56,9 +56,17 @@ ifeq ($(PLATFORM),CHIBIOS) | |||
| 56 | OPT_OS = chibios | 56 | OPT_OS = chibios |
| 57 | endif | 57 | endif |
| 58 | 58 | ||
| 59 | CONFIG_H = $(KEYBOARD_PATH)/config.h | ||
| 60 | ifneq ($(SUBPROJECT),) | ||
| 61 | ifneq ("$(wildcard $(SUBPROJECT_C))","") | ||
| 62 | CONFIG_H = $(SUBPROJECT_PATH)/config.h | ||
| 63 | endif | ||
| 64 | endif | ||
| 65 | |||
| 59 | # Save the defines and includes here, so we don't include any keymap specific ones | 66 | # Save the defines and includes here, so we don't include any keymap specific ones |
| 60 | PROJECT_DEFS := $(OPT_DEFS) | 67 | PROJECT_DEFS := $(OPT_DEFS) |
| 61 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH) | 68 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH) |
| 69 | PROJECT_CONFIG := $(CONFIG_H) | ||
| 62 | 70 | ||
| 63 | MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) | 71 | MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) |
| 64 | MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c | 72 | MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c |
| @@ -94,13 +102,6 @@ KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) | |||
| 94 | 102 | ||
| 95 | ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") | 103 | ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") |
| 96 | CONFIG_H = $(KEYMAP_PATH)/config.h | 104 | CONFIG_H = $(KEYMAP_PATH)/config.h |
| 97 | else | ||
| 98 | CONFIG_H = $(KEYBOARD_PATH)/config.h | ||
| 99 | ifneq ($(SUBPROJECT),) | ||
| 100 | ifneq ("$(wildcard $(SUBPROJECT_C))","") | ||
| 101 | CONFIG_H = $(SUBPROJECT_PATH)/config.h | ||
| 102 | endif | ||
| 103 | endif | ||
| 104 | endif | 105 | endif |
| 105 | 106 | ||
| 106 | # # project specific files | 107 | # # project specific files |
| @@ -192,9 +193,11 @@ OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) | |||
| 192 | $(KEYMAP_OUTPUT)_SRC := $(SRC) | 193 | $(KEYMAP_OUTPUT)_SRC := $(SRC) |
| 193 | $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" | 194 | $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" |
| 194 | $(KEYMAP_OUTPUT)_INC := $(EXTRAINCDIRS) $(VPATH) | 195 | $(KEYMAP_OUTPUT)_INC := $(EXTRAINCDIRS) $(VPATH) |
| 196 | $(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) | ||
| 195 | $(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) | 197 | $(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) |
| 196 | $(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) | 198 | $(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) |
| 197 | $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) | 199 | $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) |
| 200 | $(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) | ||
| 198 | 201 | ||
| 199 | 202 | ||
| 200 | include $(TMK_PATH)/rules.mk | 203 | include $(TMK_PATH)/rules.mk |
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 7b2c842ed..977a2d0e5 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk | |||
| @@ -98,9 +98,6 @@ CFLAGS += -Wstrict-prototypes | |||
| 98 | #CFLAGS += -Wsign-compare | 98 | #CFLAGS += -Wsign-compare |
| 99 | CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) | 99 | CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) |
| 100 | CFLAGS += $(CSTANDARD) | 100 | CFLAGS += $(CSTANDARD) |
| 101 | ifdef CONFIG_H | ||
| 102 | CFLAGS += -include $(CONFIG_H) | ||
| 103 | endif | ||
| 104 | 101 | ||
| 105 | 102 | ||
| 106 | #---------------- Compiler Options C++ ---------------- | 103 | #---------------- Compiler Options C++ ---------------- |
| @@ -124,10 +121,6 @@ CPPFLAGS += -Wundef | |||
| 124 | #CPPFLAGS += -Wsign-compare | 121 | #CPPFLAGS += -Wsign-compare |
| 125 | CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) | 122 | CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) |
| 126 | #CPPFLAGS += $(CSTANDARD) | 123 | #CPPFLAGS += $(CSTANDARD) |
| 127 | ifdef CONFIG_H | ||
| 128 | CPPFLAGS += -include $(CONFIG_H) | ||
| 129 | endif | ||
| 130 | |||
| 131 | 124 | ||
| 132 | #---------------- Assembler Options ---------------- | 125 | #---------------- Assembler Options ---------------- |
| 133 | # -Wa,...: tell GCC to pass this to the assembler. | 126 | # -Wa,...: tell GCC to pass this to the assembler. |
| @@ -140,9 +133,6 @@ endif | |||
| 140 | # dump that will be displayed for a given single line of source input. | 133 | # dump that will be displayed for a given single line of source input. |
| 141 | ASFLAGS += $(ADEFS) | 134 | ASFLAGS += $(ADEFS) |
| 142 | ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 | 135 | ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 |
| 143 | ifdef CONFIG_H | ||
| 144 | ASFLAGS += -include $(CONFIG_H) | ||
| 145 | endif | ||
| 146 | 136 | ||
| 147 | #---------------- Library Options ---------------- | 137 | #---------------- Library Options ---------------- |
| 148 | # Minimalistic printf version | 138 | # Minimalistic printf version |
| @@ -296,10 +286,12 @@ BEGIN = gccversion sizebefore | |||
| 296 | 286 | ||
| 297 | define GEN_OBJRULE | 287 | define GEN_OBJRULE |
| 298 | $1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC)) | 288 | $1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC)) |
| 299 | $1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) | 289 | ifdef $1_CONFIG |
| 300 | $1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) | 290 | $1_CONFIG_FLAGS += -include $$($1_CONFIG) |
| 301 | $1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) | 291 | endif |
| 302 | $$(info $$($1_INCFLAGS)) | 292 | $1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) |
| 293 | $1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) | ||
| 294 | $1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) | ||
| 303 | 295 | ||
| 304 | # Compile: create object files from C source files. | 296 | # Compile: create object files from C source files. |
| 305 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) | 297 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) |
