blob: 4d19f27c7c71c674efc82c3a9dba39b1c990f150 [file] [log] [blame]
# Demo for GCC/HCS12 port of FreeRTOS
# Author Jefferson Smith
#
SRCDIR=../..
RTOS_BASEDIR=$(SRCDIR)/Source
# what board to compile for
TARGET_BOARD ?= dragon12-rom
CPU=m68hcs12
DEVC_PREFIX=m6811-elf-
CC=$(DEVC_PREFIX)gcc
AS=$(DEVC_PREFIX)as
AR=$(DEVC_PREFIX)ar
OBJCOPY=$(DEVC_PREFIX)objcopy
OBJDUMP=$(DEVC_PREFIX)objdump
CPPFLAGS+=-I. -I./asm-$(CPU)/arch-dragon12 -I../Common/include \
-I$(RTOS_BASEDIR)/include -DGCC_HCS12 -DM6812_DEF_SCI=1 -DPORT_LED=M6811_PORTB
CFLAGS+=-$(CPU) -mshort -mlong-calls -g -Os -Wall -Wmissing-prototypes \
-Wno-char-subscripts -fomit-frame-pointer -msoft-reg-count=0 -mauto-incdec
#-Os -fomit-frame-pointer
LDFLAGS+=-$(CPU) -mshort -mlong-calls -Wl,-T,ldscript-rtos.x
OBJCOPY_FLAGS=--srec-len=0x20 --change-addresses 0xffff0000
CSRCS=main.c startup.c vectors.c serial.c sci.c ParTest.c gelfunc.c \
../Common/Minimal/flash.c \
../Common/Minimal/dynamic.c \
../Common/Minimal/BlockQ.c \
../Common/Minimal/PollQ.c \
../Common/Minimal/comtest.c \
../Common/Minimal/integer.c \
../Common/Minimal/death.c \
RTOS_OBJS = $(RTOS_BASEDIR)/portable/GCC/HCS12/port.c \
$(RTOS_BASEDIR)/portable/MemMang/heap_2.c \
$(RTOS_BASEDIR)/list.c \
$(RTOS_BASEDIR)/tasks.c \
$(RTOS_BASEDIR)/queue.c
OBJS=$(CSRCS:.c=.o) $(RTOS_OBJS:.c=.o)
#
# *.elf for the simulator and gdb
# *.s19 is original S Records from ld
# *.s2 is S2 Records (from SRecCvt.exe)
#
all:: main.elf main.lst main.s19
main.elf: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $^ -lc -lbcc -lc
%.lst: %.elf
$(OBJDUMP) -htS $< >$@
%.s19: %.elf
$(OBJCOPY) --output-target=srec $(OBJCOPY_FLAGS) $< $*.s19
clean::
$(RM) $(OBJS) *.elf *.s19