summaryrefslogtreecommitdiffstats
path: root/config/commence.am
blob: e70b50e80c2c1cf2637de72097498c937d5d74af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
## config/commence.am
##
## 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://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.


## Textually included in the beginning of every HDF5 Makefile.am
## Contains definitions, etc. used across multiple Makefiles.

# Shell commands used in Makefiles
RM=rm -f
CP=cp
TIME=time

# Path for hl needed in hdf5.h
INCLUDES=-I$(top_srcdir)/hl/src

# Hardcode SHELL to be /bin/sh.  Most machines have this shell, and
# on at least one machine configure fails to detect its existence (janus).
# Also, when HDF5 is configured on one machine but run on another,
# configure's automatic SHELL detection may not work on the build machine.
SHELL=/bin/sh

# Some machines need a command to run executables; this is that command
# so that our tests will run.
# We use RUNTESTS instead of RUNSERIAL directly because it may be that
# some tests need to be run with a different command.  Older versions
# of the makefiles used the command
# $(LIBTOOL) --mode=execute
# in some directories, for instance.
RUNTESTS=$(RUNSERIAL)

# Libraries to link to while building
LIBHDF5=$(top_builddir)/src/libhdf5.la
LIBH5TEST=$(top_builddir)/test/libh5test.la
LIBH5F=$(top_builddir)/fortran/src/libhdf5_fortran.la
LIBH5FTEST=$(top_builddir)/fortran/test/libh5test_fortran.la
LIBH5CPP=$(top_builddir)/c++/src/libhdf5_cpp.la
LIBH5TOOLS=$(top_builddir)/tools/lib/libh5tools.la
LIBH5_HL=$(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL=$(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la

# Install directories that automake doesn't know about
includedir = $(exec_prefix)/include
docdir = $(exec_prefix)/doc

# Scripts used to build examples
# If only shared libraries have been installed, have h5cc build examples with
# shared libraries instead of static libraries
if BUILD_SHARED_ONLY_CONDITIONAL
  H5CC=$(bindir)/h5cc -shlib
  H5CC_PP=$(bindir)/h5pcc -shlib
  H5FC=$(bindir)/h5fc -shlib
  H5FC_PP=$(bindir)/h5pfc -shlib
  H5CPP=$(bindir)/h5c++ -shlib
else
  H5CC=$(bindir)/h5cc
  H5CC_PP=$(bindir)/h5pcc
  H5FC=$(bindir)/h5fc
  H5FC_PP=$(bindir)/h5pfc
  H5CPP=$(bindir)/h5c++
endif
  

# H5_CFLAGS holds flags that should be used as CFLAGS when building hdf5,
# but which shouldn't be exported to h5cc for building other programs.
CFLAGS=@CFLAGS@ @H5_CFLAGS@
CPPFLAGS=@CPPFLAGS@ @H5_CPPFLAGS@
FFLAGS=@FFLAGS@ @H5_FFLAGS@
CXXFLAGS=@CXXFLAGS@ @H5_CXXFLAGS@

# The trace script; this is used on source files from the C library to
# insert tracing macros.
TRACE=perl $(top_srcdir)/bin/trace

# Make sure that these variables are exported to the Makefiles
F9XMODEXT=@F9XMODEXT@
F9XMODFLAG=@F9XMODFLAG@

# Set the paths for AFS installs of autotools for Linux machines
# Ideally, these tools should never be needed during the build.
ACLOCAL=/afs/ncsa/projects/hdf/packages/automake_1.9.5/Linux_2.4/bin/aclocal -I /afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4/share/aclocal
AUTOHEADER=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoheader
AUTOMAKE=/afs/ncsa/projects/hdf/packages/automake_1.9.5/Linux_2.4/bin/automake
AUTOCONF=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoconf

# .chkexe files are used to mark tests that have run successfully.
# .chklog files are output from those tests.
# *.clog are from the MPE option.
CHECK_CLEANFILES=*.chkexe *.chklog *.clog

# List all build rules defined by HDF5 Makefiles as "PHONY" targets here.
# This tells the Makefiles that these targets are not files to be built but
# commands that should be executed even if a file with the same name already
# exists.
.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \
        build-tests check-clean check-install check-p check-s check-vfd \
        install-doc lib progs tests uninstall-doc _exec_check-s _test