make clean:
	rm -rf ../Code/ASM/exe
	rm -rf ../Code/C/exe
	rm -rf ../Code/ASM/functions.o


make test_kNN_ASM:
	rm -rf ../Code/ASM/exe
	nasm -f elf64 ../Code/ASM/functions.asm -o ../Code/ASM/functions.o
	gcc -Wall test_kNN_ASM.c ../Code/ASM/functions.o -O3 -o ../Code/ASM/exe -no-pie -lm
	cd ../Code/ASM && ./exe

make test_PCA_ASM:
	rm -rf ../Code/ASM/exe
	nasm -f elf64 ../Code/ASM/functions.asm -o ../Code/ASM/functions.o
	gcc -Wall test_PCA_ASM.c ../Code/ASM/functions.o -O3 -o ../Code/ASM/exe -no-pie -lm
	cd ../Code/ASM && ./exe


make test_kNN_C_conO3:
	rm -rf ../Code/C/exe
	gcc -Wall test_kNN_C.c -O3 -o ../Code/C/exe -lm
	cd ../Code/C && ./exe >../../Output/test_kNN_C_conO3.txt

make test_PCA_C_conO3:
	rm -rf ../Code/C/exe
	gcc -Wall test_PCA_C.c -O3 -o ../Code/C/exe -lm
	cd ../Code/C && ./exe >../../Output/test_PCA_C_conO3.txt


make test_kNN_C_sinO3:
	rm -rf ../Code/C/exe
	gcc -Wall test_kNN_C.c -o ../Code/C/exe -lm
	cd ../Code/C && ./exe >../../Output/test_kNN_C_sinO3.txt

make test_PCA_C_sinO3:
	rm -rf ../Code/C/exe
	gcc -Wall test_PCA_C.c -o ../Code/C/exe -lm
	cd ../Code/C && ./exe >../../Output/test_PCA_C_sinO3.txt
