# "make install" will install these in the install include directory, for example
# /usr/local/ndn-cpp/name.hpp.
# These files are included by the application with, for example
# #include <ndn-cpp/namp.hpp>
# Internal include headers are not put in this public install directory.

# Public C headers.
ndn_cpp_c_headers = \
  $(wildcard ndn-cpp/*.h) \
  $(wildcard ndn-cpp/c/*.*) \
  $(wildcard ndn-cpp/c/encoding/*.*) \
  $(wildcard ndn-cpp/c/util/*.*)

# Public C++ headers.
# Use ndn-cpp/*.hpp instead of *.* to not overwrite *.h from above.
ndn_cpp_cpp_headers = \
  $(wildcard ndn-cpp/*.hpp) \
  $(wildcard ndn-cpp/encoding/*.*) \
  $(wildcard ndn-cpp/security/*.*) \
  $(wildcard ndn-cpp/transport/*.*) \
  $(wildcard ndn-cpp/util/*.*)

ndnboost_headers = \
  $(wildcard ndnboost/*.*) \
  $(wildcard ndnboost/utility/*.*) \
  $(wildcard ndnboost/utility/detail/*.*) \
  $(wildcard ndnboost/units/*.*) \
  $(wildcard ndnboost/units/detail/*.*) \
  $(wildcard ndnboost/unordered/*.*) \
  $(wildcard ndnboost/unordered/detail/*.*) \
  $(wildcard ndnboost/range/*.*) \
  $(wildcard ndnboost/range/algorithm/*.*) \
  $(wildcard ndnboost/range/detail/*.*) \
  $(wildcard ndnboost/range/detail/vc6/*.*) \
  $(wildcard ndnboost/smart_ptr/*.*) \
  $(wildcard ndnboost/smart_ptr/detail/*.*) \
  $(wildcard ndnboost/intrusive/*.*) \
  $(wildcard ndnboost/intrusive/detail/*.*) \
  $(wildcard ndnboost/typeof/*.*) \
  $(wildcard ndnboost/typeof/dmc/*.*) \
  $(wildcard ndnboost/typeof/msvc/*.*) \
  $(wildcard ndnboost/config/*.*) \
  $(wildcard ndnboost/config/no_tr1/*.*) \
  $(wildcard ndnboost/config/abi/*.*) \
  $(wildcard ndnboost/config/platform/*.*) \
  $(wildcard ndnboost/config/compiler/*.*) \
  $(wildcard ndnboost/config/stdlib/*.*) \
  $(wildcard ndnboost/test/*.*) \
  $(wildcard ndnboost/test/utils/*.*) \
  $(wildcard ndnboost/test/utils/basic_cstring/*.*) \
  $(wildcard ndnboost/test/utils/iterator/*.*) \
  $(wildcard ndnboost/test/utils/runtime/*.*) \
  $(wildcard ndnboost/test/utils/runtime/cla/*.*) \
  $(wildcard ndnboost/test/utils/runtime/cla/detail/*.*) \
  $(wildcard ndnboost/test/utils/runtime/cla/iface/*.*) \
  $(wildcard ndnboost/test/utils/runtime/env/*.*) \
  $(wildcard ndnboost/test/output/*.*) \
  $(wildcard ndnboost/test/impl/*.*) \
  $(wildcard ndnboost/test/detail/*.*) \
  $(wildcard ndnboost/math/*.*) \
  $(wildcard ndnboost/math/special_functions/*.*) \
  $(wildcard ndnboost/math/special_functions/detail/*.*) \
  $(wildcard ndnboost/math/tools/*.*) \
  $(wildcard ndnboost/math/policies/*.*) \
  $(wildcard ndnboost/bind/*.*) \
  $(wildcard ndnboost/iterator/*.*) \
  $(wildcard ndnboost/iterator/detail/*.*) \
  $(wildcard ndnboost/mpl/*.*) \
  $(wildcard ndnboost/mpl/vector/*.*) \
  $(wildcard ndnboost/mpl/vector/aux_/*.*) \
  $(wildcard ndnboost/mpl/vector/aux_/preprocessed/*.*) \
  $(wildcard ndnboost/mpl/vector/aux_/preprocessed/typeof_based/*.*) \
  $(wildcard ndnboost/mpl/vector/aux_/preprocessed/plain/*.*) \
  $(wildcard ndnboost/mpl/vector/aux_/preprocessed/no_ctps/*.*) \
  $(wildcard ndnboost/mpl/aux_/*.*) \
  $(wildcard ndnboost/mpl/aux_/config/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/msvc60/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/dmc/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/bcc551/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/msvc70/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/gcc/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/plain/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/mwcw/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/bcc_pre590/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/no_ttp/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/bcc/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessed/no_ctps/*.*) \
  $(wildcard ndnboost/mpl/aux_/preprocessor/*.*) \
  $(wildcard ndnboost/mpl/limits/*.*) \
  $(wildcard ndnboost/mpl/list/*.*) \
  $(wildcard ndnboost/mpl/list/aux_/*.*) \
  $(wildcard ndnboost/mpl/list/aux_/preprocessed/*.*) \
  $(wildcard ndnboost/mpl/list/aux_/preprocessed/plain/*.*) \
  $(wildcard ndnboost/regex/*.*) \
  $(wildcard ndnboost/regex/config/*.*) \
  $(wildcard ndnboost/regex/v4/*.*) \
  $(wildcard ndnboost/regex/pending/*.*) \
  $(wildcard ndnboost/filesystem/*.*) \
  $(wildcard ndnboost/filesystem/detail/*.*) \
  $(wildcard ndnboost/iostreams/*.*) \
  $(wildcard ndnboost/iostreams/filter/*.*) \
  $(wildcard ndnboost/iostreams/device/*.*) \
  $(wildcard ndnboost/iostreams/detail/*.*) \
  $(wildcard ndnboost/iostreams/detail/adapter/*.*) \
  $(wildcard ndnboost/iostreams/detail/config/*.*) \
  $(wildcard ndnboost/iostreams/detail/streambuf/*.*) \
  $(wildcard ndnboost/iostreams/detail/vc6/*.*) \
  $(wildcard ndnboost/iostreams/detail/broken_overload_resolution/*.*) \
  $(wildcard ndnboost/integer/*.*) \
  $(wildcard ndnboost/optional/*.*) \
  $(wildcard ndnboost/numeric/*.*) \
  $(wildcard ndnboost/numeric/conversion/*.*) \
  $(wildcard ndnboost/numeric/conversion/detail/*.*) \
  $(wildcard ndnboost/numeric/conversion/detail/preprocessed/*.*) \
  $(wildcard ndnboost/function/*.*) \
  $(wildcard ndnboost/function/detail/*.*) \
  $(wildcard ndnboost/random/*.*) \
  $(wildcard ndnboost/random/detail/*.*) \
  $(wildcard ndnboost/system/*.*) \
  $(wildcard ndnboost/container/*.*) \
  $(wildcard ndnboost/functional/*.*) \
  $(wildcard ndnboost/functional/hash/*.*) \
  $(wildcard ndnboost/functional/hash/detail/*.*) \
  $(wildcard ndnboost/pending/*.*) \
  $(wildcard ndnboost/io/*.*) \
  $(wildcard ndnboost/io/detail/*.*) \
  $(wildcard ndnboost/exception/*.*) \
  $(wildcard ndnboost/exception/detail/*.*) \
  $(wildcard ndnboost/preprocessor/*.*) \
  $(wildcard ndnboost/preprocessor/repetition/*.*) \
  $(wildcard ndnboost/preprocessor/repetition/detail/*.*) \
  $(wildcard ndnboost/preprocessor/repetition/detail/dmc/*.*) \
  $(wildcard ndnboost/preprocessor/repetition/detail/edg/*.*) \
  $(wildcard ndnboost/preprocessor/repetition/detail/msvc/*.*) \
  $(wildcard ndnboost/preprocessor/facilities/*.*) \
  $(wildcard ndnboost/preprocessor/logical/*.*) \
  $(wildcard ndnboost/preprocessor/control/*.*) \
  $(wildcard ndnboost/preprocessor/control/detail/*.*) \
  $(wildcard ndnboost/preprocessor/control/detail/dmc/*.*) \
  $(wildcard ndnboost/preprocessor/control/detail/edg/*.*) \
  $(wildcard ndnboost/preprocessor/control/detail/msvc/*.*) \
  $(wildcard ndnboost/preprocessor/arithmetic/*.*) \
  $(wildcard ndnboost/preprocessor/arithmetic/detail/*.*) \
  $(wildcard ndnboost/preprocessor/array/*.*) \
  $(wildcard ndnboost/preprocessor/config/*.*) \
  $(wildcard ndnboost/preprocessor/slot/*.*) \
  $(wildcard ndnboost/preprocessor/slot/detail/*.*) \
  $(wildcard ndnboost/preprocessor/seq/*.*) \
  $(wildcard ndnboost/preprocessor/seq/detail/*.*) \
  $(wildcard ndnboost/preprocessor/comparison/*.*) \
  $(wildcard ndnboost/preprocessor/punctuation/*.*) \
  $(wildcard ndnboost/preprocessor/iteration/*.*) \
  $(wildcard ndnboost/preprocessor/iteration/detail/*.*) \
  $(wildcard ndnboost/preprocessor/iteration/detail/iter/*.*) \
  $(wildcard ndnboost/preprocessor/iteration/detail/bounds/*.*) \
  $(wildcard ndnboost/preprocessor/debug/*.*) \
  $(wildcard ndnboost/preprocessor/variadic/*.*) \
  $(wildcard ndnboost/preprocessor/tuple/*.*) \
  $(wildcard ndnboost/preprocessor/detail/*.*) \
  $(wildcard ndnboost/preprocessor/detail/dmc/*.*) \
  $(wildcard ndnboost/preprocessor/list/*.*) \
  $(wildcard ndnboost/preprocessor/list/detail/*.*) \
  $(wildcard ndnboost/preprocessor/list/detail/dmc/*.*) \
  $(wildcard ndnboost/preprocessor/list/detail/edg/*.*) \
  $(wildcard ndnboost/move/*.*) \
  $(wildcard ndnboost/move/detail/*.*) \
  $(wildcard ndnboost/algorithm/*.*) \
  $(wildcard ndnboost/algorithm/string/*.*) \
  $(wildcard ndnboost/algorithm/string/detail/*.*) \
  $(wildcard ndnboost/type_traits/*.*) \
  $(wildcard ndnboost/type_traits/msvc/*.*) \
  $(wildcard ndnboost/type_traits/detail/*.*) \
  $(wildcard ndnboost/tuple/*.*) \
  $(wildcard ndnboost/tuple/detail/*.*) \
  $(wildcard ndnboost/detail/*.*) \
  $(wildcard ndnboost/function_types/*.*) \
  $(wildcard ndnboost/function_types/config/*.*) \
  $(wildcard ndnboost/function_types/detail/*.*) \
  $(wildcard ndnboost/function_types/detail/pp_retag_default_cc/*.*) \
  $(wildcard ndnboost/function_types/detail/components_impl/*.*) \
  $(wildcard ndnboost/function_types/detail/pp_variate_loop/*.*) \
  $(wildcard ndnboost/function_types/detail/classifier_impl/*.*) \
  $(wildcard ndnboost/function_types/detail/pp_cc_loop/*.*) \
  $(wildcard ndnboost/function_types/detail/encoding/*.*) \
  $(wildcard ndnboost/function_types/detail/synthesize_impl/*.*) \
  $(wildcard ndnboost/function_types/detail/pp_tags/*.*) \
  $(wildcard ndnboost/concept/*.*) \
  $(wildcard ndnboost/concept/detail/*.*) \
  $(wildcard ndnboost/lambda/*.*) \
  $(wildcard ndnboost/lambda/detail/*.*)

nobase_include_HEADERS = $(ndn_cpp_c_headers) $(ndn_cpp_cpp_headers)

if ! USE_SYSTEM_BOOST
  nobase_include_HEADERS += $(ndnboost_headers)
endif
