aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build_keyboard.mk31
-rw-r--r--tmk_core/rules.mk18
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
44endif 44endif
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
47ifdef MCU_FAMILY
48 PLATFORM=CHIBIOS
49else
50 PLATFORM=AVR
51endif
52
53ifeq ($(PLATFORM),CHIBIOS)
54 include $(TMK_PATH)/protocol/chibios.mk
55 include $(TMK_PATH)/chibios.mk
56 OPT_OS = chibios
57endif
58
59# Save the defines and includes here, so we don't include any keymap specific ones
47PROJECT_DEFS := $(OPT_DEFS) 60PROJECT_DEFS := $(OPT_DEFS)
61PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH)
48 62
49MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP) 63MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP)
50MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c 64MAIN_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)
73endif 87endif
74 88
75# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA
76ifdef MCU_FAMILY
77 PLATFORM=CHIBIOS
78else
79 PLATFORM=AVR
80endif
81
82ifeq ($(PLATFORM),CHIBIOS)
83 include $(TMK_PATH)/protocol/chibios.mk
84 include $(TMK_PATH)/chibios.mk
85 OPT_OS = chibios
86endif
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
190OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) 191OUTPUTS := $(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
197include $(TMK_PATH)/rules.mk 200include $(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
49AUTOGEN ?= false 49AUTOGEN ?= 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.
56EXTRAINCDIRS += $(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
106CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) 99CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
107CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
108CFLAGS += $(CSTANDARD) 100CFLAGS += $(CSTANDARD)
109ifdef CONFIG_H 101ifdef 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
133CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) 125CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
134CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
135#CPPFLAGS += $(CSTANDARD) 126#CPPFLAGS += $(CSTANDARD)
136ifdef CONFIG_H 127ifdef 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.
150ASFLAGS += $(ADEFS) 141ASFLAGS += $(ADEFS)
151ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 142ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
152ASFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
153ifdef CONFIG_H 143ifdef CONFIG_H
154 ASFLAGS += -include $(CONFIG_H) 144 ASFLAGS += -include $(CONFIG_H)
155endif 145endif
@@ -305,9 +295,11 @@ BEGIN = gccversion sizebefore
305 295
306 296
307define GEN_OBJRULE 297define 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)