Makefile redo & other features (#395)
* .build containment implemented
* no destructive variable setting - builds in either folder
* make from 3 places
* cleans before each build
* make from root with keyboard=keyboard, keymap=keymap
* make from keyboard/keyboard with keymap=keymap
* make from keymaps/keymap
* only implemented on planck
* adds color diag to avr-gcc
* makefiles for all plancks, clean-up
* quick build-all makefile for plancks
* reformatting of make output (colors)
* color toggle, tmk path corrections
* correct if statement for color
* move config.h to main makefile, updates preonic, atomic
* format update, all keyboards targets
* makefile optional for build all target, alps and arrow_pad updated
* alps updated
* make planck default, trying out travis recipe for all-keyboards
* all-keymaps target, different travis recipe
* updates alps64
* updates keyboards to new format
* updates clue* projects
* all projects updated, specialise EZ .hex, let .hex through
* updates travis
* automatically find root, keyboard, keymap
* silent echo, cleaned-up mass make output
* updates all keyboards' .hex files except EZ
* Rename Bantam44.c to bantam44.c
* Rename Bantam44.h to bantam44.h
* nananana
* adds six key keyboard
* does same to ez as rest
* updates send_string example
* brings ergodox_ez up to date
* updates template/new project script
* adds sixkeyboard
* adds readme for sixkeyboard
* adds sixkeyboard to travis
* filenames, gitignore mess
* define clock prescaler stuff manually
* make quick, size test example
* documentation and dfu-no-build
8 years ago Makefile redo & other features (#395)
* .build containment implemented
* no destructive variable setting - builds in either folder
* make from 3 places
* cleans before each build
* make from root with keyboard=keyboard, keymap=keymap
* make from keyboard/keyboard with keymap=keymap
* make from keymaps/keymap
* only implemented on planck
* adds color diag to avr-gcc
* makefiles for all plancks, clean-up
* quick build-all makefile for plancks
* reformatting of make output (colors)
* color toggle, tmk path corrections
* correct if statement for color
* move config.h to main makefile, updates preonic, atomic
* format update, all keyboards targets
* makefile optional for build all target, alps and arrow_pad updated
* alps updated
* make planck default, trying out travis recipe for all-keyboards
* all-keymaps target, different travis recipe
* updates alps64
* updates keyboards to new format
* updates clue* projects
* all projects updated, specialise EZ .hex, let .hex through
* updates travis
* automatically find root, keyboard, keymap
* silent echo, cleaned-up mass make output
* updates all keyboards' .hex files except EZ
* Rename Bantam44.c to bantam44.c
* Rename Bantam44.h to bantam44.h
* nananana
* adds six key keyboard
* does same to ez as rest
* updates send_string example
* brings ergodox_ez up to date
* updates template/new project script
* adds sixkeyboard
* adds readme for sixkeyboard
* adds sixkeyboard to travis
* filenames, gitignore mess
* define clock prescaler stuff manually
* make quick, size test example
* documentation and dfu-no-build
8 years ago |
|
- LUFA_DIR = protocol/lufa
-
- # Path to the LUFA library
- LUFA_PATH = $(LIB_PATH)/lufa
-
-
- # Create the LUFA source path variables by including the LUFA makefile
- ifneq (, $(wildcard $(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
- # New build system from 20120730
- LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
- DMBS_LUFA_PATH = $(LUFA_PATH)/LUFA/Build/LUFA
- include $(LUFA_PATH)/LUFA/Build/lufa_sources.mk
- else
- include $(LUFA_PATH)/LUFA/makefile
- endif
-
- LUFA_SRC = lufa.c \
- descriptor.c \
- outputselect.c \
- $(LUFA_SRC_USB)
-
- ifeq ($(strip $(MIDI_ENABLE)), yes)
- include $(TMK_PATH)/protocol/midi.mk
- endif
-
- ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
- LUFA_SRC += $(LUFA_DIR)/bluetooth.c \
- $(TMK_DIR)/protocol/serial_uart.c
- endif
-
- ifeq ($(strip $(BLUETOOTH)), AdafruitBLE)
- LUFA_SRC += $(LUFA_DIR)/adafruit_ble.cpp
- endif
-
- ifeq ($(strip $(BLUETOOTH)), AdafruitEZKey)
- LUFA_SRC += $(LUFA_DIR)/bluetooth.c \
- $(TMK_DIR)/protocol/serial_uart.c
- endif
-
- ifeq ($(strip $(BLUETOOTH)), RN42)
- LUFA_SRC += $(LUFA_DIR)/bluetooth.c \
- $(TMK_DIR)/protocol/serial_uart.c
- endif
-
- ifeq ($(strip $(VIRTSER_ENABLE)), yes)
- LUFA_SRC += $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDCClassDevice.c
- endif
-
- SRC += $(LUFA_SRC)
-
- # Search Path
- VPATH += $(TMK_PATH)/$(LUFA_DIR)
- VPATH += $(LUFA_PATH)
-
- # Option modules
- #ifdef $(or MOUSEKEY_ENABLE, PS2_MOUSE_ENABLE)
- #endif
-
- #ifdef EXTRAKEY_ENABLE
- #endif
-
- # LUFA library compile-time options and predefined tokens
- LUFA_OPTS = -DUSB_DEVICE_ONLY
- LUFA_OPTS += -DUSE_FLASH_DESCRIPTORS
- LUFA_OPTS += -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
- #LUFA_OPTS += -DINTERRUPT_CONTROL_ENDPOINT
- LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8
- LUFA_OPTS += -DFIXED_CONTROL_ENDPOINT_SIZE=8
- LUFA_OPTS += -DFIXED_NUM_CONFIGURATIONS=1
-
- # Remote wakeup fix for ATmega32U2 https://github.com/tmk/tmk_keyboard/issues/361
- ifeq ($(MCU),atmega32u2)
- LUFA_OPTS += -DNO_LIMITED_CONTROLLER_CONNECT
- endif
-
- OPT_DEFS += -DF_USB=$(F_USB)UL
- OPT_DEFS += -DARCH=ARCH_$(ARCH)
- OPT_DEFS += $(LUFA_OPTS)
-
- # This indicates using LUFA stack
- OPT_DEFS += -DPROTOCOL_LUFA
|