forked from microbuilder/LPC810_CodeBase
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (46 loc) · 1.41 KB
/
Makefile
File metadata and controls
59 lines (46 loc) · 1.41 KB
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
#
# gcc Makefile for LPC810
# Kamal Mostafa <[email protected]>
#
# License: Public Domain
#
CROSS = arm-none-eabi-
CPU = -mthumb -mcpu=cortex-m0plus -MD
FPU = # -mfloat-abi=soft
FILENAME = blinky
LINKERSCRIPT = blinky.ld
CFLAGS+= -Os --specs=nano.specs -ffunction-sections -fdata-sections -fno-builtin
CC = ${CROSS}gcc
LD = ${CROSS}ld
OBJCOPY = ${CROSS}objcopy
SIZE = ${CROSS}size
# use these on the $(LD) line, as needed:
LIBM = ${shell ${CC} ${CFLAGS} --print-file-name=libm.a}
LIBC = ${shell ${CC} ${CFLAGS} --print-file-name=libc.a}
LIBGCC = ${shell ${CC} ${CFLAGS} --print-libgcc-file-name}
CFLAGS += $(CPU) $(FPU)
LDFLAGS += --gc-sections
INC += -I../cmsis
CFLAGS += $(INC) -D__USE_CMSIS # -DCLOCK_SETUP=1
BLINKY_OBJS = main.o \
gpio.o \
uart.o \
mrt.o \
printf.o \
printf-retarget.o \
system_LPC8xx.o \
gcc_startup_lpc8xx.o
all: $(FILENAME).bin
blinky.axf: $(FILENAME).ld $(BLINKY_OBJS)
@$(LD) -o $@ $(LDFLAGS) -T $(LINKERSCRIPT) $(BLINKY_OBJS) $(LIBGCC)
-@echo ""
@$(SIZE) $(FILENAME).axf
clean:
@rm -f *.o *.d
@rm -f $(FILENAME).axf $(FILENAME).hex $(FILENAME).bin
%.bin:%.axf
-@echo ""
-@echo "Generating $(FILENAME).hex (FlashMagic, etc.)"
@$(OBJCOPY) --strip-unneeded -O ihex $(FILENAME).axf $(FILENAME).hex
-@echo "Generating $(FILENAME).bin"
@$(OBJCOPY) --strip-unneeded -O binary $(FILENAME).axf $(FILENAME).bin