NVCC := nvcc NVCC_FLAGS := -O3 -use_fast_math -Xptxas -O3 -gencode arch=compute_75,code=sm_75 \ --default-stream per-thread -Wno-deprecated-gpu-targets --expt-relaxed-constexpr -I../libs/ MAIN_SOURCE := ../sources/main.cu LIBS_DIR := ../libs/ BUILD_DIR := ../build LIBS_SOURCES := $(wildcard $(LIBS_DIR)*.cu) LIBS_OBJECTS := $(patsubst $(LIBS_DIR)%.cu,$(BUILD_DIR)/%.o,$(LIBS_SOURCES)) TARGET := main all: $(TARGET) $(BUILD_DIR): mkdir -p $(BUILD_DIR) $(TARGET): $(MAIN_SOURCE) $(LIBS_OBJECTS) $(NVCC) $(NVCC_FLAGS) -o $(TARGET) $(MAIN_SOURCE) $(LIBS_OBJECTS) $(BUILD_DIR)/%.o: $(LIBS_DIR)%.cu | $(BUILD_DIR) $(NVCC) $(NVCC_FLAGS) -c $< -o $@ clean: rm $(BUILD_DIR)/main