39 lines
729 B
Makefile
39 lines
729 B
Makefile
CXX = mpic++
|
|
CXXFLAGS = -std=c++17 -O2 -Wall -Wextra -Wno-cast-function-type
|
|
|
|
NVCC = nvcc
|
|
NVCCFLAGS = -O2 -Xcompiler -fPIC
|
|
|
|
SRC_DIR = src
|
|
BUILD_DIR = build
|
|
|
|
SRCS = $(wildcard $(SRC_DIR)/*.cpp)
|
|
OBJS = $(patsubst $(SRC_DIR)/%.cpp,$(BUILD_DIR)/%.o,$(SRCS))
|
|
|
|
TARGET = $(BUILD_DIR)/bitcoin_app
|
|
|
|
PLUGIN_SRC = $(SRC_DIR)/gpu_plugin.cu
|
|
PLUGIN = $(BUILD_DIR)/libgpu_compute.so
|
|
|
|
all: $(PLUGIN) $(TARGET)
|
|
|
|
$(BUILD_DIR):
|
|
mkdir -p $(BUILD_DIR)
|
|
|
|
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp | $(BUILD_DIR)
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(CXX) $(CXXFLAGS) $^ -o $@ -ldl
|
|
|
|
$(PLUGIN): $(PLUGIN_SRC) | $(BUILD_DIR)
|
|
$(NVCC) $(NVCCFLAGS) -shared $< -o $@
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
run: all
|
|
sbatch run.slurm
|
|
|
|
.PHONY: all clean run
|