#*****************************************************************************
# Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
#   All rights reserved.
#
#   Redistribution and use in source and binary forms, with or without
#   modification, are permitted provided that the following conditions are met:
#       * Redistributions of source code must retain the above copyright
#         notice, this list of conditions and the following disclaimer.
#       * Redistributions in binary form must reproduce the above copyright
#         notice, this list of conditions and the following disclaimer in the
#         documentation and/or other materials provided with the distribution.
#       * Neither the name of Texas Instruments Incorporated nor the
#         names of its contributors may be used to endorse or promote products
#         derived from this software without specific prior written permission.
#
#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 OWNER OR CONTRIBUTORS 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.
#****************************************************************************
include ../make.inc

HOST_CC   		= $(CC)
HOST_INCLUDE 	= -I $(TARGET_ROOTDIR)/usr/include

OA_TC_OPTS 		= -O3
OA_HC_OPTS 		= -O3 -Wall -Wextra -fopenmp
OA_SHELL_OPTS 	= -v -k --hc="$(OA_HC_OPTS)" --tc="$(OA_TC_OPTS)"
HOST_OPTS 		= -O3

EXE     		= syncbench
HOST_SRCS 		= main.c
HOST_OBJS 		= $(patsubst %.c,%.o,$(HOST_SRCS))

TARGET_SRCS     = syncbench_target.c
DSP_SRCS        = syncbench.c common.c wtime_c66.c
DSP_OBJS 		= $(patsubst %.c,%.obj,$(DSP_SRCS))

TARGET_INCLUDE = -I $(TI_OCL_CGT_INSTALL)/include -I $(TARGET_ROOTDIR)/usr/share/ti/openmpacc/dsp/include

all: $(EXE)

$(EXE): $(HOST_OBJS) $(DSP_OBJS)
	$(OA_SHELL) $(OA_SHELL_OPTS) $(HOST_OBJS) $(TARGET_SRCS) $(DSP_OBJS) $(TARGET_LIB) -o $@

$(HOST_OBJS): %.o: %.c
	$(HOST_CC) $(HOST_OPTS) -c $(HOST_INCLUDE) $<

$(DSP_OBJS): %.obj: %.c
	$(CL) -mv6600 --abi=eabi --openmp -o3 $(TARGET_INCLUDE) $<

clean:
	@rm -f $(EXE) $(OA_SHELL_TMP_FILES) *.log
