# # OpenCL tutorial exercises ... solutions # # Targets: all (default) ... build all executables # test ... run executables # clean ... remove executables and object files. # include make.def COMMON = ./common OPENCLINC += -I $(COMMON) COMOBJS = device_info.$(OBJ) wtime.$(OBJ) err_code.$(OBJ) EXES = Exercise1/DeviceInfo$(EXE) Exercise2/vadd$(EXE) Exercise3/vadd_cpp$(EXE) Exercise6/matmul$(EXE) Exercise8/pi$(EXE) all: $(EXES) Exercise1/DeviceInfo$(EXE): cd Exercise1 ; make ; cd .. Exercise2/vadd$(EXE): cd Exercise2 ; make ; cd .. Exercise3/vadd_cpp$(EXE): cd Exercise3 ; make ; cd .. Exercise6/matmul$(EXE): cd Exercise6 ; make ; cd .. Exercise8/pi$(EXE): cd Exercise8 ; make ; cd .. #Utility functions (from COMMON) wtime.$(OBJ): $(COMMON)/wtime.c $(CC) -c $(CFLAGS) $(COMMON)/wtime.c device_info.$(OBJ): $(COMMON)/device_info.c $(CC) $(OPENCLINC) -c $(CFLAGS) $(COMMON)/device_info.c $(OPENCLFLAGS) err_code.$(OBJ): $(COMMON)/err_code.c $(CC) $(OPENCLINC) -c $(CFLAGS) $(COMMON)/err_code.c $(OPENCLFLAGS) test: $(EXES) $(PRE)vadd$(EXE) clean: $(RM) $(EXES) *.$(OBJ) .SUFFIXES: .SUFFIXES: .c .cpp .$(OBJ) .c.$(OBJ): $(CC) $(OPENCLINC) $(CFLAGS) -c $< $(OPENCLFLAGS) .cpp.$(OBJ): $(CPPC) $(OPENCLINC) $(CPPFLAGS) -c $<