## Top-level HDF5 Makefile(.in)
##
# 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.
## 
## This makefile mostly just reinvokes make in the various subdirectories
## but does so in the correct order.  You can alternatively invoke make from
## each subdirectory manually.
##
top_srcdir=..
top_builddir=..
srcdir=.

##------------------------------------------------------------ -*- 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.
##
##
## The following section of this makefile comes from the
## `./config/commence' file which was generated with config.status
## from `./config/commence.in'.
##-----------------------------------------------------------------------------

## Things that Make needs
.SUFFIXES:
.SUFFIXES: .c .o .lo


## Directories to search
VPATH=$(srcdir):$(top_builddir)/src:$(top_srcdir)/src

## Programs
SHELL=/bin/sh
CC=cc
## H5_CPPFLAGS and H5_CFLAGS are used for extra flags used to build HDF5
## (flags that don't need to be included in h5cc, for instance).
CFLAGS= -fno-common  
CPPFLAGS=-UH5_DEBUG_API -DNDEBUG  
H5_CFLAGS= -fno-common 
H5_CPPFLAGS=-UH5_DEBUG_API -DNDEBUG 
LDFLAGS=
ROOT=/mnt/gmirror/ports/science/hdf5/work/hdf5-1.6.6
LIBS=-lz -lm 
AR=ar
RANLIB=ranlib
PERL=
RM=rm -f
CP=cp
INSTALL=/usr/bin/install -c -o root -g wheel
INSTALL_PROGRAM=install  -o root -g wheel -m 555
INSTALL_DATA=install  -o root -g wheel -m 444
PARALLEL=no
RUNSERIAL=
RUNPARALLEL=
RUNTEST=$(RUNSERIAL)
TIME=time
TRACE=:

## Installation points
prefix=
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
includedir=${prefix}/include
docdir=${prefix}/share
PUB_LIB=$(LIB)

## Shared libraries
LT_STATIC_EXEC=
DYNAMIC_DIRS=
LT=$(top_builddir)/libtool
LT_COMPILE=$(LT) --mode=compile $(CC)
LT_LINK_LIB=$(LT) --mode=link $(CC) -rpath $(libdir) $(DYNAMIC_DIRS)
LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(libdir) $(DYNAMIC_DIRS)
LT_RUN=$(LT) --mode=execute
LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
LT_UNINSTALL=$(LT) --mode=uninstall $(RM)

## Optional variables. We must declare them here because Irix pmake
## complains if it sees a reference to a variable which has never been
## defined. The main makefile is free to redefine these to something else.
DOCDIR=$(docdir)/doc/hdf5
SUBDOCDIR=
EXAMPLEDIR=$(docdir)/examples/hdf5/c
LIB=
LIB_SRC=
LIB_OBJ=
PUB_HDR=
PUB_PROGS=
PUB_DOCS=
PUB_SUBDOCS=
PROGS=
TEST_PROGS=
PRIV_PROGS=
TEST_PROGS_PARA=
TEST_FLAGS=
TEST_SCRIPTS=
TEST_SCRIPTS_PARA=
AUX_LIB=
EXAMPLE_PROGS=
SUBDIRS=
LIBHDF5=

## The default is to build the library and/or programs.  We must build
## them sequentially.
all:
	$(MAKE) lib
	$(MAKE) progs
	$(MAKE) tests

## The following rules insure that the Makefile is up-to-date by rerunning
## various autoconf components (although not all versions of make assume
## that the makefile is implicitly a target).  We use time stamp files to
## keep track of the most recent update of H5config.h.in and H5config.h
## because autoheader and config.status don't update the modification time
## if the contents don't change.
## Invoke it by "gmake reconfigure".
##
## Graphically, the dependencies are:
##
##		         configure.in
##                           |  |
##         +-----------------+  +------------+
##         |                                 |
##      stamp1                           configure
##   (H5config.h.in)                         |
##       |  |                                |
##       |  +---------------+    +-----------+
##       |                  |    |
##       |               config.status
##       |                     |
##       |  +------------------+
##       |  |
##      stamp2
##    (H5config.h)                   Makefile.in et al
##         |                                 |
##         +------------------+  +-----------+
##                            |  |
##                          Makefile
##
## A side effect of updating stamp1 is to generate H5config.h.in and a
## side effect of updating stamp2 is to generate H5config.h.  When using
## a version of make that doesn't treat the makefile as the initial target
## the user may want to occassionally type `make Makefile' in any source
## directory.
## The `Makefile' target has been renamed to `reconfigure' so that the
## autoconf and make depend processes do not start up automatically.
## One must do `make reconfigure' explicitedly to start the process.
## (When srcdir is used and if more than one machines are running,
## this automatic Makefile/autoconf can get things unstable.)
##
STAMP1=$(top_builddir)/config/stamp1
STAMP2=$(top_builddir)/config/stamp2

MAKEFILE_PARTS=$(srcdir)/Makefile.in		\
	       $(top_srcdir)/config/commence.in	\
	       $(top_srcdir)/config/conclude.in	\
	       $(top_srcdir)/config/depend1.in	\
	       $(top_srcdir)/config/depend2.in	\
	       $(top_srcdir)/config/depend3.in	\
	       $(top_srcdir)/config/depend4.in	\
	       $(top_srcdir)/config/dependN.in

$(STAMP1): $(top_srcdir)/configure.in
	touch $(STAMP1)
	-cd $(top_srcdir); autoheader

$(STAMP2): $(STAMP1) $(top_builddir)/config.status
	touch $(STAMP2)
	-cd $(top_builddir); \
	   CONFIG_FILES= CONFIG_HEADERS=src/H5config.h ./config.status

$(top_srcdir)/configure: $(top_srcdir)/configure.in
	-cd $(top_srcdir); autoconf

$(top_builddir)/config.status: $(top_srcdir)/configure $(STAMP1)
	-cd $(top_builddir); ./config.status --recheck

# rerun the autoconf process if any configure components have changed. 
reconfigure: $(MAKEFILE_PARTS) $(STAMP2)
	-cd $(top_builddir); CONFIG_HEADERS= ./config.status
	@for sub in   dummy; do					\
	  if test $$sub != dummy; then					\
	    -cd $$sub; $(MAKE) reconfigure;				\
	  fi;								\
	done;

## make help target
help:
	$(top_srcdir)/bin/makehelp

##-----------------------------------------------------------------------------
## The following section of this makefile comes from the middle of
## `Makefile.in' from this directory.  It was generated by running
## `config.status'.
##-----------------------------------------------------------------------------

# Subdirectories in build-order (not including 'examples')
SUBDIRS=src test tools

##############################################################################
##		    T A R G E T S
##
## all:		Build libraries, header files, tests, and programs in the
##	 	various subdirectories but does not run tests or install the
##		library, header files, or programs.  The components can be
##		built individually with the targets lib, progs, and tests.
## check:	Test the uninstalled library to make sure it works. You may
##		also say `test' or `_test' (`test' doesn't work from the top
##		level directory for some versions of make because `test' is
##		also a directory).
## install:	Installs libraries, header files, programs, and documentation
##		in the various directories under the prefix directory (lib,
##		include, bin, man, info).  Use the `--prefix=PATH' option
##		to `configure' (or `config.status') or say `--help' for
##		other alternatives.  The default prefix is `/usr/local'.
## uninstall:	Delete all the installed files that the `install' target
##		created (but not the noninstalled files such as `make all'
##		created).
## clean:	Removes temporary files except those that record the
##		configuration and those that are part of the distribution.
## mostlyclean:	Like `clean' except it doesn't delete a few files like
##		libraries, programs, and/or generated header files because
##		regenerating them is rarely necessary and takes a lot of time.
## distclean:	Deletes all files that are created by configuring or building
##		HDF5.  If you have unpacked the source and built HDF5 without
##		creating any other files, then `make distclean' will leave
##		only the files that were in the distrubution.
## maintainer-clean:
##		Like `distclean' except it deletes more files.  It deletes
##		all generated files.  This target is not intended for normal
##		users; it deletes files that may require special tools to
##		rebuild.
## TAGS:	Updates the tags table for this program.
## dep depend:	Builds dependencies in all subdirectories.  These targets
##		might not be available on certain combinations of make
##		programs and C compilers.  At the other extreme, the GNU
##		make used in combination with gcc will maintain dependency
##		information automatically.
lib progs check check-s check-p test _test uninstall:
	@set -x; for d in $(SUBDIRS); do				      \
	   (cd $$d && $(MAKE) $@) || exit 1;				      \
	done

tests TAGS dep depend:
	@set -x; for d in $(SUBDIRS); do			              \
	   (cd $$d && $(MAKE) $@) || exit 1;				      \
	done

install-all:
	@$(MAKE) install
install:
	@set -x; for d in $(SUBDIRS); do				      \
	   (cd $$d && $(MAKE) $@) || exit 1;				      \
	done
	@$(MAKE) install-examples

install-examples:
	(cd examples && $(MAKE) $@) || exit 1;

uninstall-examples:
	(cd examples && $(MAKE) $@) || exit 1;

check-install:
	(cd examples && $(MAKE) check) || exit 1

.PHONY: all lib progs test _test install uninstall dep depend clean           \
	mostlyclean distclean maintainer-clean

clean mostlyclean:
	@set -x; for d in $(SUBDIRS) examples; do	                      \
	   (cd $$d && $(MAKE) $@);					      \
	done

distclean:
	@set -x; for d in $(SUBDIRS) examples; do	                      \
	   (cd $$d && $(MAKE) $@);					      \
	done
	-$(RM)  Makefile

maintainer-clean:
	@echo "This target is intended for maintainers to use;"
	@echo "it deletes files that may require special tools to rebuild."
	@set -x; for d in $(SUBDIRS); do		                      \
	   (cd $$d && $(MAKE) $@);					      \
	done




syntax highlighted by Code2HTML, v. 0.9.1