# Project name: U/COS II library

SDTPath = f:/project/arm202u
PROCESSOR = ARM7
ARCH = 4
PATH = f:/project/ucos-ii
TARGET = Debug
DEBUGGER = DEMON


ARMARCH = $(ARCH)

CC = $(SDTPath)/bin/armcc
CCflags = -c -g -ARCH$(ARCH) -apcs 3/noswst/fp/softfp \
		-D$(DEBUGGER) \
		-I../NedHAL -I../NedHAL/Boards/ARMulator \
		-I. -IARM
# -fwcah -wda -wp
# -fah -fussy -zpc1
# -w -ff

ASM = $(SDTPath)/bin/armasm
ASMflags = -g -CPU $(PROCESSOR) -CheckReglist -apcs 3/nosw \
		-PD "DEMON SETL {TRUE}" \
		-I.

LINK = $(SDTPath)/bin/armlink
LINKflags = -aif -nozeropad

LIB = $(SDTPath)/bin/armlib
LIBflags = -c


# ********************
# *** Core sources ***
# ********************

COREOBJS =	$(TARGET)/os_core.o \
			$(TARGET)/os_mbox.o \
			$(TARGET)/os_mem.o  \
			$(TARGET)/os_q.o    \
			$(TARGET)/os_sem.o  \
			$(TARGET)/os_task.o \
			$(TARGET)/os_time.o \
			$(TARGET)/ucos_ii.o

# ****************************
# *** ARM specific sources ***
# ****************************
ARMOBJS =	$(TARGET)/NedHAL_Entry.o \
			$(TARGET)/os_cpu_c.o     \
			$(TARGET)/os_cpu_a.o


TOTALOBJS = $(COREOBJS) $(ARMOBJS)

ucosii : $(TOTALOBJS)
	echo $(LIBflags) -o $(TARGET)/ucosii.alf $(TOTALOBJS) > libpars.via
	$(LIB) -VIA libpars.via
	del libpars.via

clean :
	del Debug\*.o
	del Debug\*.alf
	echo All objects removed!


# ********************
# *** Dependencies ***
# ********************
$(TARGET)/os_core.o : $(PATH)/Source/os_core.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_mbox.o : $(PATH)/Source/os_mbox.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_mem.o : $(PATH)/Source/os_mem.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_q.o : $(PATH)/Source/os_q.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_sem.o : $(PATH)/Source/os_sem.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_task.o : $(PATH)/Source/os_task.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_time.o : $(PATH)/Source/os_time.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/ucos_ii.o : $(PATH)/Source/ucos_ii.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/NedHAL_Entry.o : $(PATH)/ARM/NedHAL_Entry.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_cpu_c.o : $(PATH)/ARM/os_cpu_c.c
	$(CC) $(CCflags) -o $@ $<

$(TARGET)/os_cpu_a.o : $(PATH)/ARM/os_cpu_a.s
	$(ASM) $(ASMflags) -o $@ $<
