mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-27 08:01:04 +08:00
744bc7d236
HDFFV-8653 replace non-standard sizeof in the fortran tests with c_sizeof Tested: jam (gnu, intel) with make and cmake.
117 lines
3.8 KiB
Makefile
117 lines
3.8 KiB
Makefile
#
|
|
# 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 files COPYING and Copyright.html. COPYING can be found at the root
|
|
# of the source code distribution tree; Copyright.html can be found at the
|
|
# root level of an installed copy of the electronic HDF5 document set and
|
|
# is linked from the top-level documents page. It can also be found at
|
|
# http://hdfgroup.org/HDF5/doc/Copyright.html. 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-Fortran test/Makefile(.in)
|
|
#
|
|
# Autoconf cannot figure out dependencies between modules; disable parallel make
|
|
.NOTPARALLEL:
|
|
include $(top_srcdir)/config/commence.am
|
|
|
|
# Include files
|
|
AM_FCFLAGS+=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
|
|
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_builddir)/fortran/src
|
|
|
|
# The Fortran test library
|
|
noinst_LTLIBRARIES=libh5test_fortran.la
|
|
|
|
# Some Fortran compilers can't build shared libraries, so sometimes we
|
|
# want to build a shared C library and a static Fortran library. If so,
|
|
# pass the -static flag to the library linker.
|
|
if FORTRAN_SHARED_CONDITIONAL
|
|
else
|
|
AM_LDFLAGS+=-static
|
|
endif
|
|
|
|
# Check if the compiler supports the Fortran 2003 standard
|
|
# which should include the intrinsic module iso_c_binding
|
|
if FORTRAN_2003_CONDITIONAL_F
|
|
ff_PREFIX = F03
|
|
else
|
|
ff_PREFIX = F90
|
|
endif
|
|
|
|
# Our main targets, the tests themselves
|
|
TEST_PROG=fortranlib_test fflush1 fflush2 fortranlib_test_1_8
|
|
|
|
if FORTRAN_2003_CONDITIONAL_F
|
|
TEST_PROG += fortranlib_test_F03
|
|
endif
|
|
|
|
check_PROGRAMS=$(TEST_PROG)
|
|
|
|
if FORTRAN_HAVE_STORAGE_SIZE
|
|
if FORTRAN_HAVE_C_SIZEOF
|
|
libh5test_fortran_la_SOURCES = tf_F08.f90
|
|
else
|
|
libh5test_fortran_la_SOURCES = tf_F03.f90
|
|
endif
|
|
else
|
|
libh5test_fortran_la_SOURCES = tf_F03.f90
|
|
endif
|
|
|
|
# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
|
|
# compiled first
|
|
libh5test_fortran_la_SOURCES += tf.f90 t.c
|
|
|
|
# Source files are used for both the library and fortranlib_test.
|
|
# Automake will complain about this without the following workaround.
|
|
fortranlib_test_FCFLAGS=$(AM_FCFLAGS)
|
|
fortranlib_test_CFLAGS=$(AM_CFLAGS)
|
|
|
|
fortranlib_test_SOURCES = tH5F.f90 tH5D.f90 tH5R.f90 tH5S.f90 tH5T.f90 tH5VL.f90 tH5Z.f90 \
|
|
tH5Sselect.f90 tH5P.f90 tH5A.f90 tH5I.f90 tH5G.f90 tH5E.f90 tHDF5.f90 fortranlib_test.f90
|
|
|
|
fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90\
|
|
fortranlib_test_1_8.f90
|
|
|
|
if FORTRAN_2003_CONDITIONAL_F
|
|
fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
|
|
tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.f90 tHDF5_F03.f90 fortranlib_test_F03.f90
|
|
endif
|
|
|
|
|
|
fflush1_SOURCES=fflush1.f90
|
|
fflush2_SOURCES=fflush2.f90
|
|
|
|
# The tests depend on both fortran libraries and both main libraries.
|
|
LDADD=libh5test_fortran.la $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
|
|
|
|
# Temporary files
|
|
CHECK_CLEANFILES+=*.h5 *.raw
|
|
MOSTLYCLEANFILES=*.tmp
|
|
|
|
# Fortran module files can have different extensions and different names
|
|
# (e.g., different capitalizations) on different platforms. Write rules
|
|
# for them explicitly rather than trying to teach automake about them.
|
|
# They should be installed as headers and removed during clean.
|
|
maintainer-clean-local: clean-local
|
|
distclean-local: clean-local
|
|
clean-local:
|
|
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
|
|
$(RM) *.$(F9XMODEXT); \
|
|
fi
|
|
|
|
# Mark this directory as part of the Fortran API (this affects output
|
|
# from tests in conclude.am)
|
|
FORTRAN_API=yes
|
|
|
|
# fflush2 depends on files created by fflush1
|
|
fflush2.chkexe_: fflush1.chkexe_
|
|
|
|
|
|
include $(top_srcdir)/config/conclude.am
|