]>
Commit | Line | Data |
---|---|---|
70da9bec L |
1 | include_rules |
2 | ||
3 | PROG = z180-stamp-stm32 | |
4 | SRC = z180-stamp-stm32.c serial.c z80-if.c | |
5 | SRC_Z = ../z180/hdrom.c | |
6 | #TARGETS = $(PROG).elf | |
7 | ||
8 | FP_FLAGS = -msoft-float | |
9 | DEFS = -DSTM32F1 -DBAUD=115200 | |
10 | ||
11 | LIBNAME = opencm3_stm32f1 | |
12 | OPENCM3_DIR = $(TOP)/libopencm3 | |
13 | LDSCRIPT = stm32vl-discovery.ld | |
14 | ||
15 | ############################################################################### | |
eded7ec4 | 16 | # Executables |
70da9bec L |
17 | |
18 | TOOLCHAINDIR = /usr/local/gcc-arm-none-eabi-4_8-2014q2/bin | |
19 | TOOLCHAIN = $(TOOLCHAINDIR)/arm-none-eabi | |
20 | ||
eded7ec4 L |
21 | CC = $(TOOLCHAIN)-gcc |
22 | LD = $(TOOLCHAIN)-gcc | |
23 | AR = $(TOOLCHAIN)-ar | |
24 | AS = $(TOOLCHAIN)-as | |
25 | OBJCOPY = $(TOOLCHAIN)-objcopy | |
26 | OBJDUMP = $(TOOLCHAIN)-objdump | |
27 | SIZE = $(TOOLCHAIN)-size | |
28 | GDB = $(TOOLCHAIN)-gdb | |
29 | ||
70da9bec L |
30 | ############################################################################### |
31 | ||
32 | INCLUDES += $(OPENCM3_DIR)/include | |
33 | LIBDIRS += $(OPENCM3_DIR)/lib | |
34 | ||
eded7ec4 L |
35 | SCRIPT_DIR = $(OPENCM3_DIR)/scripts |
36 | ||
70da9bec L |
37 | |
38 | ifdef DEBUG | |
39 | DEFS += -DDEBUG=2 | |
40 | endif | |
41 | ||
eded7ec4 | 42 | CFLAGS += -g -Os |
70da9bec | 43 | CFLAGS += -mthumb -mcpu=cortex-m3 $(FP_FLAGS) -mfix-cortex-m3-ldrd |
eded7ec4 L |
44 | CFLAGS += -std=gnu99 |
45 | CFLAGS += -Wall -Wextra -Wimplicit-function-declaration | |
46 | CFLAGS += -Wredundant-decls | |
47 | #CFLAGS += -fno-common -ffunction-sections -fdata-sections | |
70da9bec L |
48 | CFLAGS += -I $(INCLUDES) |
49 | ||
50 | CPPFLAGS += $(DEFS) | |
51 | ||
52 | # Linker flags | |
53 | LDFLAGS += --static -nostartfiles | |
eded7ec4 L |
54 | LDFLAGS += -T$(LDSCRIPT) |
55 | LDFLAGS += -Wl,--gc-sections | |
56 | LDFLAGS += -Wl,--cref | |
57 | ||
58 | LDLIBS += -L$(LIBDIRS) -l$(LIBNAME) | |
59 | LDLIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group | |
60 | ||
61 | ||
62 | !cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o | |
63 | !LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map | |
64 | !OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |> | |
65 | !OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss | |
66 | !SIZE = |> ^ SIZE^ $(SIZE) %f |> | |
70da9bec | 67 | |
eded7ec4 | 68 | : foreach $(SRC) $(SRC_Z) | ../z180/hdrom.h |> !cc |> {objs} |
70da9bec | 69 | |
eded7ec4 L |
70 | : {objs} |> !LINK |> $(PROG).elf |
71 | : $(PROG).elf |> !OBJCOPY |> %B.hex | |
72 | : $(PROG).elf |> !OBJDUMP |> %B.lss | |
73 | : $(PROG).elf |> !SIZE |> | |
70da9bec | 74 |