pcb and initial code from https://github.com/das-labor/borgware-2d.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
5.2 KiB
172 lines
5.2 KiB
# ethersex project specific defaults, each can be overridden in config.mk
|
|
F_CPU = 20000000UL
|
|
MCU = atmega644
|
|
|
|
CC=avr-gcc
|
|
AR=avr-ar
|
|
OBJCOPY = avr-objcopy
|
|
OBJDUMP = avr-objdump
|
|
AS = avr-as
|
|
CP = cp
|
|
RM = rm -f
|
|
AVRDUDE = avrdude
|
|
AVRDUDE_BAUDRATE = 115200
|
|
SIZE = avr-size
|
|
STRIP = avr-strip
|
|
|
|
HOSTCC := gcc
|
|
export HOSTCC
|
|
|
|
LIBS = -lm
|
|
|
|
# flags for the compiler
|
|
CFLAGS ?= -Wall -W -Wno-unused-parameter -Wno-sign-compare
|
|
CFLAGS += -g -Os -std=gnu99 -fgnu89-inline -D_XOPEN_SOURCE=600 -DNDEBUG
|
|
|
|
#############################################################################
|
|
#Settings for Simulator build
|
|
|
|
#ugly hack to define a newline (yes, there are two blank lines, on purpose!!)
|
|
define n
|
|
|
|
|
|
endef
|
|
|
|
OSTYPE = $(shell uname)
|
|
MACHINE = $(shell uname -m)
|
|
|
|
ifeq ($(findstring CYGWIN,$(OSTYPE)),CYGWIN)
|
|
CFLAGS_SIM = -g -Wall -pedantic -std=c99 -O0 -D_WIN32 -D_XOPEN_SOURCE=600
|
|
ifeq ($(MACHINE),x86_64)
|
|
LDFLAGS_SIM = -T ld_scripts/i386pep.x
|
|
else
|
|
ifeq ($(MACHINE),i686)
|
|
LDFLAGS_SIM = -T ld_scripts/i386pe.x
|
|
else
|
|
$(warning $(n)$(n)Simulator build is only supported on i386 and amd64.$(n)$(n))
|
|
endif
|
|
endif
|
|
LIBS_SIM = -lgdi32 -lwinmm -lm
|
|
else
|
|
ifeq ($(OSTYPE),FreeBSD)
|
|
CFLAGS_SIM = -g -I/usr/local/include -Wall -pedantic -std=c99 -O0
|
|
CFLAGS_SIM += -D_XOPEN_SOURCE=600
|
|
ifeq ($(MACHINE),amd64)
|
|
LDFLAGS_SIM = -L/usr/local/lib -T ld_scripts/elf_x86_64_fbsd.x
|
|
else
|
|
ifeq ($(MACHINE),i386)
|
|
LDFLAGS_SIM = -L/usr/local/lib -T ld_scripts/elf_i386_fbsd.x
|
|
else
|
|
$(warning $(n)$(n)Simulator build is only supported on i386 and amd64.$(n)$(n))
|
|
endif
|
|
endif
|
|
LIBS_SIM = -lglut -lpthread -lGL -lGLU -lm
|
|
else
|
|
ifeq ($(OSTYPE),NetBSD)
|
|
CFLAGS_SIM = -g -I /usr/pkg/include -I/usr/X11R7/include -Wall -pedantic -std=c99 -O0
|
|
CFLAGS_SIM += -D_XOPEN_SOURCE=600
|
|
ifeq ($(MACHINE),amd64)
|
|
LDFLAGS_SIM = -L/usr/pkg/lib -L/usr/X11R7/lib -T ld_scripts/elf_x86_64_nbsd.x -Wl,-R/usr/pkg/lib,-R/usr/X11R7/lib
|
|
else
|
|
ifeq ($(MACHINE),i386)
|
|
LDFLAGS_SIM = -L/usr/pkg/lib -L/usr/X11R7/lib -T ld_scripts/elf_i386_nbsd.x -Wl,-R/usr/pkg/lib,-R/usr/X11R7/lib
|
|
else
|
|
$(warning $(n)$(n)Simulator build is only supported on i386 and amd64.$(n)$(n))
|
|
endif
|
|
endif
|
|
LIBS_SIM = -lglut -lpthread -lGL -lGLU -lm
|
|
else
|
|
ifeq ($(OSTYPE),OpenBSD)
|
|
CFLAGS_SIM = -g -I/usr/local/include -I/usr/X11R6/include -Wall -pedantic -std=c99 -O0
|
|
CFLAGS_SIM += -D_XOPEN_SOURCE=600
|
|
ifeq ($(MACHINE),amd64)
|
|
LDFLAGS_SIM = -L/usr/local/lib -L/usr/X11R6/lib -T ld_scripts/elf_x86_64_obsd.xd
|
|
else
|
|
ifeq ($(MACHINE),i386)
|
|
LDFLAGS_SIM = -L/usr/local/lib -L/usr/X11R6/lib -T ld_scripts/elf_i386_obsd.xd
|
|
else
|
|
$(warning $(n)$(n)Simulator build is only supported on i386 and amd64.$(n)$(n))
|
|
endif
|
|
endif
|
|
LIBS_SIM = -lglut -lpthread -lGL -lGLU -lm
|
|
else
|
|
ifeq ($(OSTYPE),Linux)
|
|
CFLAGS_SIM = -g -Wall -pedantic -std=c99 -O0 -D_XOPEN_SOURCE=600
|
|
ifeq ($(MACHINE),x86_64)
|
|
LDFLAGS_SIM = -T ld_scripts/elf_x86_64.x
|
|
else
|
|
ifeq ($(MACHINE),i686)
|
|
LDFLAGS_SIM = -T ld_scripts/elf_i386.x
|
|
else
|
|
$(warning $(n)$(n)Simulator build is only supported on i386 and amd64.$(n)$(n))
|
|
endif
|
|
endif
|
|
LIBS_SIM = -lglut -lpthread -lGL -lGLU -lm
|
|
else
|
|
($(warning $(n)$(n)Simulator build is not supported on your system.$(n)$(n)\
|
|
Currently supported platforms:$(n) \
|
|
Linux on i386 and amd64$(n) \
|
|
FreeBSD on i386 and amd64$(n) \
|
|
NetBSD on i386 and amd64$(n) \
|
|
Windows (via Cygwin) on i386 and amd64)
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
##############################################################################
|
|
# the default target
|
|
$(TARGET):
|
|
|
|
##############################################################################
|
|
# include user's config.mk file
|
|
|
|
$(MAKETOPDIR)/config.mk:
|
|
@echo "# Customize your config here!" >$@
|
|
@echo "# Add further CFLAGS by using the += operator, eg." >>$@
|
|
@echo "# CFLAGS += -mstrict-X" >>$@
|
|
@echo "#" >>$@
|
|
@echo "# In case you wonder: -mstrict-X produces smaller code, but" >>$@
|
|
@echo "# is only available on avr-gcc 4.7.0 or higher." >>$@
|
|
@echo "#" >>$@
|
|
@echo "# Other flags you might want to tune: CPPFLAGS, LDFLAGS ..." >>$@
|
|
@echo "Created default config.mk, tune your settings there!"
|
|
|
|
-include $(MAKETOPDIR)/config.mk
|
|
|
|
##############################################################################
|
|
# configure load address for bootloader, if enabled
|
|
#
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
ifneq ($(MAKECMDGOALS),mrproper)
|
|
ifneq ($(MAKECMDGOALS),menuconfig)
|
|
include $(MAKETOPDIR)/.config
|
|
CPPFLAGS += -DF_CPU=$(FREQ)UL -mmcu=$(MCU)
|
|
|
|
# flags for the linker, choose appropriate linker script
|
|
ifeq ($(findstring atmega256,$(MCU)),atmega256)
|
|
LDFLAGS += -T ld_scripts/avr6.x -Wl,-Map,image.map -mmcu=$(MCU)
|
|
else
|
|
ifeq ($(findstring atmega128,$(MCU)),atmega128)
|
|
LDFLAGS += -T ld_scripts/avr51.x -Wl,-Map,image.map -mmcu=$(MCU)
|
|
else
|
|
LDFLAGS += -T ld_scripts/avr5.x -Wl,-Map,image.map -mmcu=$(MCU)
|
|
endif
|
|
endif
|
|
endif # MAKECMDGOALS!=menuconfig
|
|
endif # MAKECMDGOALS!=mrproper
|
|
endif # MAKECMDGOALS!=clean
|
|
|
|
ifeq ($(BOOTLOADER_SUPPORT),y)
|
|
LDFLAGS += -Wl,--section-start=.text=0xE000
|
|
CFLAGS += -mcall-prologues
|
|
endif
|
|
|
|
|
|
%.s: %.c
|
|
$(CC) -o $@ -O0 $(CPPFLAGS) -S $<
|
|
|
|
%.E: %.c
|
|
$(CC) -o $@ -O0 $(CPPFLAGS) -C -E -dD $<
|
|
|
|
|