SUBDIRS = browniangenerators callability correlations curvestates \
          driftcomputation evolvers models products pathwisegreeks 

AM_CPPFLAGS = -I${top_builddir} -I${top_srcdir}

this_includedir=${includedir}/${subdir}
this_include_HEADERS = \
    all.hpp \
    accountingengine.hpp \
    browniangenerator.hpp \
    constrainedevolver.hpp \
    curvestate.hpp \
    discounter.hpp \
    evolutiondescription.hpp \
    evolver.hpp \
    forwardforwardmappings.hpp \
    historicalforwardratesanalysis.hpp \
    historicalratesanalysis.hpp \
    marketmodel.hpp \
    marketmodeldifferences.hpp \
    multiproduct.hpp \
    pathwiseaccountingengine.hpp \
    pathwisemultiproduct.hpp \
    pathwisediscounter.hpp \
    piecewiseconstantcorrelation.hpp \
    proxygreekengine.hpp \
    swapforwardmappings.hpp \
    utilities.hpp

cpp_files = \
    accountingengine.cpp \
    curvestate.cpp \
    discounter.cpp \
    evolutiondescription.cpp \
    forwardforwardmappings.cpp \
    historicalratesanalysis.cpp \
    marketmodel.cpp \
    marketmodeldifferences.cpp \
    pathwiseaccountingengine.cpp \
    pathwisediscounter.cpp \
    proxygreekengine.cpp \
    swapforwardmappings.cpp \
    utilities.cpp

if UNITY_BUILD

nodist_libMarketModels_la_SOURCES = unity.cpp

unity.cpp: Makefile.am
	echo "/* This file is automatically generated; do not edit.     */" > $@
	echo "/* Add the files to be included into Makefile.am instead. */" >> $@
	echo >> $@
	for i in $(cpp_files); do \
		echo "#include \"${subdir}/$$i\"" >> $@; \
	done

EXTRA_DIST = $(cpp_files)

else

libMarketModels_la_SOURCES = $(cpp_files)

endif

noinst_LTLIBRARIES = libMarketModels.la

libMarketModels_la_LIBADD = \
    browniangenerators/libMarketModelsBrownianGenerators.la \
    callability/libMarketModelsCallability.la \
    correlations/libMarketModelsCorrelations.la \
    curvestates/libMarketModelsCurveStates.la \
    driftcomputation/libMarketModelsDriftComputation.la \
    evolvers/libMarketModelsEvolvers.la \
    models/libMarketModelsModels.la \
    products/libMarketModelsProducts.la \
    pathwisegreeks/libMarketModelsPathwiseGreeks.la

all.hpp: Makefile.am
	echo "/* This file is automatically generated; do not edit.     */" > ${srcdir}/$@
	echo "/* Add the files to be included into Makefile.am instead. */" >> ${srcdir}/$@
	echo >> ${srcdir}/$@
	for i in $(filter-out all.hpp, $(this_include_HEADERS)); do \
		echo "#include <${subdir}/$$i>" >> ${srcdir}/$@; \
	done
	echo >> ${srcdir}/$@
	subdirs='$(SUBDIRS)'; for i in $$subdirs; do \
		echo "#include <${subdir}/$$i/all.hpp>" >> ${srcdir}/$@; \
	done

