summaryrefslogtreecommitdiff
path: root/avr/Tupfile
diff options
context:
space:
mode:
Diffstat (limited to 'avr/Tupfile')
-rw-r--r--avr/Tupfile45
1 files changed, 45 insertions, 0 deletions
diff --git a/avr/Tupfile b/avr/Tupfile
new file mode 100644
index 0000000..54b976f
--- /dev/null
+++ b/avr/Tupfile
@@ -0,0 +1,45 @@
+include_rules
+
+PROG = z180-stamp-avr
+SRC = z180-stamp-avr.c serial.c z80-if.c
+SRC_Z = ../z180/hdrom.c
+#TARGETS = $(PROG).elf
+
+MCU_TARGET = atmega1281
+F_CPU = 16000000UL
+DEFS = -DF_CPU=$(F_CPU) -DBAUD=115200
+
+INCLUDES += ../z180
+
+ifdef DEBUG
+DEFS += -DDEBUG=2
+endif
+
+CFLAGS = -g -Os
+CFLAGS += -mmcu=$(MCU_TARGET)
+CFLAGS += -std=gnu99
+CFLAGS += -Wall -Wextra -Wimplicit-function-declaration
+CFLAGS += -Wredundant-decls
+#CFLAGS += -fno-common -ffunction-sections -fdata-sections
+#CFLAGS += -I $(INCLUDES)
+
+CPPFLAGS += $(DEFS)
+
+# Linker flags
+LDFLAGS += -Wl,--gc-sections
+LDFLAGS += -Wl,--cref
+
+
+!cc = |> ^ CC %f^ avr-gcc $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o
+!LINK = |> ^ LINK %o^ avr-gcc $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map
+!OBJCOPY= |> ^ OBJCOPY %o^ avr-objcopy -Oihex %f %o |>
+!OBJDUMP= |> ^ OBJDUMP %o^ avr-objdump -h -S %f > %o |> %O.lss
+
+: foreach $(SRC) | ../z180/hdrom.h |> !cc |> {objs}
+: $(SRC_Z) |> !cc -D'const=const __flash' |> {objs}
+
+: {objs} |> !LINK |> $(PROG).elf
+: $(PROG).elf |> !OBJCOPY |> %B.hex
+: $(PROG).elf |> !OBJDUMP |> %B.lss
+
+