NVCC := nvcc NVCC_FLAGS := -rdc=true -O3 -Xptxas -O3 \ -gencode arch=compute_75,code=sm_75 \ --default-stream per-thread \ -Wno-deprecated-gpu-targets \ --expt-relaxed-constexpr \ -I../libs/ \ -std=c++20 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 := yggmcu .PHONY: all clean all: $(TARGET) $(BUILD_DIR): @mkdir -p $(BUILD_DIR) $(TARGET): $(MAIN_SOURCE) $(LIBS_OBJECTS) $(NVCC) $(NVCC_FLAGS) -o $@ $^ $(BUILD_DIR)/%.o: $(LIBS_DIR)%.cu | $(BUILD_DIR) $(NVCC) $(NVCC_FLAGS) -c $< -o $@ clean: @rm -f $(BUILD_DIR)/*.o $(TARGET)