]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - Makefile
Revert "Changed layout of left hand main layer"
[qmk_firmware.git] / Makefile
index 5642aa2839a4f24fb84c2d1ba18709d4057ca43b..c285dabad49202cbf9733821ac47346fb8348db4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@ ifndef VERBOSE
 .SILENT:
 endif
 
+.DEFAULT_GOAL := all
+
 space := $(subst ,, )
 starting_makefile := $(subst $(space),_SPACE_,$(abspath $(firstword $(MAKEFILE_LIST))))
 mkfile_path := $(subst $(space),_SPACE_,$(abspath $(lastword $(MAKEFILE_LIST))))
@@ -41,6 +43,7 @@ endif
 TOP_DIR = $(tmk_root)
 TMK_DIR = tmk_core
 TMK_PATH = $(TOP_DIR)/$(TMK_DIR)
+LIB_PATH = $(TOP_DIR)/lib
 
 QUANTUM_DIR = quantum
 QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)
@@ -65,22 +68,24 @@ endif
 
 KEYBOARD_PATH = $(TOP_DIR)/keyboards/$(KEYBOARD)
 
+ifdef sub
+       SUBPROJECT=$(sub)
+endif
+ifdef subproject
+       SUBPROJECT=$(subproject)
+endif
+
 ifneq ("$(wildcard $(KEYBOARD_PATH)/$(KEYBOARD).c)","")
        KEYBOARD_FILE = keyboards/$(KEYBOARD)/$(KEYBOARD).c
        ifndef ARCH
-               include $(KEYBOARD_PATH)/Makefile
+               ifneq ("$(wildcard $(KEYBOARD_PATH)/Makefile)","")
+                       include $(KEYBOARD_PATH)/Makefile
+               endif
        endif
 else 
 $(error "$(KEYBOARD_PATH)/$(KEYBOARD).c" does not exist)
 endif
 
-ifdef sub
-       SUBPROJECT=$(sub)
-endif
-ifdef subproject
-       SUBPROJECT=$(subproject)
-endif
-
 ifdef SUBPROJECT_DEFAULT
        SUBPROJECT?=$(SUBPROJECT_DEFAULT)
 endif
@@ -110,7 +115,13 @@ ifneq ("$(wildcard $(KEYMAP_PATH)/keymap.c)","")
        KEYMAP_FILE = keyboards/$(KEYBOARD)/keymaps/$(KEYMAP)/keymap.c
        -include $(KEYMAP_PATH)/Makefile
 else 
+       ifeq ("$(wildcard $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)/keymap.c)","")
 $(error "$(KEYMAP_PATH)/keymap.c" does not exist)
+       else
+               KEYMAP_PATH = $(SUBPROJECT_PATH)/keymaps/$(KEYMAP)
+               KEYMAP_FILE = keyboards/$(KEYBOARD)/$(SUBPROJECT)/keymaps/$(KEYMAP)/keymap.c
+               -include $(KEYMAP_PATH)/Makefile
+       endif
 endif
 
 ifdef SUBPROJECT
@@ -118,6 +129,13 @@ ifdef SUBPROJECT
 else
        TARGET ?= $(KEYBOARD)_$(KEYMAP)
 endif
+BUILD_DIR = .build
+
+# Object files directory
+#     To put object files in current directory, use a dot (.), do NOT make
+#     this an empty or blank macro!
+OBJDIR = $(BUILD_DIR)/obj_$(TARGET)
+
 
 
 ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
@@ -135,7 +153,7 @@ endif
 SRC += $(KEYBOARD_FILE) \
        $(KEYMAP_FILE) \
        $(QUANTUM_DIR)/quantum.c \
-       $(QUANTUM_DIR)/keymap.c \
+       $(QUANTUM_DIR)/keymap_common.c \
        $(QUANTUM_DIR)/keycode_config.c \
        $(QUANTUM_DIR)/process_keycode/process_leader.c
 
@@ -200,8 +218,25 @@ VPATH += $(QUANTUM_PATH)/keymap_extras
 VPATH += $(QUANTUM_PATH)/audio
 VPATH += $(QUANTUM_PATH)/process_keycode
 
-include $(TMK_PATH)/protocol/lufa.mk
+
+# We can assume a ChibiOS target When MCU_FAMILY is defined, since it's not used for LUFA
+ifdef MCU_FAMILY
+       PLATFORM=CHIBIOS
+else
+       PLATFORM=AVR
+endif
+
 include $(TMK_PATH)/common.mk
+ifeq ($(PLATFORM),AVR)
+       include $(TMK_PATH)/protocol/lufa.mk
+       include $(TMK_PATH)/avr.mk
+else ifeq ($(PLATFORM),CHIBIOS)
+       include $(TMK_PATH)/protocol/chibios.mk
+       include $(TMK_PATH)/chibios.mk
+else
+       $(error Unknown platform)
+endif
+
 include $(TMK_PATH)/rules.mk
 
 GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")