# (c) Copyright 2010, ACTi Corporation, Inc. ALL RIGHTS RESERVED
#
# All software are Copyright 2010 by ACTi Corporation. ALL RIGHTS RESERVED.
# Redistribution and use in source and binary forms, with or without modification,
# are strictly prohibited.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

KERNEL_SRC = ../../linux
PWD = $(shell pwd)
TARGET_DIR := $(BUILD_TOPDIR)/output/staging
MODULE_DIR := $(BUILD_TOPDIR)/kernel/modules

pxHAL := sdk/hal
pxMDW := sdk/middleware
pxAPI := sdk/api
pxAPP := app
pxLIB := lib
pxINC := $(MODULE_DIR)/isp/inc
pxAPPINC := $(MODULE_DIR)/isp/app

include $(MODULE_DIR)/isp/release.inc
include $(MODULE_DIR)/isp/scripts/flist_sdk.inc
include $(MODULE_DIR)/isp/scripts/flist_app.inc
include $(MODULE_DIR)/isp/scripts/flist_lib.inc

CC_SRCS += $(SDK_SRCS)
CC_SRCS += $(APP_SRCS)
CC_SRCS += $(LIB_SRCS)

SRCS =
SRCS += $(CC_SRCS)

INIT_SCRIPT = S20isp
INIT_BIN = I80_*.BIN


EXTRA_CFLAGS += -I$(pxINC)
EXTRA_CFLAGS += -I$(pxINC)/app
EXTRA_CFLAGS += -I$(pxINC)/lib
EXTRA_CFLAGS += -I$(pxINC)/sdk
EXTRA_CFLAGS += -I$(pxAPPINC)/include
EXTRA_CFLAGS += -I$(pxAPPINC)/applens/include

#--- Release Version 
EXTRA_CFLAGS += -DFORMAL_RELEASE
EXTRA_CFLAGS += -DR_VER_AA=$(FWVER_AA)
EXTRA_CFLAGS += -DR_VER_B=$(FWVER_B)
EXTRA_CFLAGS += -DR_VER_C=$(FWVER_C)
EXTRA_CFLAGS += -DR_VER_XX=$(FWVER_XX)
EXTRA_CFLAGS += -DR_VER_YY=$(FWVER_YY)

EXTRA_CFLAGS += -DP_VER_C=$(PROFVER_C)
EXTRA_CFLAGS += -DP_VER_XX=$(PROFVER_XX)
EXTRA_CFLAGS += -DP_VER_YY=$(PROFVER_YY)

EXTRA_CFLAGS += -DR_VER_RC=$(RC_VER)

#--- Code/Date Version 
EXTRA_CFLAGS	+= -DMK_YEAR=$(shell echo `date +'%-Y'`)
EXTRA_CFLAGS	+= -DMK_MONTH=$(shell echo `date +'%-m'`)
EXTRA_CFLAGS	+= -DMK_DAY=$(shell echo `date +'%-d'`)
EXTRA_CFLAGS	+= -DMK_HH=$(shell echo `date +'%-H'`)
EXTRA_CFLAGS	+= -DMK_MM=$(shell echo `date +'%-M'`)
EXTRA_CFLAGS	+= -DMK_SS=$(shell echo `date +'%-S'`)
EXTRA_CFLAGS	+= -DVER_MAJOR=$(B_VER_MAJOR)
EXTRA_CFLAGS	+= -DVER_MINOR=$(B_VER_MINOR)


ISP-objs:= $(CC_SRCS:.c=.o)
obj-m := ISP.o

all: modules

modules:
	$(MAKE) -C ${KERNEL_SRC} M=${PWD} modules
	arm-none-linux-gnueabi-strip -g -S -d ISP.ko

install:
	@cp *.ko  $(TARGET_DIR)/lib/modules
	#@make -C res a1=1
	@mkdir -p $(TARGET_DIR)/etc/isp; cp download/${INIT_BIN} $(TARGET_DIR)/etc/isp
	@cp resources/${INIT_SCRIPT} $(TARGET_DIR)/etc/init.d
	#@mkdir -p $(TARGET_DIR)/etc/isp/h264; tar -zxvf res/h264.tgz -C $(TARGET_DIR)/etc/isp;
	#rm -f $(TARGET_DIR)/lib/modules/ISP.ko
	#rm -f $(TARGET_DIR)/etc/init.d/$(INIT_SCRIPT)

clean:
	@rm -f *.o ISP.ko
	@rm -f *~p
	@rm -f *.map
	@rm -f *.cmd
	@rm -f $(ISP-objs)
	@rm -rf *.order *.symvers *.mod.* Makefile~ *.c~ *.h~ .*.*.cmd .tmp_versions
