1## config/commence.am
2## (Use double hashes for copyright notice so that automake treats it as
3## comments and does not pass it to Makefile.in)
4## Copyright by The HDF Group.
5## Copyright by the Board of Trustees of the University of Illinois.
6## All rights reserved.
7##
8## This file is part of HDF5.  The full HDF5 copyright notice, including
9## terms governing use, modification, and redistribution, is contained in
10## the COPYING file, which can be found at the root of the source code
11## distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
12## If you do not have access to either file, you may request a copy from
13## help@hdfgroup.org.
14
15
16## Textually included in the beginning of every HDF5 Makefile.am
17## Contains definitions, etc. used across multiple Makefiles.
18
19# Shell commands used in Makefiles
20RM=rm -f
21CP=cp
22
23# Some machines need a command to run executables; this is that command
24# so that our tests will run.
25# We use RUNEXEC instead of RUNSERIAL directly because it may be that
26# some tests need to be run with a different command.  Older versions
27# of the makefiles used the command
28# $(LIBTOOL) --mode=execute
29# in some directories, for instance.
30RUNEXEC=$(RUNSERIAL)
31
32# Libraries to link to while building
33LIBHDF5=$(top_builddir)/src/libhdf5.la
34LIBH5TEST=$(top_builddir)/test/libh5test.la
35LIBH5F=$(top_builddir)/fortran/src/libhdf5_fortran.la
36LIBH5FTEST=$(top_builddir)/fortran/test/libh5test_fortran.la
37LIBH5CPP=$(top_builddir)/c++/src/libhdf5_cpp.la
38LIBH5JNI=$(top_builddir)/java/src/jni/libhdf5_java.la
39LIBH5TOOLS=$(top_builddir)/tools/lib/libh5tools.la
40LIBH5_HL=$(top_builddir)/hl/src/libhdf5_hl.la
41LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
42LIBH5CPP_HL=$(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
43
44# Install directories that automake doesn't know about
45docdir = $(exec_prefix)/doc
46
47# Note that in svn revision 19400 the '/' after DESTDIR in H5* variables below
48# has been removed. According to the official description of DESTDIR by Gnu at
49# http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
50# prepended to the normal and complete install path that it precedes for the
51# purpose of installing in a temporary directory which is useful for building
52# rpms and other packages.  The '/' after ${DESTDIR} will be followed by another
53# '/' at the beginning of the normal install path.  When DESTDIR is empty the
54# path then begins with '//', which is incorrect and causes problems at least for
55# Cygwin.
56
57# Scripts used to build examples
58# If only shared libraries have been installed, have h5cc build examples with
59# shared libraries instead of static libraries
60H5CC=${DESTDIR}$(bindir)/h5cc
61H5CC_PP=${DESTDIR}$(bindir)/h5pcc
62H5FC=${DESTDIR}$(bindir)/h5fc
63H5FC_PP=${DESTDIR}$(bindir)/h5pfc
64H5CPP=${DESTDIR}$(bindir)/h5c++
65
66
67# H5_CFLAGS holds flags that should be used when building hdf5,
68# but which should not be exported to h5cc for building other programs.
69# AM_CFLAGS is an automake construct which should be used by Makefiles
70# instead of CFLAGS, as CFLAGS is reserved solely for the user to define.
71# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well.
72
73AM_CFLAGS=@AM_CFLAGS@ @H5_CFLAGS@
74AM_FCFLAGS=@AM_FCFLAGS@ @H5_FCFLAGS@
75AM_CXXFLAGS=@AM_CXXFLAGS@ @H5_CXXFLAGS@
76AM_CPPFLAGS=@AM_CPPFLAGS@ @H5_CPPFLAGS@
77AM_LDFLAGS=@AM_LDFLAGS@ @H5_LDFLAGS@
78
79ACLOCAL_AMFLAGS="-I m4"
80
81# The trace script; this is used on source files from the C library to
82# insert tracing macros.
83TRACE=perl $(top_srcdir)/bin/trace
84
85# Make sure that these variables are exported to the Makefiles
86F9XMODEXT=@F9XMODEXT@
87F9XMODFLAG=@F9XMODFLAG@
88
89# .chkexe files are used to mark tests that have run successfully.
90# .chklog files are output from those tests.
91# *.clog and *.clog2 are from the MPE option.
92CHECK_CLEANFILES=*.chkexe *.chklog *.clog *.clog2
93
94# List all build rules defined by HDF5 Makefiles as "PHONY" targets here.
95# This tells the Makefiles that these targets are not files to be built but
96# commands that should be executed even if a file with the same name already
97# exists.
98.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \
99        build-tests check-clean check-install check-p check-s check-vfd \
100        install-doc lib progs tests uninstall-doc _exec_check-s _test help
101
102help:
103	@$(top_srcdir)/bin/makehelp
104
105