##############################################
# Tool Chain
##############################################
#MAKEFLAGS = --no-print-directory
CC ?= mipsel-linux-gcc
AR ?= mipsel-linux-ar

##############################################
# PATH
##############################################
MYLIB            := lib/libMCP.a
EXPORT_INC_PATH  := exp_inc/

##############################################
# Environment
##############################################
SRC         = 
OBJ         = 
INC         = 
DBG_DEF     =
INC_DEF     = -I inc/
SUBDIRS     = 
VPATH       = obj inc src 
EXPORT_INC  = 


##############################################
# Depandency
##############################################

MCP_HW_API  = y
MCP_CIPHER  = y
MCP_DGST    = y
MCP_RSA     = y
MCP_IMAGE_FILE_V2  = y

OBJ         +=  MCPUtil.o mcp_aux.o
EXPORT_INC  +=  MCPUtil.h mcp_aux.h

ifeq ($(MCP_CIPHER), y)
OBJ         +=  mcp_cipher.o
EXPORT_INC  +=  mcp_cipher.h
endif

ifeq ($(MCP_DGST), y)
OBJ         +=  mcp_dgst.o mcp_buff.o
EXPORT_INC  +=  mcp_dgst.h mcp_buff.h
endif

ifeq ($(MCP_RSA), y)
OBJ         +=  mcp_rsa.o mcp_bi.o
EXPORT_INC  +=  mcp_rsa.h mcp_bi.h
endif

OBJ         +=  image_verify_2.o
EXPORT_INC  +=  image_verify_2.h


##############################################
# Make
##############################################
all : rm_lib export_header subdir $(OBJ)
	@for i in $(OBJ); do $(AR) rc $(MYLIB) obj/$$i; done;
	
.c.o:
	@$(CC) $(CFLAGS) $(INC_DEF) $(DBG_DEF) -c $< -o obj/$@
	
.cpp.o:
	@$(CC) $(CFLAGS) $(INC_DEF) $(DBG_DEF) -c $< -o obj/$@	
		
subdir:
	@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done;			
	
export_header: 	
	@mkdir -p $(EXPORT_INC_PATH)
	@rm -f $(EXPORT_INC_PATH)/*
	@for i in $(EXPORT_INC); do cp -f inc/$$i $(EXPORT_INC_PATH); done;

rm_lib:
	@$(RM) -f $(MYLIB)

clean: 	rm_lib
	@set -e; for i in $(SUBDIRS); do $(MAKE) clean -C $$i; done;	
	@$(RM) -f src/*~ src/*.bak 	
	@$(RM) -f inc/*~ inc/*.bak
	@$(RM) -f obj/*		
	@$(RM) -f *~ *.bak 

