diff options
author | James Laird <jlaird@hdfgroup.org> | 2005-02-01 03:17:02 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2005-02-01 03:17:02 (GMT) |
commit | 26303241febadd20aea77fc8a1d48f05823170af (patch) | |
tree | 4ba1d92050fa6cc33feab6a38bc9778f71bbb146 /c++/examples/Makefile.am | |
parent | 9f17319144fca94a852fd500487b0e4ae48e0997 (diff) | |
download | hdf5-26303241febadd20aea77fc8a1d48f05823170af.zip hdf5-26303241febadd20aea77fc8a1d48f05823170af.tar.gz hdf5-26303241febadd20aea77fc8a1d48f05823170af.tar.bz2 |
[svn-r9902] Purpose:
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Diffstat (limited to 'c++/examples/Makefile.am')
-rw-r--r-- | c++/examples/Makefile.am | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/c++/examples/Makefile.am b/c++/examples/Makefile.am new file mode 100644 index 0000000..fb9ae98 --- /dev/null +++ b/c++/examples/Makefile.am @@ -0,0 +1,91 @@ +# +# 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. +## +## Makefile.am +## Run automake to generate a Makefile.in from this file. +## +# +# HDF5 Library Examples Makefile(.in) +# + +include $(top_srcdir)/config/commence.am + +# Use h5c++ to build examples, instead of reguar C++ compiler +H5CPP=$(bindir)/h5c++ + +# These are the programs that 'make all' or 'make prog' will build and +# which 'make check' will run. List them in the order they should be run. +TEST_PROG=create readdata writedata compound extend_ds chunks h5group + +EXAMPLE_PROG=$(TEST_PROG) + +# Tell conclude.in when to build the examples +EXTRA_PROG=$(TEST_PROG) + +# These are the example files to be installed +INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \ + extend_ds.cpp chunks.cpp h5group.cpp + +# These are the files that 'make clean' (and derivatives) will remove from this +# directory. Since automake doesn't know about the examples, we need to +# tell it to clean the example programs, too. +MOSTLYCLEANFILES=*.h5 +CLEANFILES=$(EXTRA_PROG) + +# How to install examples +EXAMPLEDIR=$(docdir)/hdf5/examples/c++ + +$(EXAMPLEDIR): + -$(top_srcdir)/bin/mkdirs $@ + +install-data-local: + $(MAKE) install-examples +uninstall-local: + $(MAKE) uninstall-examples + +# Install source files, which are the examples with .cpp suffixes. Do the same +# for uninstall. +install-examples: $(EXAMPLEDIR) + @for f in X $(INSTALL_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL_DATA) $(top_srcdir)/c++/examples/$$f $(EXAMPLEDIR)/. || exit 1);\ + fi; \ + done + +uninstall-examples: + @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \ + set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES).cpp; \ + fi + +check-install: + $(MAKE) installcheck +installcheck-local: + $(MAKE) check + +# How to build programs using h5c++ +$(EXTRA_PROG): $(H5CPP) $(LIBHDF5) $(LIBH5CPP) + $(H5CPP) $(CPPFLAGS) -o $@ $(srcdir)/$@.cpp + +# List dependencies for each program. Normally, automake would take +# care of this for us, but if we tell automake about the programs it +# will try to build them with the normal C++ compiler, not h5c++. This is +# an inelegant way of solving the problem, unfortunately. +create: $(srcdir)/create.cpp +readdata: $(srcdir)/readdata.cpp +writedata: $(srcdir)/writedata.cpp +compound: $(srcdir)/compound.cpp +extend_ds: $(srcdir)/extend_ds.cpp +chunks: $(srcdir)/chunks.cpp +h5group: $(srcdir)/h5group.cpp + +include $(top_srcdir)/config/conclude.am |