Add output specific config file
This commit is contained in:
		
							parent
							
								
									33fbd3be36
								
							
						
					
					
						commit
						9028a412ea
					
				
					 2 changed files with 16 additions and 21 deletions
				
			
		| 
						 | 
					@ -56,9 +56,17 @@ ifeq ($(PLATFORM),CHIBIOS)
 | 
				
			||||||
	OPT_OS = chibios
 | 
						OPT_OS = chibios
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CONFIG_H = $(KEYBOARD_PATH)/config.h
 | 
				
			||||||
 | 
					ifneq ($(SUBPROJECT),)
 | 
				
			||||||
 | 
						ifneq ("$(wildcard $(SUBPROJECT_C))","")
 | 
				
			||||||
 | 
							CONFIG_H = $(SUBPROJECT_PATH)/config.h
 | 
				
			||||||
 | 
						endif
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Save the defines and includes here, so we don't include any keymap specific ones 
 | 
					# Save the defines and includes here, so we don't include any keymap specific ones 
 | 
				
			||||||
PROJECT_DEFS := $(OPT_DEFS)
 | 
					PROJECT_DEFS := $(OPT_DEFS)
 | 
				
			||||||
PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH)
 | 
					PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(SUBPROJECT_PATH) $(KEYBOARD_PATH)
 | 
				
			||||||
 | 
					PROJECT_CONFIG := $(CONFIG_H)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP)
 | 
					MAIN_KEYMAP_PATH := $(KEYBOARD_PATH)/keymaps/$(KEYMAP)
 | 
				
			||||||
MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c
 | 
					MAIN_KEYMAP_C := $(MAIN_KEYMAP_PATH)/keymap.c
 | 
				
			||||||
| 
						 | 
					@ -94,13 +102,6 @@ KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
 | 
					ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
 | 
				
			||||||
	CONFIG_H = $(KEYMAP_PATH)/config.h
 | 
						CONFIG_H = $(KEYMAP_PATH)/config.h
 | 
				
			||||||
else
 | 
					 | 
				
			||||||
	CONFIG_H = $(KEYBOARD_PATH)/config.h
 | 
					 | 
				
			||||||
	ifneq ($(SUBPROJECT),)
 | 
					 | 
				
			||||||
		ifneq ("$(wildcard $(SUBPROJECT_C))","")
 | 
					 | 
				
			||||||
			CONFIG_H = $(SUBPROJECT_PATH)/config.h
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
	endif
 | 
					 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# # project specific files
 | 
					# # project specific files
 | 
				
			||||||
| 
						 | 
					@ -192,9 +193,11 @@ OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
 | 
				
			||||||
$(KEYMAP_OUTPUT)_SRC := $(SRC)
 | 
					$(KEYMAP_OUTPUT)_SRC := $(SRC)
 | 
				
			||||||
$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" 
 | 
					$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\" 
 | 
				
			||||||
$(KEYMAP_OUTPUT)_INC := $(EXTRAINCDIRS) $(VPATH)
 | 
					$(KEYMAP_OUTPUT)_INC := $(EXTRAINCDIRS) $(VPATH)
 | 
				
			||||||
 | 
					$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H)
 | 
				
			||||||
$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC)
 | 
					$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC)
 | 
				
			||||||
$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS)
 | 
					$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS)
 | 
				
			||||||
$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC)
 | 
					$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC)
 | 
				
			||||||
 | 
					$(KEYBOARD_OUTPUT)_CONFIG  := $(PROJECT_CONFIG)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include $(TMK_PATH)/rules.mk
 | 
					include $(TMK_PATH)/rules.mk
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -98,9 +98,6 @@ CFLAGS += -Wstrict-prototypes
 | 
				
			||||||
#CFLAGS += -Wsign-compare
 | 
					#CFLAGS += -Wsign-compare
 | 
				
			||||||
CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
 | 
					CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
 | 
				
			||||||
CFLAGS += $(CSTANDARD)
 | 
					CFLAGS += $(CSTANDARD)
 | 
				
			||||||
ifdef CONFIG_H
 | 
					 | 
				
			||||||
    CFLAGS += -include $(CONFIG_H)
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#---------------- Compiler Options C++ ----------------
 | 
					#---------------- Compiler Options C++ ----------------
 | 
				
			||||||
| 
						 | 
					@ -124,10 +121,6 @@ CPPFLAGS += -Wundef
 | 
				
			||||||
#CPPFLAGS += -Wsign-compare
 | 
					#CPPFLAGS += -Wsign-compare
 | 
				
			||||||
CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
 | 
					CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
 | 
				
			||||||
#CPPFLAGS += $(CSTANDARD)
 | 
					#CPPFLAGS += $(CSTANDARD)
 | 
				
			||||||
ifdef CONFIG_H
 | 
					 | 
				
			||||||
    CPPFLAGS += -include $(CONFIG_H)
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#---------------- Assembler Options ----------------
 | 
					#---------------- Assembler Options ----------------
 | 
				
			||||||
#  -Wa,...:   tell GCC to pass this to the assembler.
 | 
					#  -Wa,...:   tell GCC to pass this to the assembler.
 | 
				
			||||||
| 
						 | 
					@ -140,9 +133,6 @@ endif
 | 
				
			||||||
#       dump that will be displayed for a given single line of source input.
 | 
					#       dump that will be displayed for a given single line of source input.
 | 
				
			||||||
ASFLAGS += $(ADEFS) 
 | 
					ASFLAGS += $(ADEFS) 
 | 
				
			||||||
ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
 | 
					ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
 | 
				
			||||||
ifdef CONFIG_H
 | 
					 | 
				
			||||||
    ASFLAGS += -include $(CONFIG_H)
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#---------------- Library Options ----------------
 | 
					#---------------- Library Options ----------------
 | 
				
			||||||
# Minimalistic printf version
 | 
					# Minimalistic printf version
 | 
				
			||||||
| 
						 | 
					@ -296,10 +286,12 @@ BEGIN = gccversion sizebefore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define GEN_OBJRULE
 | 
					define GEN_OBJRULE
 | 
				
			||||||
$1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
 | 
					$1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
 | 
				
			||||||
$1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS)
 | 
					ifdef $1_CONFIG
 | 
				
			||||||
$1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS)
 | 
					$1_CONFIG_FLAGS += -include $$($1_CONFIG)
 | 
				
			||||||
$1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS)
 | 
					endif
 | 
				
			||||||
$$(info $$($1_INCFLAGS))
 | 
					$1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
 | 
				
			||||||
 | 
					$1_CPPFLAGS= $$(ALL_CPPFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
 | 
				
			||||||
 | 
					$1_ASFLAGS= $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Compile: create object files from C source files.
 | 
					# Compile: create object files from C source files.
 | 
				
			||||||
$1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
 | 
					$1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue