Blame view

lufa-master/Bootloaders/DFU/makefile 2.42 KB
142ecdaf   rguillom   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  #
  #             LUFA Library
  #     Copyright (C) Dean Camera, 2019.
  #
  #  dean [at] fourwalledcubicle [dot] com
  #           www.lufa-lib.org
  #
  # --------------------------------------
  #         LUFA Project Makefile.
  # --------------------------------------
  
  # Run "make help" for target help.
  
  MCU          = at90usb1287
  ARCH         = AVR8
  BOARD        = USBKEY
  F_CPU        = 8000000
  F_USB        = $(F_CPU)
  OPTIMIZATION = s
  TARGET       = BootloaderDFU
  SRC          = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB)
  LUFA_PATH    = ../../LUFA
  CC_FLAGS     = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
  LD_FLAGS     = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
  LTO          = Y
  
  # Flash size and bootloader section sizes of the target, in KB. These must
  # match the target's total FLASH size and the bootloader size set in the
  # device's fuses.
  FLASH_SIZE_KB         = 128
  BOOT_SECTION_SIZE_KB  = 8
  
  # Bootloader address calculation formulas
  # Do not modify these macros, but rather modify the dependent values above.
  CALC_ADDRESS_IN_HEX   = $(shell printf "0x%X" $$(( $(1) )) )
  BOOT_START_OFFSET     = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
  BOOT_SEC_OFFSET       = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
  
  # Bootloader linker section flags for relocating the API table sections to
  # known FLASH addresses - these should not normally be user-edited.
  BOOT_SECTION_LD_FLAG  = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
  BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
  BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable,   BootloaderAPI_JumpTable,   32)
  BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures,  BootloaderAPI_Signatures,  8)
  
  # Default target
  all:
  
  # Include LUFA-specific DMBS extension modules
  DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
  include $(DMBS_LUFA_PATH)/lufa-sources.mk
  include $(DMBS_LUFA_PATH)/lufa-gcc.mk
  
  # Include common DMBS build system modules
  DMBS_PATH      ?= $(LUFA_PATH)/Build/DMBS/DMBS
  include $(DMBS_PATH)/core.mk
  include $(DMBS_PATH)/cppcheck.mk
  include $(DMBS_PATH)/doxygen.mk
  include $(DMBS_PATH)/dfu.mk
  include $(DMBS_PATH)/gcc.mk
  include $(DMBS_PATH)/hid.mk
  include $(DMBS_PATH)/avrdude.mk
  include $(DMBS_PATH)/atprogram.mk