
NVCC        := nvcc
ARCH        := -arch=sm_75   # 按你的 GPU 改
# Includes
INCLUDES  += -I. -I$(CUDA_INSTALL_PATH)/include 

NVCCFLAGS   := $(ARCH) -O2 -Xcompiler -fPIC -lcudart $(INCLUDES)
OBJDIR      := obj

# ===== target 1 =====
EXE1        := single_kernel_sum_kernel
SRC1        := single_kernel_sum_kernel.cu


# ===== target 2 =====
EXE2        := single_kernel_normalize_weights_kernel
SRC2        := single_kernel_normalize_weights_kernel.cu

# ===== target 3 =====
EXE3        := single_kernel_likelihood_kernel
SRC3        := single_kernel_likelihood_kernel.cu

# ===== target 4 =====
EXE4        := single_kernel_kernel
SRC4        := single_kernel_kernel.cu

# ===== target 5 =====
EXE5        := single_kernel_find_index_kernel
SRC5        := single_kernel_find_index_kernel.cu
# ===== 默认目标 =====
.PHONY: all clean

all: $(EXE1)  $(EXE2)   $(EXE3)   $(EXE4)   $(EXE5)  

$(EXE1): $(SRC1)
	$(NVCC) $(NVCCFLAGS) -o $@ $^

$(EXE2): $(SRC2)
	$(NVCC) $(NVCCFLAGS) -o $@ $^


$(EXE3): $(SRC3)
	$(NVCC) $(NVCCFLAGS) -o $@ $^



$(EXE4): $(SRC4)
	$(NVCC) $(NVCCFLAGS) -o $@ $^



$(EXE5): $(SRC5)
	$(NVCC) $(NVCCFLAGS) -o $@ $^


clean:
	rm -f $(EXE1)  $(EXE2)   $(EXE3)  $(EXE4)  $(EXE5) 
