]>
Commit | Line | Data |
---|---|---|
70da9bec L |
1 | include_rules |
2 | ||
cd5ee544 | 3 | PROG = stamp-monitor |
4f881b02 L |
4 | |
5 | FATFS = $(TOP)/fatfs/src/ff.c | |
6 | ||
534e1dfc | 7 | SRC = main.c |
d684c216 | 8 | SRC += cli.c cli_readline.c command.c command_tbl.c |
04b3ea0e | 9 | SRC += cmd_help.c cmd_run.c cmd_boot.c cmd_misc.c |
cb4fb1ed | 10 | SRC += cmd_date.c cmd_mem.c cmd_gpio.c cmd_attach.c |
c0abd68b | 11 | SRC += cmd_loadihex.c cmd_loadcpm3.c cmd_sd.c cmd_fat.c |
fcd2239e L |
12 | SRC += env.c xmalloc.c con-utils.c print-utils.c |
13 | SRC += getopt-min.c eval_arg.c | |
845cbdbd | 14 | SRC += timer.c serial.c i2c.c bcd.c pcf8583.c mmc.c |
05994bd9 | 15 | SRC += background.c z180-serv.c z80-if.c gpio.c |
4f881b02 | 16 | SRC += $(FATFS) $(TOP)/fatfs/src/option/unicode.c |
d684c216 | 17 | |
e63b2f75 L |
18 | #TODO: time lib |
19 | SRC += ../time/asctime_r.c ../time/gmtime_r.c ../time/mk_gmtime.c | |
20 | SRC += ../time/print_lz.c ../time/isLeap.c | |
19b9a7d8 | 21 | SRC += ../time/time.c ../time/fatfs_time.c |
be5cfb4b L |
22 | SRC += ../time/system_time.c ../time/set_system_time.c |
23 | ||
24 | ASRC += ../time/system_tick.S | |
e63b2f75 | 25 | |
a2907f2e | 26 | SRC_Z = ../z180/hdrom.c ../z180/cfboot.c |
d684c216 | 27 | |
70da9bec L |
28 | #TARGETS = $(PROG).elf |
29 | ||
f3e47f67 L |
30 | ifdef MCU |
31 | MCU_TARGET = @(MCU) | |
32 | else | |
33 | MCU_TARGET = atmega1281 | |
34 | endif | |
35 | ifeq ($(MCU_TARGET),atmega1281) | |
36 | DEFS += -DMCU_STRING=\"ATmega1281\" | |
37 | else | |
38 | DEFS += -DMCU_STRING=\"ATmega2561\" | |
39 | endif | |
40 | ||
9b6b4b31 | 41 | F_CPU = 18432000UL |
f3e47f67 | 42 | DEFS += -DF_CPU=$(F_CPU) |
70da9bec | 43 | |
21a24f90 L |
44 | INCLUDES += -I$(TOP)/include |
45 | ||
46 | #INCLUDES += -I../z180 | |
70da9bec | 47 | |
e7895944 L |
48 | ############################################################################### |
49 | ||
05994bd9 | 50 | TOOLCHAINDIR = |
e7895944 L |
51 | TOOLCHAIN = avr |
52 | ||
eded7ec4 L |
53 | CC = $(TOOLCHAIN)-gcc |
54 | LD = $(TOOLCHAIN)-gcc | |
55 | AR = $(TOOLCHAIN)-ar | |
56 | AS = $(TOOLCHAIN)-as | |
57 | OBJCOPY = $(TOOLCHAIN)-objcopy | |
58 | OBJDUMP = $(TOOLCHAIN)-objdump | |
59 | SIZE = $(TOOLCHAIN)-size | |
60 | GDB = $(TOOLCHAIN)-gdb | |
61 | ||
e7895944 L |
62 | ############################################################################### |
63 | ||
70da9bec | 64 | ifdef DEBUG |
92b46605 | 65 | SRC += debug.c |
70da9bec L |
66 | DEFS += -DDEBUG=2 |
67 | endif | |
68 | ||
eded7ec4 | 69 | CFLAGS = -g -Os |
70da9bec | 70 | CFLAGS += -mmcu=$(MCU_TARGET) |
eded7ec4 | 71 | CFLAGS += -std=gnu99 |
d684c216 | 72 | CFLAGS += -Wall -Wextra |
05994bd9 L |
73 | CFLAGS += -Wredundant-decls |
74 | CFLAGS += -mrelax | |
d0581f88 L |
75 | CFLAGS += -fno-common |
76 | CFLAGS += -ffunction-sections | |
77 | CFLAGS += -fdata-sections | |
78 | CFLAGS += -fno-tree-loop-optimize | |
79 | CFLAGS += -fno-move-loop-invariants | |
85787726 | 80 | CFLAGS += -fno-split-wide-types |
d0581f88 L |
81 | #CFLAGS += -flto |
82 | CFLAGS += -fshort-enums | |
83 | ||
85787726 | 84 | #CFLAGS += -fdiagnostics-color=always |
2ca8d8c7 | 85 | #CFLAGS += -save-temps -fverbose-asm |
d0581f88 | 86 | |
4f881b02 | 87 | CFLAGS_$(FATFS) = -fno-strict-aliasing |
d0581f88 | 88 | |
21a24f90 | 89 | CFLAGS += $(INCLUDES) |
70da9bec L |
90 | |
91 | CPPFLAGS += $(DEFS) | |
92 | ||
be5cfb4b L |
93 | #ASFLAGS += -Wa,-adhlns=$(<:.S=.lst),-gstabs |
94 | ASFLAGS += -mmcu=$(MCU_TARGET) -x assembler-with-cpp $(ASFLAGS) | |
95 | ||
70da9bec L |
96 | # Linker flags |
97 | LDFLAGS += -Wl,--gc-sections | |
98 | LDFLAGS += -Wl,--cref | |
99 | ||
be5cfb4b L |
100 | # Assemble: create object files from assembler source files. |
101 | #.S.o: | |
102 | # $(CC) -c $(ALL_ASFLAGS) $< -o $@ | |
103 | ||
70da9bec | 104 | |
be5cfb4b | 105 | !as = |> ^ AS %f^ $(CC) $(ASFLAGS) -c %f -o %o |> %B.o |
4f881b02 | 106 | !cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) $(CFLAGS_%f) -c %f -o %o |> %B.o |
2ca8d8c7 | 107 | #!cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) $(CFLAGS_%f) -c %f -o %o |> %B.o | %B.s %B.i |
eded7ec4 L |
108 | !LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map |
109 | !OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |> | |
110 | !OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss | |
05994bd9 | 111 | !SIZE = |> ^ SIZE^ $(SIZE) %f |> |
eded7ec4 | 112 | |
be5cfb4b | 113 | : foreach $(ASRC) |> !as |> {objs} |
a2907f2e L |
114 | : foreach $(SRC) | ../z180/hdrom.h ../z180/cfboot.h |> !cc |> {objs} |
115 | : foreach $(SRC_Z) |> !cc -D'const=const __flash' |> {objs} | |
eded7ec4 L |
116 | |
117 | : {objs} |> !LINK |> $(PROG).elf | |
118 | : $(PROG).elf |> !OBJCOPY |> %B.hex | |
119 | : $(PROG).elf |> !OBJDUMP |> %B.lss | |
120 | : $(PROG).elf |> !SIZE |> |