
export

# -------------------------------------------------------------------
# total make
# -------------------------------------------------------------------

NAME		= elfos
APPL		= demo
ARCH		= pxa255

MAIN_DIR	= $(PWD)
INCLUDE_DIR	= $(MAIN_DIR)/include
OUTPUT_DIR	= $(MAIN_DIR)/output

# -------------------------------------------------------------------

CROSS_COMPILE	= arm-linux-
AS		= $(CROSS_COMPILE)as
CC		= $(CROSS_COMPILE)gcc
LD		= $(CROSS_COMPILE)ld
OBJCOPY		= $(CROSS_COMPILE)objcopy
OBJDUMP		= $(CROSS_COMPILE)objdump

# -------------------------------------------------------------------

COMPILE_DIR	= arch lib drivers kernel application
DRIVERS_DIR	= serial lcd key rtc fnd textlcd
CLEAN_DIR	= $(COMPILE_DIR) include output

PLATFORM_LIBS = -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`)
CFLAGS		= -W -Wall --save-temps -mcpu=xscale -mtune=xscale -msoft-float -I$(INCLUDE_DIR)
OCFLAGS		= -O binary -R .note -R .comment -S
LDFLAGS		= -static -nostdlib -Map $(NAME).map -T $(LINKSCRIPT) 
LINKSCRIPT	= $(MAIN_DIR)/arch/$(ARCH)/script.ld

# -------------------------------------------------------------------

all :	prepare compile image
	@echo "make success!"

image :
	@make -C output image

clean :	
	@for dir in $(CLEAN_DIR); do make -C $$dir clean; done
#	rm -rf $(CLEANS)

prepare :
	@for dir in $(COMPILE_DIR); do make -C $$dir prepare; done
#	cp $(PREPARES) $(INCLUDE_DIR)

compile :	$(OBJECTS)
	@for dir in $(COMPILE_DIR); do make -C $$dir compile; done
#	cp $(OBJECTS) $(OUTPUT_DIR)

%.o :	%.c
	$(CC) $(CFLAGS) -c -o $@ $<

%.o :	%.S
	$(CC) $(CFLAGS) -c -o $@ $<

