1KOKKOS_PATH = ../../.. 2KOKKOS_SRC_PATH = ${KOKKOS_PATH} 3SRC = $(wildcard ${KOKKOS_SRC_PATH}/example/tutorial/06_simple_mdrangepolicy/*.cpp) 4vpath %.cpp $(sort $(dir $(SRC))) 5 6default: build 7 echo "Start Build" 8 9ifneq (,$(findstring Cuda,$(KOKKOS_DEVICES))) 10CXX = ${KOKKOS_PATH}/bin/nvcc_wrapper 11CXXFLAGS = -O3 12LINK = ${CXX} 13LDFLAGS = 14EXE = 06_simple_mdrangepolicy.cuda 15KOKKOS_DEVICES = "Cuda,OpenMP" 16KOKKOS_ARCH = "SNB,Kepler35" 17else 18CXX = g++ 19CXXFLAGS = -O3 20LINK = ${CXX} 21LDFLAGS = 22EXE = 06_simple_mdrangepolicy.host 23KOKKOS_DEVICES = "OpenMP" 24KOKKOS_ARCH = "SNB" 25endif 26 27DEPFLAGS = -M 28 29OBJ = $(notdir $(SRC:.cpp=.o)) 30LIB = 31 32include $(KOKKOS_PATH)/Makefile.kokkos 33 34build: $(EXE) 35 36test: $(EXE) 37 ./$(EXE) 38 39$(EXE): $(OBJ) $(KOKKOS_LINK_DEPENDS) 40 $(LINK) $(KOKKOS_LDFLAGS) $(LDFLAGS) $(EXTRA_PATH) $(OBJ) $(KOKKOS_LIBS) $(LIB) -o $(EXE) 41 42clean: kokkos-clean 43 rm -f *.o *.cuda *.host 44 45# Compilation rules 46 47%.o:%.cpp $(KOKKOS_CPP_DEPENDS) 48 $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) $(EXTRA_INC) -c $< -o $(notdir $@) 49