CXX ?= g++ NVCC ?= nvcc CXXFLAGS ?= -O3 -std=c++17 -march=native -pthread -Wall -Wextra -Wpedantic NVCCFLAGS ?= -O3 -std=c++17 CORE_HEADERS := slime_solver_core.hpp ../include/slime/solver_core.hpp .PHONY: all clean test all: slime_pattern_cpp slime_pattern_cuda slime_position_cuda slime_position_residue_cuda slime_bruteforce_cpp_bench slime_bruteforce_cuda_bench slime_pattern_cpp: slime_pattern_cpp.cpp $(CORE_HEADERS) $(CXX) $(CXXFLAGS) -o $@ slime_pattern_cpp.cpp slime_pattern_cuda: slime_pattern_cuda.cu $(CORE_HEADERS) $(NVCC) $(NVCCFLAGS) -o $@ slime_pattern_cuda.cu slime_position_cuda: slime_position_cuda.cu $(CORE_HEADERS) $(NVCC) $(NVCCFLAGS) -o $@ slime_position_cuda.cu slime_position_residue_cuda: slime_position_residue_cuda.cu $(CORE_HEADERS) $(NVCC) $(NVCCFLAGS) -o $@ slime_position_residue_cuda.cu slime_bruteforce_cpp_bench: slime_bruteforce_cpp_bench.cpp $(CORE_HEADERS) $(CXX) $(CXXFLAGS) -o $@ slime_bruteforce_cpp_bench.cpp slime_bruteforce_cuda_bench: slime_bruteforce_cuda_bench.cu $(CORE_HEADERS) $(NVCC) $(NVCCFLAGS) -o $@ slime_bruteforce_cuda_bench.cu test: slime_pattern_cpp python3 -m unittest discover -s . -p 'test_*.py' ./slime_pattern_cpp verify --seed 61692151016558 --x 51069 --z 419124 -n 5 ./slime_pattern_cpp roots --x 51069 --z 419124 -n 5 --bits 24 ./slime_pattern_cpp upper --lower35 16420645998 --x 51069 --z 419124 -n 5 clean: rm -f slime_pattern_cpp slime_pattern_cuda slime_position_cuda slime_position_residue_cuda slime_bruteforce_cpp_bench slime_bruteforce_cuda_bench