
CROSS = arm-linux-

CC = $(CROSS)gcc
LD = $(CROSS)ld
OC = $(CROSS)objcopy

TOPDIR = $(shell pwd)
INCLUDE = -nostdinc -I. -I$(TOPDIR)/include

CFLAGS = $(INCLUDE) -nostdinc -Wall -W -O3 -march=armv4 \
	 -mtune=arm9tdmi -fno-builtin -msoft-float

OCFLAGS = -O binary -R .note -R .comment -S

SRCS = task0.c task1.S task2.c
OBJS = task0.o task1.o task2.o

SRCS_COMMON = uart.c printf.c
OBJS_COMMON = uart.o printf.o

%.o : %.c
	$(CROSS)gcc $(CFLAGS) -c $<

%.o : %.S
	$(CROSS)gcc $(CFLAGS) -c $<

all : $(OBJS) $(OBJS_COMMON)
	@echo "micro task theBlueTask...."
	@echo
	$(LD) -o theBlueTask0.o task0.o $(OBJS_COMMON) -Ttext 0x30500000 -e main -N
	$(OC) theBlueTask0.o theBlueTask0 $(OCFLAGS)

	$(LD) -o theBlueTask1.o task1.o -Ttext 0x30600000 -e main -N
	$(OC) theBlueTask1.o theBlueTask1 $(OCFLAGS)

	$(LD) -o theBlueTask2.o task2.o $(OBJS_COMMON) -Ttext 0x30700000 -e main -N
	$(OC) theBlueTask2.o theBlueTask2 $(OCFLAGS)

clean :
	rm -f *.o
	rm -f theBlueTask*
