]>
Commit | Line | Data |
---|---|---|
1 | CC = $(TOOLCHAIN)-gcc | |
2 | LD = $(TOOLCHAIN)-gcc | |
3 | AR = $(TOOLCHAIN)-ar | |
4 | AS = $(TOOLCHAIN)-as | |
5 | OBJCOPY = $(TOOLCHAIN)-objcopy | |
6 | OBJDUMP = $(TOOLCHAIN)-objdump | |
7 | SIZE = $(TOOLCHAIN)-size | |
8 | GDB = $(TOOLCHAIN)-gdb | |
9 | ||
10 | ||
11 | CFLAGS += -g -Os | |
12 | CFLAGS += -std=gnu99 | |
13 | CFLAGS += -Wall -Wextra | |
14 | CFLAGS += -Wredundant-decls | |
15 | #CFLAGS += -fno-common -ffunction-sections -fdata-sections | |
16 | ||
17 | ||
18 | LDFLAGS += -Wl,--gc-sections | |
19 | LDFLAGS += -Wl,--cref | |
20 | ||
21 | ifneq ($(LDSCRIPT),) | |
22 | LDFLAGS += -T$(LDSCRIPT) | |
23 | endif | |
24 | ||
25 | ||
26 | !cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o | |
27 | !LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map | |
28 | !OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |> | |
29 | !OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss | |
30 | !SIZE = |> ^ SIZE %f^ $(SIZE) %f |> | |
31 | ||
32 | ||
33 | : foreach $(SRC) | $(PREDEP) |> !cc |> {objs} | |
34 | : $(SRC_Z) |> !cc $(CPPFLAGS_Z) |> {objs} | |
35 | ||
36 | : {objs} |> !LINK |> $(PROG).elf {elf} | |
37 | : {elf} |> !OBJCOPY |> %B.hex {aux} | |
38 | : {elf} |> !OBJDUMP |> %B.lss {aux} | |
39 | : {elf} | {aux} |> !SIZE |> | |
40 |