# makefile for openclapp BOINC example appication on Mac OS X 10.7
# To build:
#   cd to the boinc/samples/openclapp directory
#   make -f Makefile_mac [clean] all
#
# Updated 4/14/15 for compatibility with Xcode 6


BOINC_DIR = ../..
BOINC_API_DIR = $(BOINC_DIR)/api
BOINC_LIB_DIR = $(BOINC_DIR)/lib 
BOINC_BUILD_DIR = $(BOINC_DIR)/mac_build/build/Deployment
BOINC_MAC_CONFIG_DIR = $(BOINC_DIR)/clientgui/mac
FRAMEWORKS_DIR = /System/Library/Frameworks

CXXFLAGS = -g \
    -stdlib=libstdc++ \
    -I$(BOINC_DIR) \
    -I$(BOINC_LIB_DIR) \
    -I$(BOINC_API_DIR) \
    -I$(BOINC_MAC_CONFIG_DIR)

PROGS = openclapp \

all: $(PROGS)

clean:
	/bin/rm -f $(PROGS) *.o

distclean:
	/bin/rm -f $(PROGS) *.o

install: openclapp

openclapp: openclapp.o boinc_opencl.o
	$(CXX) $(CXXFLAGS) -o openclapp openclapp.o \
        boinc_opencl.o \
        -framework OpenCL \
        -lboinc_api -L$(BOINC_BUILD_DIR) \
        -lboinc -L$(BOINC_BUILD_DIR)

openclapp.o: openclapp.cpp openclapp.hpp
	$(CXX) $(CXXFLAGS) -c openclapp.cpp 

boinc_opencl.o: $(BOINC_API_DIR)/boinc_opencl.cpp $(BOINC_API_DIR)/boinc_opencl.h
	$(CXX) $(CXXFLAGS) -c $(BOINC_API_DIR)/boinc_opencl.cpp
