#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5.  The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
##
## Makefile.am
## Run automake to generate a Makefile.in from this file.
#
# HDF5 Library Makefile(.in)
#

include $(top_srcdir)/config/commence.am

# Include src and tools/lib directories
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib

# Always build and test h5diff but build and test ph5diff only if parallel
# is enabled.
if BUILD_PARALLEL_CONDITIONAL
  H5PDIFF=ph5diff
  TEST_SCRIPT_PARA=testph5diff.sh
endif

# Our main target, h5diff
bin_PROGRAMS=h5diff $(H5PDIFF)

# Add h5diff specific linker flags here
h5diff_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)

# Test programs and scripts
TEST_PROG=h5diffgentest
TEST_SCRIPT=testh5diff.sh

check_PROGRAMS=$(TEST_PROG)
check_SCRIPTS=$(TEST_SCRIPT) $(TEST_SCRIPT_PARA)
# The parallel test script testph5diff.sh actually depends on testh5diff.sh.
SCRIPT_DEPEND=h5diff$(EXEEXT) $(H5PDIFF) testh5diff.sh
if HAVE_SHARED_CONDITIONAL
if USE_PLUGINS_CONDITIONAL
   TEST_SCRIPT += h5diff_plugin.sh
endif
endif

# Source files for the program
h5diff_SOURCES=h5diff_main.c h5diff_common.c
ph5diff_SOURCES=ph5diff_main.c h5diff_common.c
h5diffgentest_SOURCES=h5diffgentest.c

# Programs depend on the main HDF5 library and tools library
LDADD=$(LIBH5TOOLS) $(LIBHDF5)

if NOT_UNAME_CYGWIN
if HAVE_SHARED_CONDITIONAL
  # Build it as shared library if configure is enabled for shared library.
  noinst_LTLIBRARIES=libdynlibdiff.la
  libdynlibdiff_la_SOURCES=dynlib_diff.c
  libdynlibdiff_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -rpath /nowhere

libdynlibdiff.la: $(libdynlibdiff_la_OBJECTS) $(libdynlibdiff_la_DEPENDENCIES) $(EXTRA_libdynlibdiff_la_DEPENDENCIES)
	$(AM_V_CCLD)$(libdynlibdiff_la_LINK) $(am_libdynlibdiff_la_rpath) $(libdynlibdiff_la_OBJECTS) $(libdynlibdiff_la_LIBADD)
endif
endif

# Temporary files.  *.h5 are generated by h5diff.  They should
# be copied to the testfiles/ directory if update is required
CHECK_CLEANFILES+=*.h5 expect_sorted actual_sorted

DISTCLEANFILES=h5diff_plugin.sh

include $(top_srcdir)/config/conclude.am

