#Create variable with list of required generated files' names.
ac2aOutput=pgfTikZ/ac2aPencilConstants.tex pgfTikZ/equilibriumWithoutThresholdsConstants.tex pgfTikZ/equilibriumWithoutThresholdsV11.csv pgfTikZ/equilibriumWithoutThresholdsV12.csv pgfTikZ/equilibriumWithoutThresholdsV2.csv tableOfThresholdsText.tex tableOfThresholds.tex tableOfOrderedProbitThresholdsText.tex tableOfOrderedProbitThresholds.tex    

#Create variable with list of program documentation files
ac2aDocs=codeBrowse.m.html SwitchStyles.png exampleCodeDisplay.png 

#Create a list of matlab files used for most of the computations
ac2aMatlab=calculateLifoEquilibrium.m calculateLifoTransitionMatrix.m solveOptimalStoppingProblem.m markovChain.m uniformMixtureApproximation.m calculateLifoErgodicDistribution.m calculateThresholds.m tabulateEquilibriumStatistics.m tableOfThresholds.m tableOfThresholdsLaTeX.m lifoTableParameters.m tableOfOrderedProbitThresholds.m tableOfOrderedProbitThresholdsLaTeX.m orderedProbitMaximumLikelihoodEstimation.m pencil.m makequit.m

#Create a list of matlab files used for creation of the documentation files
ac2aMatlabDocs=codeBrowse.m calculateLifoEquilibriumTest.m solveOptimalStoppingProblemTest.m markovChainTest.m uniformMixtureApproximationTest.m equilibriumWithoutThresholds.m calculateLifoErgodicDistributionTest.m orderedProbitMaximumLikelihoodEstimationTest.m

#Declare and create phony targets
.PHONY: ac2a ac2aDocs ac2aReplication clean cleanOutput cleanDocs maintainer-clean

ac2a: $(ac2aOutput)

clean: cleanOutput cleanDocs
	$(MAKE) -C pgfTikZ clean

maintainer-clean: cleanOutput cleanDocs
	$(MAKE) -C pgfTikZ maintainer-clean

cleanOutput:
	-rm $(ac2aOutput) matlab.log
	-unlink ../equilibriumWithoutThresholdsV11.csv
	-unlink ../equilibriumWithoutThresholdsV12.csv
	-unlink ../equilibriumWithoutThresholdsV2.csv
	-unlink ../equilibriumWithoutThresholdsConstants.tex

cleanDocs:
	-rm codeBrowse.m.mathimage*.png
	-rm codeBrowse.m.html

#\subsection{Results incorporated into the text.}

#Pencil and paper example.
pgfTikZ/ac2aPencilConstants.tex: pencil.m makequit.m
	matlab -nodesktop -nosplash -r pencil >> matlab.log

#Example of equilibrium without threshold entry rules.
pgfTikZ/equilibriumWithoutThresholdsConstants.tex pgfTikZ/equilibriumWithoutThresholdsV11.csv pgfTikZ/equilibriumWithoutThresholdsV12.csv pgfTikZ/equilibriumWithoutThresholdsV2.csv: equilibriumWithoutThresholds.m makequit.m $(ac2aMatlab)
	matlab -nodesktop -nosplash -r equilibriumWithoutThresholds >> matlab.log
	link pgfTikZ/equilibriumWithoutThresholdsV11.csv ../equilibriumWithoutThresholdsV11.csv
	link pgfTikZ/equilibriumWithoutThresholdsV12.csv ../equilibriumWithoutThresholdsV12.csv
	link pgfTikZ/equilibriumWithoutThresholdsV2.csv ../equilibriumWithoutThresholdsV2.csv
	link pgfTikZ/equilibriumWithoutThresholdsConstants.tex ../equilibriumWithoutThresholdsConstants.tex

#Experiments with entry and exit under uncertainty. 
tableOfThresholdsText.tex tableOfThresholds.tex: tableOfThresholds.m tableOfThresholdsLaTeX.m lifoTableParameters.m makequit.m  $(ac2aMatlab)
	matlab -nodesktop -nosplash -r tableOfThresholds >> matlab.log

tableOfOrderedProbitThresholdsText.tex tableOfOrderedProbitThresholds.tex: tableOfOrderedProbitThresholds.m tableOfOrderedProbitThresholdsLaTeX.m makequit.m $(ac2aMatlab)
	matlab -nodesktop -nosplash -r tableOfOrderedProbitThresholds >> matlab.log

#\subsection{XHTML program documentation}

#Test files that produce figures included in the document.
calculateLifoEquilibriumTest.jpg: calculateLifoEquilibriumTest.m
	matlab -nodesktop -nosplash -r calculateLifoEquilibriumTest >> matlab.log

solveOptimalStoppingProblemTest.jpg: solveOptimalStoppingProblemTest.m
	matlab -nodesktop -nosplash -r solveOptimalStoppingProblemTest >> matlab.log

markovChainApproximationTestErgodicDistribution.jpg markovChainApproximationTestPercentiles.jpg: markovChainTest.m
	matlab -nodesktop -nosplash -r markovChainTest >> matlab.log

uniformMixtureApproximationTest.jpg: uniformMixtureApproximationTest.m
	matlab -nodesktop -nosplash -r uniformMixtureApproximationTest >> matlab.log

pgfTikZ/ac2apencil.jpg: pgfTikZ/ac2aPencilConstants.tex
	$(MAKE) -C pgfTikZ ac2apencil.jpg

pgfTikZ/ac2aNoThresholds.jpg:  pgfTikZ/equilibriumWithoutThresholdsConstants.tex pgfTikZ/equilibriumWithoutThresholdsV11.csv pgfTikZ/equilibriumWithoutThresholdsV12.csv pgfTikZ/equilibriumWithoutThresholdsV2.csv
	$(MAKE) -C pgfTikZ ac2aNoThresholds.jpg

#The program documentation itself.
codeBrowse.m.html: codeBrowse.m SwitchStyles.png exampleCodeDisplay.png calculateLifoEquilibriumTest.jpg solveOptimalStoppingProblemTest.jpg markovChainApproximationTestErgodicDistribution.jpg markovChainApproximationTestPercentiles.jpg uniformMixtureApproximationTest.jpg pgfTikZ/ac2apencil.jpg pgfTikZ/ac2aNoThresholds.jpg
	$(MAKE) -C pgfTikZ links
	compp codeBrowse.m

#\subsection{Replication file directory}
#The following target creates a directory named |compute| within |../ac2aReplication| and copies the relevant files and results there.
ac2aReplication: codeBrowse.m.html makefile
	mkdir -pv ../ac2aReplication/compute
	cp -f $(ac2aDocs) codeBrowse.m.mathimage*.png $(ac2aMatlab) $(ac2aMatlabDocs) calculateLifoEquilibriumTest.jpg solveOptimalStoppingProblemTest.jpg markovChainApproximationTestErgodicDistribution.jpg markovChainApproximationTestPercentiles.jpg uniformMixtureApproximationTest.jpg makefile ../ac2aReplication/compute
	sed -e '/Replication/d' -i .bak ../ac2aReplication/compute/makefile
	rm ../ac2aReplication/compute/makefile.bak
	$(MAKE) -C pgfTikZ ac2aReplication


