.PHONY: clean test

# set up parameter for size of data (# of tickers, for 4000 days of EOD data)
ifndef BENCHMARKSIZE
BENCHMARKSIZE=2000
endif

FINTIME_CODE_PATH=$(shell readlink -f ./fintime)
DATA_PATH=$(shell readlink -f ./data)
DEMO_PATH=$(shell readlink -f ./examples)
A2Q=$(shell readlink -f ../a2q)

# the whole shebang
all: a2q fintime data qdata demo
	
a2q: ../a2q
	cd ../; make

clean:
	rm -rf ${DATA_PATH}; cd ${FINTIME_CODE_PATH}; make clean; cd ${DEMO_PATH}; rm -rf compiled.q
	
# make fintime code generation
fintime: ${FINTIME_CODE_PATH}/histgen.C ${FINTIME_CODE_PATH}/histgen.o
	cd ${FINTIME_CODE_PATH}; make clean; make

# create raw data needed for demo
data: fintime
	cd ${FINTIME_CODE_PATH}; ./histgen ${BENCHMARKSIZE}; mkdir -p ${DATA_PATH}; mv ./hist-* ${DATA_PATH}/

# create q-serialized version of data for demo
qdata: data
	q data_to_q.q -csv ${DATA_PATH} -save ${DATA_PATH}
	
# compile demo code
demo: ${DEMO_PATH}/definitions_aquery.a ${DEMO_PATH}/load_data.q
	cd ${DEMO_PATH}; ${A2Q} -a 1 -s -c -o compiled.q definitions_aquery.a
	
		
		
		
	