1 # Demo for GCC/HCS12 port of FreeRTOS
2 # Author Jefferson Smith
5 RTOS_BASEDIR=$(SRCDIR)/Source
7 # what board to compile for
8 TARGET_BOARD ?= dragon12-rom
11 DEVC_PREFIX=m6811-elf-
15 OBJCOPY=$(DEVC_PREFIX)objcopy
16 OBJDUMP=$(DEVC_PREFIX)objdump
18 CPPFLAGS+=-I. -I./asm-$(CPU)/arch-dragon12 -I../Common/include \
19 -I$(RTOS_BASEDIR)/include -DGCC_HCS12 -DM6812_DEF_SCI=1 -DPORT_LED=M6811_PORTB
21 CFLAGS+=-$(CPU) -mshort -mlong-calls -g -Os -Wall -Wmissing-prototypes \
22 -Wno-char-subscripts -fomit-frame-pointer -msoft-reg-count=0 -mauto-incdec
23 #-Os -fomit-frame-pointer
25 LDFLAGS+=-$(CPU) -mshort -mlong-calls -Wl,-T,ldscript-rtos.x
27 OBJCOPY_FLAGS=--srec-len=0x20 --change-addresses 0xffff0000
29 CSRCS=main.c startup.c vectors.c serial.c sci.c ParTest.c gelfunc.c \
30 ../Common/Minimal/flash.c \
31 ../Common/Minimal/dynamic.c \
32 ../Common/Minimal/BlockQ.c \
33 ../Common/Minimal/PollQ.c \
34 ../Common/Minimal/comtest.c \
35 ../Common/Minimal/integer.c \
36 ../Common/Minimal/death.c \
38 RTOS_OBJS = $(RTOS_BASEDIR)/portable/GCC/HCS12/port.c \
39 $(RTOS_BASEDIR)/portable/MemMang/heap_2.c \
40 $(RTOS_BASEDIR)/list.c \
41 $(RTOS_BASEDIR)/tasks.c \
42 $(RTOS_BASEDIR)/queue.c
44 OBJS=$(CSRCS:.c=.o) $(RTOS_OBJS:.c=.o)
47 # *.elf for the simulator and gdb
48 # *.s19 is original S Records from ld
49 # *.s2 is S2 Records (from SRecCvt.exe)
51 all:: main.elf main.lst main.s19
54 $(CC) $(LDFLAGS) -o $@ $^ -lc -lbcc -lc
57 $(OBJDUMP) -htS $< >$@
60 $(OBJCOPY) --output-target=srec $(OBJCOPY_FLAGS) $< $*.s19
63 $(RM) $(OBJS) *.elf *.s19