



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

# 指定完整的 .a 文件（静态库）路径
# STATIC_LIBS := ../../lib/libmylib.a ./lib/libanother.a

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

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

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

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

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

# # ===== target 5 =====
# EXE5        := single_kernel_ExecuteThirdLayer
# SRC5        := single_kernel_ExecuteThirdLayer.cu

# # ===== target 6 =====
# EXE6        := single_kernel_pooling1
# SRC6        := single_kernel_pooling1.cu

# # ===== target 7 =====
# EXE7        := single_kernel_pooling2
# SRC7        := single_kernel_pooling2.cu

# # ===== target 8 =====
# EXE8        := single_kernel_pooling3
# SRC8        := single_kernel_pooling3.cu

# # ===== target 9 =====
# EXE9        := single_kernel_executeThirdLayer
# SRC9        := single_kernel_executeThirdLayer.cu


# ===== 默认目标 =====
.PHONY: all clean

all: $(EXE1)  $(EXE2)  $(EXE3)  $(EXE4) $(EXE5) $(EXE6) $(EXE7)  $(EXE8)  $(EXE9)    

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

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

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

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

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

$(EXE6): $(SRC6)
	$(NVCC) $(NVCCFLAGS) -o $@ $^ $(STATIC_LIBS)

$(EXE7): $(SRC7)
	$(NVCC) $(NVCCFLAGS) -o $@ $^ $(STATIC_LIBS)

$(EXE8): $(SRC8)
	$(NVCC) $(NVCCFLAGS) -o $@ $^ $(STATIC_LIBS)

$(EXE9): $(SRC9)
	$(NVCC) $(NVCCFLAGS) -o $@ $^ $(STATIC_LIBS)

clean:
	rm -f $(EXE1)  $(EXE2)  $(EXE3)  $(EXE4) $(EXE5) $(EXE6) $(EXE7)  $(EXE8)  $(EXE9)  
