#
#    Copyright 2018 Nest Labs Inc. All Rights Reserved.
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#

#
#    Description:
#      This file is the GNU automake template for the @PACKAGE_DESCRIPTION@
#      third-party software directory.
#

include $(abs_top_nlbuild_autotools_dir)/automake/pre.am

# Always package (e.g. for 'make dist') these subdirectories.

DIST_SUBDIRS             = \
    $(NULL)

# Here is an example with nlunit-test. Uncomment and adapt or delete
# this, as needed. If you choose to use this, please also take a look at
# configure.ac and Makefile.am and uncomment the appropriate sections
# there.

# # NLUNIT_TEST_SUBDIRS is not a permanent part of DIST_SUBDIRS since we do not
# # ever want to include it in a distribution archive; however, when it's been
# # pulled as a 'repo' module, we do want to remove it on invocation of the
# # 'distclean' target. Consequently, we conditionally include it in DIST_SUBDIRS
# # on invocation of 'distclean-recursive'
#
# distclean-recursive: DIST_SUBDIRS += $(NLUNIT_TEST_SUBDIRS)

# Always build (e.g. for 'make all') these subdirectories.
# #
# # The value of NLUNIT_TEST_SUBDIRS will be populated by configure if
# # --with-nlunit_test=internal

SUBDIRS                           = \
    $(NLUNIT_TEST_SUBDIRS)          \
    $(NULL)

include $(abs_top_nlbuild_autotools_dir)/automake/post.am
