borgware-2d/defaults.mk

104 lines
2.6 KiB
Makefile
Raw Normal View History

# 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
# flags for the linker
LDFLAGS += -T ./avr5.x -Wl,-Map,image.map -mmcu=$(MCU)
2008-12-03 13:22:20 +00:00
#############################################################################
#Settings for Simulator build
2012-12-27 16:55:13 +00:00
CYGWINTYPE = $(shell echo $$OSTYPE)
OSTYPE = $(shell uname)
2009-07-18 16:55:02 +00:00
MACHINE = $(shell uname -m)
2008-12-28 21:49:28 +00:00
#$(info $(OSTYPE))
2012-12-27 16:55:13 +00:00
ifeq ($(CYGWINTYPE),cygwin)
CFLAGS_SIM = -g -Wall -pedantic -std=c99 -O0 -D_WIN32 -D_XOPEN_SOURCE=600
LDFLAGS_SIM = -T simulator/i386pe.x
LIBS_SIM = -lgdi32 -lwinmm -lm
2008-12-28 21:49:28 +00:00
else
2012-12-27 16:55:13 +00:00
ifeq ($(OSTYPE),FreeBSD)
CFLAGS_SIM = -g -I/usr/local/include -Wall -pedantic -std=c99 -O0 -D_XOPEN_SOURCE=600
ifeq ($(MACHINE),amd64)
LDFLAGS_SIM = -L/usr/local/lib -T simulator/elf_x86_64_fbsd.x
else
LDFLAGS_SIM = -L/usr/local/lib -T simulator/elf_i386_fbsd.x
endif
LIBS_SIM = -lglut -lpthread -lGL -lGLU -lm
2009-07-18 16:55:02 +00:00
else
2012-12-27 16:55:13 +00:00
CFLAGS_SIM = -g -Wall -pedantic -std=c99 -O0 -D_XOPEN_SOURCE=600
ifeq ($(MACHINE),x86_64)
LDFLAGS_SIM = -g -T simulator/elf_x86_64.x
else
LDFLAGS_SIM = -T simulator/elf_i386.x
endif
LIBS_SIM = -lglut -lpthread -lGL -lGLU -lm
2009-07-18 16:55:02 +00:00
endif
2008-12-28 21:49:28 +00:00
endif
2008-12-03 13:22:20 +00:00
##############################################################################
# the default target
$(TARGET):
##############################################################################
# include user's config.mk file
$(TOPDIR)/config.mk:
@echo "# Put your own config here!" > $@
@echo "#F_CPU = $(F_CPU)" >> $@
@echo "#MCU = $(MCU)" >> $@
@echo "created default config.mk, tune your settings there!"
-include $(TOPDIR)/config.mk
##############################################################################
# configure load address for bootloader, if enabled
#
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),mrproper)
ifneq ($(MAKECMDGOALS),menuconfig)
include $(TOPDIR)/.config
CPPFLAGS += -DF_CPU=$(FREQ)UL -mmcu=$(MCU)
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 $<