include ../../Config/Define.inc
include ../../../Config/Define.inc
include ../../../../Config/Define.inc
include ../../../../../Config/Define.inc

AR=24
PTHREAD=4

all: help exec

help:
	@echo "----- Help Message Check -----"
	@../$(OSTYPE)/$(OBJECTNAME)	 -h

initial-data:
	mrcImageGaussDisc -o data/test-00 -H 100 -W 100 -sigmax 10 -sigmay 10 -size 2 -a  0 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-01 -H 100 -W 100 -sigmax 10 -sigmay 11 -size 2 -a  0 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-02 -H 100 -W 100 -sigmax 10 -sigmay 12 -size 2 -a 30 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-03 -H 100 -W 100 -sigmax 10 -sigmay 13 -size 2 -a 30 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-04 -H 100 -W 100 -sigmax 10 -sigmay 21 -size 2 -a  0 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-05 -H 100 -W 100 -sigmax 10 -sigmay 22 -size 2 -a  0 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-06 -H 100 -W 100 -sigmax 10 -sigmay 23 -size 2 -a 30 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-07 -H 100 -W 100 -sigmax 10 -sigmay 24 -size 2 -a 30 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-08 -H 100 -W 100 -sigmax 10 -sigmay 31 -size 2 -a  0 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-09 -H 100 -W 100 -sigmax 10 -sigmay 32 -size 2 -a  0 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-0a -H 100 -W 100 -sigmax 10 -sigmay 33 -size 2 -a 30 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-0b -H 100 -W 100 -sigmax 10 -sigmay 34 -size 2 -a 30 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-0c -H 100 -W 100 -sigmax 15 -sigmay 15 -size 2 -a  0 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-0d -H 100 -W 100 -sigmax 15 -sigmay 16 -size 2 -a  0 -cx 10 -cy  5  
	mrcImageGaussDisc -o data/test-0e -H 100 -W 100 -sigmax 15 -sigmay 17 -size 2 -a 30 -cx  0 -cy  0  
	mrcImageGaussDisc -o data/test-0f -H 100 -W 100 -sigmax 15 -sigmay 18 -size 2 -a 30 -cx 10 -cy  5  

exec:
	@echo "----- Execution Check -----"
	time ../$(OSTYPE)/$(OBJECTNAME) -I data/test.roiinfo -O -N 1 -AR $(AR) -o data/test.cluster -ARMethod 0 -m 2 -Log data/test.distance -Log2 data/test.log2 2> data/test.err | tee data/test.log 
	diff data/test.distance data/test.distance.org
	@echo "----- Calc check -----"		

exec-pthread:
	@echo "----- Execution Check -----"
	time ../$(OSTYPE)/$(OBJECTNAME) -I data/test.roiinfo -O -N 1 -AR $(AR) -o data/test.cluster-pthread -ARMethod 0 -m 2 -Log data/test.distance-pthread -Log2 data/test.log2-pthread -pthread $(PTHREAD) 2> data/test.err-pthread| tee data/test.log-pthread
	diff data/test.distance-pthread data/test.distance.org
	@echo "----- Calc check -----"		

exec2:
	@echo "----- Execution Check -----"
	time ../$(OSTYPE)/$(OBJECTNAME) -I data/test.roiinfo -O -N 1 -AR $(AR) -o data/test2.cluster -ARMethod 2 -m 2 -Log data/test2.distance -Log2 data/testlog2 2> data/test2.err | tee data/test2.log 
	diff data/test.cluster data/test.cluster.org
	@echo "----- Calc check -----"		

clean:
	rm data/test.log2 data/test.distance
