DFLAGS := -g -Wall -Wextra -fsanitize=undefined,address -D_GLIBCXX_DEBUG

OPENSSL := -lssl -lcrypto

FILES := identification.cpp algebra.cpp random.cpp $(OPENSSL)

default: fast

all: fast test_to_js test_to_r

fast:
	g++ -std=c++20 -O2 main.cpp $(FILES) -o fast.out

debug:
	g++ -std=c++20 $(DFLAGS) main.cpp $(FILES) -o debug.out

profiling:
	g++ -pg -std=c++20 -O2 main.cpp $(FILES) -o profiling.out

test_to_js:
	g++ -std=c++20 -O2 test_to_js.cpp -o test_to_js.out

test_to_r:
	g++ -std=c++20 -O2 test_to_r.cpp -o test_to_r.out

clean:
	rm *.out
