Browse Source

Split common.mk into common.mk and common_features.mk

To support including keyboard/keymap specific rules before it
pjones-keymap
Fred Sundvik 2 years ago
parent
commit
1c0fe956ac
6 changed files with 164 additions and 142 deletions
  1. 1
    1
      build_full_test.mk
  2. 3
    12
      build_keyboard.mk
  3. 5
    0
      build_test.mk
  4. 0
    128
      common.mk
  5. 152
    0
      common_features.mk
  6. 3
    1
      tests/basic/rules.mk

+ 1
- 1
build_full_test.mk View File

@@ -18,6 +18,6 @@ include tests/$(TEST)/rules.mk
18 18
 
19 19
 TEST_PATH=tests/$(TEST)
20 20
 
21
-$(TEST)_SRC=$(TEST_PATH)/test.c $(TMK_COMMON_SRC)
21
+$(TEST)_SRC=$(TEST_PATH)/test.c $(TMK_COMMON_SRC) $(QUANTUM_SRC)
22 22
 $(TEST)_DEFS=$(TMK_COMMON_DEFS)
23 23
 $(TEST)_CONFIG=$(TEST_PATH)/config.h

+ 3
- 12
build_keyboard.mk View File

@@ -31,8 +31,6 @@ $(error MASTER does not have a valid value(left/right))
31 31
     endif
32 32
 endif
33 33
 
34
-
35
-
36 34
 KEYBOARD_PATH := keyboards/$(KEYBOARD)
37 35
 KEYBOARD_C := $(KEYBOARD_PATH)/$(KEYBOARD).c
38 36
 
@@ -42,7 +40,6 @@ else
42 40
     $(error "$(KEYBOARD_C)" does not exist)
43 41
 endif
44 42
 
45
-
46 43
 ifneq ($(SUBPROJECT),)
47 44
     SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT)
48 45
     SUBPROJECT_C := $(SUBPROJECT_PATH)/$(SUBPROJECT).c
@@ -118,19 +115,12 @@ endif
118 115
 # # project specific files
119 116
 SRC += $(KEYBOARD_C) \
120 117
     $(KEYMAP_C) \
121
-    $(QUANTUM_DIR)/quantum.c \
122
-    $(QUANTUM_DIR)/keymap_common.c \
123
-    $(QUANTUM_DIR)/keycode_config.c \
124
-    $(QUANTUM_DIR)/process_keycode/process_leader.c
118
+    $(QUANTUM_SRC)
125 119
 
126 120
 ifneq ($(SUBPROJECT),)
127 121
     SRC += $(SUBPROJECT_C)
128 122
 endif
129 123
 
130
-ifndef CUSTOM_MATRIX
131
-    SRC += $(QUANTUM_DIR)/matrix.c
132
-endif
133
-
134 124
 # Optimize size but this may cause error "relocation truncated to fit"
135 125
 #EXTRALDFLAGS = -Wl,--relax
136 126
 
@@ -142,9 +132,10 @@ endif
142 132
 VPATH += $(KEYBOARD_PATH)
143 133
 VPATH += $(COMMON_VPATH)
144 134
 
135
+include common_features.mk
145 136
 include $(TMK_PATH)/protocol.mk
146
-
147 137
 include $(TMK_PATH)/common.mk
138
+
148 139
 SRC += $(TMK_COMMON_SRC)
149 140
 OPT_DEFS += $(TMK_COMMON_DEFS)
150 141
 EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)

+ 5
- 0
build_test.mk View File

@@ -42,6 +42,11 @@ all: elf
42 42
 VPATH += $(COMMON_VPATH)
43 43
 PLATFORM:=TEST
44 44
 
45
+ifneq ($(filter $(FULL_TESTS),$(TEST)),)
46
+include tests/$(TEST)/rules.mk
47
+endif
48
+
49
+include common_features.mk
45 50
 include $(TMK_PATH)/common.mk
46 51
 include $(QUANTUM_PATH)/serial_link/tests/rules.mk
47 52
 ifneq ($(filter $(FULL_TESTS),$(TEST)),)

+ 0
- 128
common.mk View File

@@ -11,12 +11,6 @@ QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)
11 11
 
12 12
 BUILD_DIR := $(TOP_DIR)/.build
13 13
 
14
-SERIAL_DIR := $(QUANTUM_DIR)/serial_link
15
-SERIAL_PATH := $(QUANTUM_PATH)/serial_link
16
-SERIAL_SRC := $(wildcard $(SERIAL_PATH)/protocol/*.c)
17
-SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
18
-SERIAL_DEFS += -DSERIAL_LINK_ENABLE
19
-
20 14
 COMMON_VPATH := $(TOP_DIR)
21 15
 COMMON_VPATH += $(TMK_PATH)
22 16
 COMMON_VPATH += $(QUANTUM_PATH)
@@ -25,125 +19,3 @@ COMMON_VPATH += $(QUANTUM_PATH)/audio
25 19
 COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
26 20
 COMMON_VPATH += $(QUANTUM_PATH)/api
27 21
 COMMON_VPATH += $(SERIAL_PATH)
28
-
29
-ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
30
-    OPT_DEFS += -DAPI_SYSEX_ENABLE
31
-    SRC += $(QUANTUM_DIR)/api/api_sysex.c
32
-    OPT_DEFS += -DAPI_ENABLE
33
-    SRC += $(QUANTUM_DIR)/api.c
34
-    MIDI_ENABLE=yes
35
-endif
36
-
37
-MUSIC_ENABLE := 0
38
-
39
-ifeq ($(strip $(AUDIO_ENABLE)), yes)
40
-    OPT_DEFS += -DAUDIO_ENABLE
41
-    MUSIC_ENABLE := 1
42
-    SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
43
-    SRC += $(QUANTUM_DIR)/audio/audio.c
44
-    SRC += $(QUANTUM_DIR)/audio/voices.c
45
-    SRC += $(QUANTUM_DIR)/audio/luts.c
46
-endif
47
-
48
-ifeq ($(strip $(MIDI_ENABLE)), yes)
49
-    OPT_DEFS += -DMIDI_ENABLE
50
-    MUSIC_ENABLE := 1
51
-    SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
52
-endif
53
-
54
-ifeq ($(MUSIC_ENABLE), 1)
55
-    SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
56
-endif
57
-
58
-ifeq ($(strip $(COMBO_ENABLE)), yes)
59
-    OPT_DEFS += -DCOMBO_ENABLE
60
-    SRC += $(QUANTUM_DIR)/process_keycode/process_combo.c
61
-endif
62
-
63
-ifeq ($(strip $(VIRTSER_ENABLE)), yes)
64
-    OPT_DEFS += -DVIRTSER_ENABLE
65
-endif
66
-
67
-ifeq ($(strip $(FAUXCLICKY_ENABLE)), yes)
68
-    OPT_DEFS += -DFAUXCLICKY_ENABLE
69
-    SRC += $(QUANTUM_DIR)/fauxclicky.c
70
-endif
71
-
72
-ifeq ($(strip $(UCIS_ENABLE)), yes)
73
-    OPT_DEFS += -DUCIS_ENABLE
74
-    UNICODE_COMMON = yes
75
-    SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
76
-endif
77
-
78
-ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
79
-    OPT_DEFS += -DUNICODEMAP_ENABLE
80
-    UNICODE_COMMON = yes
81
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
82
-endif
83
-
84
-ifeq ($(strip $(UNICODE_ENABLE)), yes)
85
-    OPT_DEFS += -DUNICODE_ENABLE
86
-    UNICODE_COMMON = yes
87
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
88
-endif
89
-
90
-ifeq ($(strip $(UNICODE_COMMON)), yes)
91
-    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
92
-endif
93
-
94
-ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
95
-    OPT_DEFS += -DRGBLIGHT_ENABLE
96
-    SRC += $(QUANTUM_DIR)/light_ws2812.c
97
-    SRC += $(QUANTUM_DIR)/rgblight.c
98
-    CIE1931_CURVE = yes
99
-    LED_BREATHING_TABLE = yes
100
-endif
101
-
102
-ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
103
-    OPT_DEFS += -DTAP_DANCE_ENABLE
104
-    SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
105
-endif
106
-
107
-ifeq ($(strip $(PRINTING_ENABLE)), yes)
108
-    OPT_DEFS += -DPRINTING_ENABLE
109
-    SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c
110
-    SRC += $(TMK_DIR)/protocol/serial_uart.c
111
-endif
112
-
113
-ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
114
-    SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
115
-    OPT_DEFS += $(SERIAL_DEFS)
116
-    VAPTH += $(SERIAL_PATH)
117
-endif
118
-
119
-ifneq ($(strip $(VARIABLE_TRACE)),)
120
-    SRC += $(QUANTUM_DIR)/variable_trace.c
121
-    OPT_DEFS += -DNUM_TRACED_VARIABLES=$(strip $(VARIABLE_TRACE))
122
-ifneq ($(strip $(MAX_VARIABLE_TRACE_SIZE)),)
123
-    OPT_DEFS += -DMAX_VARIABLE_TRACE_SIZE=$(strip $(MAX_VARIABLE_TRACE_SIZE))
124
-endif
125
-endif
126
-
127
-ifeq ($(strip $(LCD_ENABLE)), yes)
128
-    CIE1931_CURVE = yes
129
-endif
130
-
131
-ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
132
-    ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
133
-        CIE1931_CURVE = yes
134
-    endif
135
-endif
136
-
137
-ifeq ($(strip $(CIE1931_CURVE)), yes)
138
-    OPT_DEFS += -DUSE_CIE1931_CURVE
139
-    LED_TABLES = yes
140
-endif
141
-
142
-ifeq ($(strip $(LED_BREATHING_TABLE)), yes)
143
-    OPT_DEFS += -DUSE_LED_BREATHING_TABLE
144
-    LED_TABLES = yes
145
-endif
146
-
147
-ifeq ($(strip $(LED_TABLES)), yes)
148
-    SRC += $(QUANTUM_DIR)/led_tables.c
149
-endif

+ 152
- 0
common_features.mk View File

@@ -0,0 +1,152 @@
1
+# Copyright 2017 Fred Sundvik
2
+#
3
+# This program is free software: you can redistribute it and/or modify
4
+# it under the terms of the GNU General Public License as published by
5
+# the Free Software Foundation, either version 2 of the License, or
6
+# (at your option) any later version.
7
+#
8
+# This program is distributed in the hope that it will be useful,
9
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
+# GNU General Public License for more details.
12
+#
13
+# You should have received a copy of the GNU General Public License
14
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
+
16
+SERIAL_DIR := $(QUANTUM_DIR)/serial_link
17
+SERIAL_PATH := $(QUANTUM_PATH)/serial_link
18
+SERIAL_SRC := $(wildcard $(SERIAL_PATH)/protocol/*.c)
19
+SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
20
+SERIAL_DEFS += -DSERIAL_LINK_ENABLE
21
+
22
+ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
23
+    OPT_DEFS += -DAPI_SYSEX_ENABLE
24
+    SRC += $(QUANTUM_DIR)/api/api_sysex.c
25
+    OPT_DEFS += -DAPI_ENABLE
26
+    SRC += $(QUANTUM_DIR)/api.c
27
+    MIDI_ENABLE=yes
28
+endif
29
+
30
+MUSIC_ENABLE := 0
31
+
32
+ifeq ($(strip $(AUDIO_ENABLE)), yes)
33
+    OPT_DEFS += -DAUDIO_ENABLE
34
+    MUSIC_ENABLE := 1
35
+    SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
36
+    SRC += $(QUANTUM_DIR)/audio/audio.c
37
+    SRC += $(QUANTUM_DIR)/audio/voices.c
38
+    SRC += $(QUANTUM_DIR)/audio/luts.c
39
+endif
40
+
41
+ifeq ($(strip $(MIDI_ENABLE)), yes)
42
+    OPT_DEFS += -DMIDI_ENABLE
43
+    MUSIC_ENABLE := 1
44
+    SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
45
+endif
46
+
47
+ifeq ($(MUSIC_ENABLE), 1)
48
+    SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
49
+endif
50
+
51
+ifeq ($(strip $(COMBO_ENABLE)), yes)
52
+    OPT_DEFS += -DCOMBO_ENABLE
53
+    SRC += $(QUANTUM_DIR)/process_keycode/process_combo.c
54
+endif
55
+
56
+ifeq ($(strip $(VIRTSER_ENABLE)), yes)
57
+    OPT_DEFS += -DVIRTSER_ENABLE
58
+endif
59
+
60
+ifeq ($(strip $(FAUXCLICKY_ENABLE)), yes)
61
+    OPT_DEFS += -DFAUXCLICKY_ENABLE
62
+    SRC += $(QUANTUM_DIR)/fauxclicky.c
63
+endif
64
+
65
+ifeq ($(strip $(UCIS_ENABLE)), yes)
66
+    OPT_DEFS += -DUCIS_ENABLE
67
+    UNICODE_COMMON = yes
68
+    SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
69
+endif
70
+
71
+ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
72
+    OPT_DEFS += -DUNICODEMAP_ENABLE
73
+    UNICODE_COMMON = yes
74
+    SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
75
+endif
76
+
77
+ifeq ($(strip $(UNICODE_ENABLE)), yes)
78
+    OPT_DEFS += -DUNICODE_ENABLE
79
+    UNICODE_COMMON = yes
80
+    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
81
+endif
82
+
83
+ifeq ($(strip $(UNICODE_COMMON)), yes)
84
+    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
85
+endif
86
+
87
+ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
88
+    OPT_DEFS += -DRGBLIGHT_ENABLE
89
+    SRC += $(QUANTUM_DIR)/light_ws2812.c
90
+    SRC += $(QUANTUM_DIR)/rgblight.c
91
+    CIE1931_CURVE = yes
92
+    LED_BREATHING_TABLE = yes
93
+endif
94
+
95
+ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
96
+    OPT_DEFS += -DTAP_DANCE_ENABLE
97
+    SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
98
+endif
99
+
100
+ifeq ($(strip $(PRINTING_ENABLE)), yes)
101
+    OPT_DEFS += -DPRINTING_ENABLE
102
+    SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c
103
+    SRC += $(TMK_DIR)/protocol/serial_uart.c
104
+endif
105
+
106
+ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
107
+    SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
108
+    OPT_DEFS += $(SERIAL_DEFS)
109
+    VAPTH += $(SERIAL_PATH)
110
+endif
111
+
112
+ifneq ($(strip $(VARIABLE_TRACE)),)
113
+    SRC += $(QUANTUM_DIR)/variable_trace.c
114
+    OPT_DEFS += -DNUM_TRACED_VARIABLES=$(strip $(VARIABLE_TRACE))
115
+ifneq ($(strip $(MAX_VARIABLE_TRACE_SIZE)),)
116
+    OPT_DEFS += -DMAX_VARIABLE_TRACE_SIZE=$(strip $(MAX_VARIABLE_TRACE_SIZE))
117
+endif
118
+endif
119
+
120
+ifeq ($(strip $(LCD_ENABLE)), yes)
121
+    CIE1931_CURVE = yes
122
+endif
123
+
124
+ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
125
+    ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
126
+        CIE1931_CURVE = yes
127
+    endif
128
+endif
129
+
130
+ifeq ($(strip $(CIE1931_CURVE)), yes)
131
+    OPT_DEFS += -DUSE_CIE1931_CURVE
132
+    LED_TABLES = yes
133
+endif
134
+
135
+ifeq ($(strip $(LED_BREATHING_TABLE)), yes)
136
+    OPT_DEFS += -DUSE_LED_BREATHING_TABLE
137
+    LED_TABLES = yes
138
+endif
139
+
140
+ifeq ($(strip $(LED_TABLES)), yes)
141
+    SRC += $(QUANTUM_DIR)/led_tables.c
142
+endif
143
+
144
+QUANTUM_SRC:= \
145
+    $(QUANTUM_DIR)/quantum.c \
146
+    $(QUANTUM_DIR)/keymap_common.c \
147
+    $(QUANTUM_DIR)/keycode_config.c \
148
+    $(QUANTUM_DIR)/process_keycode/process_leader.c
149
+
150
+ifndef CUSTOM_MATRIX
151
+    QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
152
+endif

+ 3
- 1
tests/basic/rules.mk View File

@@ -11,4 +11,6 @@
11 11
 # GNU General Public License for more details.
12 12
 #
13 13
 # You should have received a copy of the GNU General Public License
14
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
14
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
+
16
+CUSTOM_MATRIX=yes

Loading…
Cancel
Save