PLTF_PREFIX := arm-linux-gnueabihf-
CC := gcc
AS := as

SRC_DIR := ../Test_HelloWorldCode
OBJ_DIR := obj
OBJ_ASM_DIR := obj_asm

OUTPUT_DIR := output

INCDIR_FLAGS := -I"./Mali_OpenCL_SDK/include" 
LDLIB_FLAGS += -L "./Mali_OpenCL_SDK/lib" -lOpenCL -lpthread -lrt -lstdc++
TARGET_BIN := $(OUTPUT_DIR)/TEST_ARNDALE

SRC_FILES := \
	test_app/test_arndale.c

ASM_FILES := \
test_arndale.s
OBJ_FILES := $(patsubst %.c,$(OBJ_DIR)/%.o,$(notdir $(SRC_FILES)))
OBJ_FILES_ASM += $(patsubst %.s,$(OBJ_ASM_DIR)/%.o,$(notdir $(ASM_FILES)))

CFLAGS += -Wall -s -fomit-frame-pointer -O3 -mcpu=cortex-a15 -mfpu=neon -mthumb-interwork -fno-builtin -fPIC -fno-short-enums
CFLAGS += -DARM_ASM_TEST
 
ASM_FLAGS := -mcpu=cortex-a15 -mfpu=neon -k

VPATH := $(SRC_DIR)/test_app 

all: $(OBJ_FILES) $(OBJ_FILES_ASM)
	-mkdir -p $(OUTPUT_DIR)
	$(PLTF_PREFIX)$(CC) -g $(CFLAGS) -o $(TARGET_BIN) $(OBJ_FILES) $(OBJ_FILES_ASM) $(LDLIB_FLAGS)
	@chmod 666 $(TARGET_BIN)

$(OBJ_DIR)/%.o: %.c
	-mkdir -p $(OBJ_DIR)
	$(PLTF_PREFIX)$(CC) -g -c $(CFLAGS) $(INCDIR_FLAGS) -o $@ $<
	@chmod 666 $@

$(OBJ_ASM_DIR)/%.o: %.s
	-mkdir -p $(OBJ_ASM_DIR)
	$(PLTF_PREFIX)$(AS) -g $(ASM_FLAGS) -o $@ $<
	@chmod 666 $@

clean:
	rm -rf $(OUTPUT_DIR) $(OBJ_DIR) $(OBJ_ASM_DIR)


