]> git.donarmstrong.com Git - qmk_firmware.git/blob - protocol/lufa/LUFA-120730/LUFA/Build/lufa_hid.mk
Change TOP_DIR to TMK_DIR in makefiles
[qmk_firmware.git] / protocol / lufa / LUFA-120730 / LUFA / Build / lufa_hid.mk
1 #\r
2 #             LUFA Library\r
3 #     Copyright (C) Dean Camera, 2012.\r
4 #\r
5 #  dean [at] fourwalledcubicle [dot] com\r
6 #           www.lufa-lib.org\r
7 #\r
8 \r
9 LUFA_BUILD_MODULES         += HID\r
10 LUFA_BUILD_TARGETS         += hid hid-ee teensy teensy-ee\r
11 LUFA_BUILD_MANDATORY_VARS  += MCU TARGET\r
12 LUFA_BUILD_OPTIONAL_VARS   += \r
13 LUFA_BUILD_PROVIDED_VARS   += \r
14 LUFA_BUILD_PROVIDED_MACROS += \r
15 \r
16 # -----------------------------------------------------------------------------\r
17 #               LUFA HID Bootloader Buildsystem Makefile Module.\r
18 # -----------------------------------------------------------------------------\r
19 # DESCRIPTION:\r
20 #   Provides a set of targets to re-program a device currently running a HID\r
21 #   class bootloader with a project's FLASH files.\r
22 # -----------------------------------------------------------------------------\r
23 # TARGETS:\r
24 #\r
25 #    hid                       - Program FLASH into target via\r
26 #                                hid_bootloader_cli\r
27 #    hid-ee                    - Program EEPROM into target via a temporary\r
28 #                                AVR application and hid_bootloader_cli\r
29 #    teensy                    - Program FLASH into target via\r
30 #                                teensy_loader_cli\r
31 #    teensy-ee                 - Program EEPROM into target via a temporary\r
32 #                                AVR application and teensy_loader_cli\r
33 #\r
34 # MANDATORY PARAMETERS:\r
35 #\r
36 #    MCU                       - Microcontroller device model name\r
37 #    TARGET                    - Application name\r
38 #\r
39 # OPTIONAL PARAMETERS:\r
40 #\r
41 #    (None)\r
42 #\r
43 # PROVIDED VARIABLES:\r
44 #\r
45 #    (None)\r
46 #\r
47 # PROVIDED MACROS:\r
48 #\r
49 #    (None)\r
50 #\r
51 # -----------------------------------------------------------------------------\r
52 \r
53 ERROR_IF_UNSET   ?= $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set))\r
54 ERROR_IF_EMPTY   ?= $(if $(strip $($(strip $(1)))), , $(error Makefile $(strip $(1)) option cannot be blank))\r
55 ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N))\r
56 \r
57 # Sanity-check values of mandatory user-supplied variables\r
58 $(foreach MANDATORY_VAR, $(LUFA_BUILD_MANDATORY_VARS), $(call ERROR_IF_UNSET, $(MANDATORY_VAR)))\r
59 $(call ERROR_IF_EMPTY, MCU)\r
60 $(call ERROR_IF_EMPTY, TARGET)\r
61 \r
62 # Output Messages\r
63 MSG_HID_BOOTLOADER_CMD := ' [HID]     :'\r
64 MSG_OBJCPY_CMD         := ' [OBJCPY]  :'\r
65 MSG_MAKE_CMD           := ' [MAKE]    :'\r
66 \r
67 hid: $(TARGET).hex $(MAKEFILE_LIST)\r
68         @echo $(MSG_HID_BOOTLOADER_CMD) Programming FLASH with hid_bootloader_cli using \"$<\"\r
69         hid_bootloader_cli -mmcu=$(MCU) -v $<\r
70 \r
71 hid-ee: $(TARGET).eep $(MAKEFILE_LIST)\r
72         @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a binary file \"InputEEData.bin\"\r
73         avr-objcopy -I ihex -O binary $< $(patsubst %/,%,$(LUFA_PATH))/Build/HID_EEPROM_Loader/InputEEData.bin\r
74         @echo $(MSG_MAKE_CMD) Making EEPROM loader application for \"$<\"\r
75         make -C $(patsubst %/,%,$(LUFA_PATH))/Build/HID_EEPROM_Loader/ MCU=$(MCU) clean hid\r
76 \r
77 teensy: $(TARGET).hex $(MAKEFILE_LIST)\r
78         @echo $(MSG_HID_BOOTLOADER_CMD) Programming FLASH with teensy_loader_cli using \"$<\"\r
79         teensy_loader_cli -mmcu=$(MCU) -v $<\r
80 \r
81 teensy-ee: $(TARGET).hex $(MAKEFILE_LIST)\r
82         @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a binary file \"InputEEData.bin\"\r
83         avr-objcopy -I ihex -O binary $< $(patsubst %/,%,$(LUFA_PATH))/Build/HID_EEPROM_Loader/InputEEData.bin\r
84         @echo $(MSG_MAKE_CMD) Making EEPROM loader application for \"$<\"\r
85         make -s -C $(patsubst %/,%,$(LUFA_PATH))/Build/HID_EEPROM_Loader/ MCU=$(MCU) clean hid-teensy\r
86         \r
87 # Phony build targets for this module\r
88 .PHONY: hid hid-ee teensy teensy-ee\r