#
#  ======== makeunix ========
#

# Import Tools Path from Rules.make
#include Rules.make

PROJECT_BASE_DIR = $(shell pwd)
LINUXKERNEL_INSTALL_DIR:=some-path/kernel
LINK_INSTALL_DIR := some-path/dsplink_1_51/dsplink

# The prefix to be added before the GNU compiler tools (optionally including
# path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".
GPPTOOL_DIR:=some-path/cross

# ---- DSP tools ----
DSP_BASE_CGTOOLS    := some-path/cg6x_6_0_19
DSP_BASE_BIOS	    := some-path/bios_5_32_03
DSP_BASE_RTDX	    := some-path/bios_5_32_03/packages/ti/rtdx
OSINC_PLATFORM1     := something
ARCHIVER_AR         := something


# ---- construct Link build make vars ----
GPP_MAKE_OPTS :=  COMPILER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \
		  LINKER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \
		  LD=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \
		  ARCHIVER1=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \
		  ARCHIVER2=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \
		  CROSS_COMPILE=arm-angstrom-linux-gnueabi- \
		  DSPLINK=$(LINK_INSTALL_DIR) \
		  BASE_TOOLCHAIN=$(GPPTOOL_DIR) \
		  BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) \
		  ARCHIVER=$(ARCHIVER_AR) OSINC_PLATFORM=$(OSINC_PLATFORM1) \

DSP_MAKE_OPTS :=  DSPLINK=$(DSPLINK) \
                  DPPROOT=$(DSPLINK)/dsp \
                  BASE_SABIOS=$(DSP_BASE_BIOS) \
                  BASE_CGTOOLS=$(DSP_BASE_CGTOOLS) \
                  BASE_RTDX=$(DSP_BASE_RTDX)
                  

#  ======== all ========
all: $(LINK_INSTALL_DIR)/packages/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko

$(LINK_INSTALL_DIR)/packages/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko:
	#@echo Building DSPLINK GPP driver, libs
	#make -s -C $(LINK_INSTALL_DIR)/gpp/src $(GPP_MAKE_OPTS) 
	#make -s -C $(DSPLINK)/gpp/src/samples $(GPP_MAKE_OPTS) 
	@echo Building DSPLINK DSP libs and message sample for DaVinci...
	make -C $(DSPLINK)/dsp/src $(DSP_MAKE_OPTS) 
	make -C $(DSPLINK)/dsp/src/samples $(DSP_MAKE_OPTS) 

#  clean rules
clean:
	@echo Cleaning DSPLINK GPP driver, libs
	make -s -C $(LINK_INSTALL_DIR)/gpp/src $(GPP_MAKE_OPTS) clean
	@rm -rf $(LINK_INSTALL_DIR)/gpp/export/BIN/*
	@rm -rf $(LINK_INSTALL_DIR)/gpp/export/INCLUDE/*