###############################################################################
############################# build libvdspservice ###############################
###############################################################################

LOCAL_PATH:=$(shell pwd)

LOCAL_CFLAGS += -DVDSP_MEM_OPT
#LOCAL_CFLAGS += -DDEBUG
CFLAGS = -Wall -g -O -fPIC
CFLAGS += $(LOCAL_CFLAGS)

INCLUDE_DIRS = -I ../../vdsp-dvfs \
		-I ../../vdsp-interface \
		-I ../../vdsp-mem \
		-I ../../xrp-host/inc

OBJ_DIR ?= .

TARGET = $(OBJ_DIR)/libvdspservice.so

C_SRC = $(wildcard ../../vdsp-interface/*.c ../../vdsp-mem/*.c ../../xrp-host/src/*.c)

C_OBJS = $(patsubst %.c,$(OBJ_DIR)/%.o,$(notdir $(C_SRC)))
#C_OBJS = $(C_SRC:.c=.o)
CPP_SRC = $(wildcard ../../vdsp-interface/*.cpp ../../vdsp-dvfs/*.cpp ../../vdsp-mem/*.cpp ../../xrp-host/src/*.cpp)

CPP_OBJS = $(patsubst %.cpp,$(OBJ_DIR)/%.o,$(notdir $(CPP_SRC)))
#CPP_OBJS = $(CPP_SRC:.cpp=.o)

LIBS :=

all: $(TARGET)

$(TARGET): $(C_OBJS) $(CPP_OBJS)
	$(CC) -shared -fPIC -o $(TARGET) $(C_OBJS) $(CPP_OBJS) $(LIBS)

$(C_OBJS):$(C_SRC)
	$(foreach var,$^,\
		$(CC) $(CFLAGS) $(INCLUDE_DIRS) -c $(var) -o $(OBJ_DIR)/$(basename $(notdir $(var))).o ;\
	)
$(CPP_OBJS):$(CPP_SRC)
	$(foreach var,$^,\
		$(CXX) $(CFLAGS) $(INCLUDE_DIRS) -c $(var) -o $(OBJ_DIR)/$(basename $(notdir $(var))).o ;\
	)
install:
	cp $(TARGET) $(INSTALL_MOD_PATH)/usr/lib

clean:
	rm -f $(C_OBJS)
	rm -f $(CPP_OBJS)
	rm -f $(TARGET)
