diff options
| -rw-r--r-- | build_keyboard.mk | 31 | ||||
| -rw-r--r-- | tmk_core/rules.mk | 18 |
2 files changed, 22 insertions, 27 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk index d10412ea5..0debc4925 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk | |||
| @@ -43,8 +43,22 @@ ifneq ($(SUBPROJECT),) | |||
| 43 | endif | 43 | endif |
| 44 | endif | 44 | endif |
| 45 | 45 | ||
| 46 | # Save the defs here, so we don't include any keymap specific ones | 46 | # We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA |
| 47 | ifdef MCU_FAMILY | ||
| 48 | PLATFORM=CHIBIOS | ||
| 49 | else | ||
| 50 | PLATFORM=AVR | ||
| 51 | endif | ||
| 52 | |||
| 53 | ifeq ($(PLATFORM),CHIBIOS) | ||
| 54 | include $(TMK_PATH)/protocol/chibios.mk | ||
| 55 | include $(TMK_PATH)/chibios.mk | ||
| 56 | OPT_OS = chibios | ||
| 57 | endif | ||
| 58 | |||
| 59 | # Save the defines and includes here, so we don't include any keymap specific ones | ||
| 47 | PROJECT_DEFS := $(OPT_DEFS) | 60 | PROJECT_DEFS := $(OPT_DEFS) |
| 61 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH) | ||
| 48 | 62 | ||
| 49 | MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) | 63 | MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) |
| 50 | MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c | 64 | MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c |
| @@ -72,19 +86,6 @@ else | |||
| 72 | KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD) | 86 | KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD) |
| 73 | endif | 87 | endif |
| 74 | 88 | ||
| 75 | # We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA | ||
| 76 | ifdef MCU_FAMILY | ||
| 77 | PLATFORM=CHIBIOS | ||
| 78 | else | ||
| 79 | PLATFORM=AVR | ||
| 80 | endif | ||
| 81 | |||
| 82 | ifeq ($(PLATFORM),CHIBIOS) | ||
| 83 | include $(TMK_PATH)/protocol/chibios.mk | ||
| 84 | include $(TMK_PATH)/chibios.mk | ||
| 85 | OPT_OS = chibios | ||
| 86 | endif | ||
| 87 | |||
| 88 | # Object files directory | 89 | # Object files directory |
| 89 | # To put object files in current directory, use a dot (.), do NOT make | 90 | # To put object files in current directory, use a dot (.), do NOT make |
| 90 | # this an empty or blank macro! | 91 | # this an empty or blank macro! |
| @@ -190,8 +191,10 @@ endif | |||
| 190 | OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) | 191 | OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) |
| 191 | $(KEYMAP_OUTPUT)_SRC := $(SRC) | 192 | $(KEYMAP_OUTPUT)_SRC := $(SRC) |
| 192 | $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" | 193 | $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" |
| 194 | $(KEYMAP_OUTPUT)_INC := $(EXTRAINCDIRS) $(VPATH) | ||
| 193 | $(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) | 195 | $(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) |
| 194 | $(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) | 196 | $(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) |
| 197 | $(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) | ||
| 195 | 198 | ||
| 196 | 199 | ||
| 197 | include $(TMK_PATH)/rules.mk | 200 | include $(TMK_PATH)/rules.mk |
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 9f6d8d9df..7b2c842ed 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk | |||
| @@ -49,13 +49,6 @@ OPT = s | |||
| 49 | AUTOGEN ?= false | 49 | AUTOGEN ?= false |
| 50 | 50 | ||
| 51 | 51 | ||
| 52 | # List any extra directories to look for include files here. | ||
| 53 | # Each directory must be seperated by a space. | ||
| 54 | # Use forward slashes for directory separators. | ||
| 55 | # For a directory that has spaces, enclose it in quotes. | ||
| 56 | EXTRAINCDIRS += $(subst :, ,$(VPATH_SRC)) | ||
| 57 | |||
| 58 | |||
| 59 | # Compiler flag to set the C Standard level. | 52 | # Compiler flag to set the C Standard level. |
| 60 | # c89 = "ANSI" C | 53 | # c89 = "ANSI" C |
| 61 | # gnu89 = c89 plus GCC extensions | 54 | # gnu89 = c89 plus GCC extensions |
| @@ -104,7 +97,6 @@ CFLAGS += -Wstrict-prototypes | |||
| 104 | #CFLAGS += -Wunreachable-code | 97 | #CFLAGS += -Wunreachable-code |
| 105 | #CFLAGS += -Wsign-compare | 98 | #CFLAGS += -Wsign-compare |
| 106 | CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) | 99 | CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) |
| 107 | CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) | ||
| 108 | CFLAGS += $(CSTANDARD) | 100 | CFLAGS += $(CSTANDARD) |
| 109 | ifdef CONFIG_H | 101 | ifdef CONFIG_H |
| 110 | CFLAGS += -include $(CONFIG_H) | 102 | CFLAGS += -include $(CONFIG_H) |
| @@ -131,7 +123,6 @@ CPPFLAGS += -Wundef | |||
| 131 | #CPPFLAGS += -Wunreachable-code | 123 | #CPPFLAGS += -Wunreachable-code |
| 132 | #CPPFLAGS += -Wsign-compare | 124 | #CPPFLAGS += -Wsign-compare |
| 133 | CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) | 125 | CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) |
| 134 | CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) | ||
| 135 | #CPPFLAGS += $(CSTANDARD) | 126 | #CPPFLAGS += $(CSTANDARD) |
| 136 | ifdef CONFIG_H | 127 | ifdef CONFIG_H |
| 137 | CPPFLAGS += -include $(CONFIG_H) | 128 | CPPFLAGS += -include $(CONFIG_H) |
| @@ -149,7 +140,6 @@ endif | |||
| 149 | # dump that will be displayed for a given single line of source input. | 140 | # dump that will be displayed for a given single line of source input. |
| 150 | ASFLAGS += $(ADEFS) | 141 | ASFLAGS += $(ADEFS) |
| 151 | ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 | 142 | ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 |
| 152 | ASFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) | ||
| 153 | ifdef CONFIG_H | 143 | ifdef CONFIG_H |
| 154 | ASFLAGS += -include $(CONFIG_H) | 144 | ASFLAGS += -include $(CONFIG_H) |
| 155 | endif | 145 | endif |
| @@ -305,9 +295,11 @@ BEGIN = gccversion sizebefore | |||
| 305 | 295 | ||
| 306 | 296 | ||
| 307 | define GEN_OBJRULE | 297 | define GEN_OBJRULE |
| 308 | $1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) | 298 | $1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC)) |
| 309 | $1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) | 299 | $1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) |
| 310 | $1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) | 300 | $1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) |
| 301 | $1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) | ||
| 302 | $$(info $$($1_INCFLAGS)) | ||
| 311 | 303 | ||
| 312 | # Compile: create object files from C source files. | 304 | # Compile: create object files from C source files. |
| 313 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) | 305 | $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN) |
