INCLUDES += ../z180
+###############################################################################
+
+TOOLCHAINDIR =
+TOOLCHAIN = avr
+
+CC = $(TOOLCHAIN)-gcc
+LD = $(TOOLCHAIN)-gcc
+AR = $(TOOLCHAIN)-ar
+AS = $(TOOLCHAIN)-as
+OBJCOPY = $(TOOLCHAIN)-objcopy
+OBJDUMP = $(TOOLCHAIN)-objdump
+SIZE = $(TOOLCHAIN)-size
+GDB = $(TOOLCHAIN)-gdb
+
+###############################################################################
+
ifdef DEBUG
DEFS += -DDEBUG=2
endif
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
+!cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o
+!LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map
+!OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |>
+!OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss
+!SIZE = |> ^ SIZE^ $(SIZE) %f |>
: 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
-
+: $(PROG).elf |> !SIZE |>
#ifndef DEBUG_H_
#define DEBUG_H_
+#include <avr/pgmspace.h>
+
#ifdef DEBUG
-#define DBG_P(lvl, ...) if (DEBUG>=lvl) fprintf_P( stderr, __VA_ARGS__ )
+#define DBG_P(lvl, format, ...) if (DEBUG>=lvl) \
+ fprintf_P( stderr, PSTR(format), ##__VA_ARGS__ )
#else
#define DBG_P(lvl, ...)
#endif
AS = $(TOOLCHAIN)-as
OBJCOPY = $(TOOLCHAIN)-objcopy
OBJDUMP = $(TOOLCHAIN)-objdump
+SIZE = $(TOOLCHAIN)-size
GDB = $(TOOLCHAIN)-gdb
###############################################################################
!LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map
!OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |>
!OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss
+!SIZE = |> ^ SIZE^ $(SIZE) %f |>
: foreach $(SRC) $(SRC_Z) | ../z180/hdrom.h |> !cc |> {objs}
: {objs} |> !LINK |> $(PROG).elf
: $(PROG).elf |> !OBJCOPY |> %B.hex
: $(PROG).elf |> !OBJDUMP |> %B.lss
+: $(PROG).elf |> !SIZE |>