CC=g++
CXX=g++
CLDIR?=/apps/opencl/2.0/usr

ifeq ($(TARGET),mali)
EXTRA_FLAGS=-mfloat-abi=hard
EXTRA_LIBS=-lmali
else
EXTRA_FLAGS?=
EXTRA_LIBS?=
endif

.SUFFIXES:

main: build/lbm

build/%.o: src/%.c
	$(CC) $(EXTRA_FLAGS) -I ../common/include -I $(CLDIR)/include -I src -c -o $@ $<

build/emi.o: ../common/src/emi.cpp
	$(CXX) $(EXTRA_FLAGS) -I ../common/include -I $(CLDIR)/include -I src -c -o $@ $<

build/%.o: src/%.cpp
	$(CXX) $(EXTRA_FLAGS) -I ../common/include -I $(CLDIR)/include -I src -c -o $@ $<

build/lbm: build/emi.o build/main.o build/ocl.o build/lbm.o build/parboil_opencl.o build/OpenCL_common.o
	$(CXX) $(EXTRA_FLAGS) -o $@ $(EXTRA_LIBS) -L$(CLDIR)/lib -L$(CLDIR)/lib64 $^ -lOpenCL

.PHONY: clean
clean:
	rm -f build/*.o build/lbm
