]>
git.gir.st - tmk_keyboard.git/blob - tool/mbed/gcc.mk
1 # based on Makefile exported form mbed.org
2 # see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
5 AS
= $(GCC_BIN
)arm-none-eabi-as
6 CC
= $(GCC_BIN
)arm-none-eabi-gcc
7 CPP
= $(GCC_BIN
)arm-none-eabi-g
++
8 LD
= $(GCC_BIN
)arm-none-eabi-gcc
9 OBJCOPY
= $(GCC_BIN
)arm-none-eabi-objcopy
10 OBJDUMP
= $(GCC_BIN
)arm-none-eabi-objdump
11 SIZE
= $(GCC_BIN
)arm-none-eabi-size
12 CHKSUM
= $(TMK_DIR
)/tool
/mbed
/lpc-vector-checksum
27 LD_FLAGS
= $(CPU
) -Wl
,--gc-sections
--specs
=nano.specs
28 #LD_FLAGS += -u _printf_float -u _scanf_float
29 LD_FLAGS
+= -Wl
,-Map
=$(OBJDIR
)/$(PROJECT
).map
,--cref
30 LD_SYS_LIBS
= -lstdc
++ -lsupc
++ -lm
-lc
-lgcc
-lnosys
33 CC_FLAGS
+= -DDEBUG
-O0
35 CC_FLAGS
+= -DNDEBUG
-Os
38 all: $(OBJDIR
)/$(PROJECT
).bin
$(OBJDIR
)/$(PROJECT
).hex
41 rm -f
$(OBJDIR
)/$(PROJECT
).bin
$(OBJDIR
)/$(PROJECT
).elf
$(OBJDIR
)/$(PROJECT
).hex
$(OBJDIR
)/$(PROJECT
).map
$(OBJDIR
)/$(PROJECT
).lst
$(OBJECTS
) $(DEPS
)
50 $(CC
) $(CC_FLAGS
) $(CC_SYMBOLS
) -std
=gnu99
$(INCLUDE_PATHS
) -o
$@
$<
54 $(CPP
) $(CC_FLAGS
) $(CC_SYMBOLS
) -std
=gnu
++98 -fno-rtti
$(INCLUDE_PATHS
) -o
$@
$<
57 $(OBJDIR
)/$(PROJECT
).elf
: $(OBJECTS
) $(SYS_OBJECTS
)
58 $(LD
) $(LD_FLAGS
) -T
$(LINKER_SCRIPT
) $(LIBRARY_PATHS
) -o
$@
$^
$(LIBRARIES
) $(LD_SYS_LIBS
) $(LIBRARIES
) $(LD_SYS_LIBS
)
61 $(OBJDIR
)/$(PROJECT
).bin
: $(OBJDIR
)/$(PROJECT
).elf
62 @
$(OBJCOPY
) -O binary
$< $@
63 ifneq (,$(findstring TARGET_NXP
,$(CC_SYMBOLS
)))
65 @echo
"For NXP writing vector checksum value into $@ ..."
70 $(OBJDIR
)/$(PROJECT
).hex
: $(OBJDIR
)/$(PROJECT
).elf
71 @
$(OBJCOPY
) -O ihex
$< $@
73 $(OBJDIR
)/$(PROJECT
).lst
: $(OBJDIR
)/$(PROJECT
).elf
74 @
$(OBJDUMP
) -Sdh
$< > $@
76 lst
: $(OBJDIR
)/$(PROJECT
).lst
79 $(SIZE
) $(OBJDIR
)/$(PROJECT
).elf
81 prog
: $(OBJDIR
)/$(PROJECT
).bin
83 ifneq ($(shell mount | grep
'CRP DISABLD'),)
84 umount
/dev
/nxpisp
>/dev
/null
2>&1
86 dd if
=$< of
=/dev
/nxpisp seek
=4
88 DEPS
= $(OBJECTS
:.o
=.d
) $(SYS_OBJECTS
:.o
=.d
)