mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
5e834c4cbc
Purpose: Feature Add Description: Added "install-example" and "install-all" to the Makefile system. The behaviour of the "make install*" options: make install - Installs binaries, libraries, include files, and example programs. make install-examples - Installs only the example programs. The directories are: ${prefix}/doc/hdf5/examples/{c,c++,fortran} make install-all - Install the binaries, libraries, include files, example programs, and documentation. The whole kit-n'-caboodle. make uninstall-examples - Get rid of those example files (but not the ${prefix}/doc/hdf5/examples/... directories) There's a new bin/ program which helps create directories which are deeply nested called "mkdirs". It's a simple shell script. Platforms tested: Linux
144 lines
5.0 KiB
Makefile
144 lines
5.0 KiB
Makefile
## Top-level HDF5 Makefile(.in)
|
|
##
|
|
## Copyright (C) 1997, 1998, 1999, 2000, 2001
|
|
## National Center for Supercomputing Applications
|
|
## All rights reserved.
|
|
##
|
|
##
|
|
## 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_srcdir@
|
|
top_builddir=.
|
|
srcdir=@srcdir@
|
|
@COMMENCE@
|
|
|
|
# Subdirectories in build-order (not including `examples')
|
|
SUBDIRS=src test tools @TESTPARALLEL@ @subdirs@
|
|
|
|
##############################################################################
|
|
## 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 test _test uninstall:
|
|
@@SETX@; for d in $(SUBDIRS); do \
|
|
(cd $$d && $(MAKE) $@) || exit 1; \
|
|
done
|
|
|
|
tests TAGS dep depend:
|
|
@@SETX@; for d in $(SUBDIRS) perform examples; do \
|
|
(cd $$d && $(MAKE) $@) || exit 1; \
|
|
done
|
|
|
|
install-all:
|
|
@@SETX@; for d in dummy @subdirs@; do \
|
|
if test $$d != "dummy"; then \
|
|
(cd $$d && $(MAKE) $@) || exit 1; \
|
|
fi; \
|
|
done
|
|
@$(MAKE) install
|
|
@$(MAKE) install-doc
|
|
@$(LT) --mode=finish $(libdir)
|
|
|
|
install:
|
|
@@SETX@; for d in $(SUBDIRS); do \
|
|
(cd $$d && $(MAKE) $@) || exit 1; \
|
|
done
|
|
@$(MAKE) install-examples
|
|
@$(LT) --mode=finish $(libdir)
|
|
|
|
install-examples:
|
|
@@SETX@; for d in dummy @subdirs@; do \
|
|
if test $$d != "dummy"; then \
|
|
(cd $$d && $(MAKE) $@) || exit 1; \
|
|
fi; \
|
|
done
|
|
(cd examples && $(MAKE) $@) || exit 1;
|
|
|
|
uninstall-examples:
|
|
@@SETX@; for d in dummy @subdirs@; do \
|
|
if test $$d != "dummy"; then \
|
|
(cd $$d && $(MAKE) $@) || exit 1; \
|
|
fi; \
|
|
done
|
|
(cd examples && $(MAKE) $@) || exit 1;
|
|
|
|
install-doc:
|
|
@$(MAKE) install-examples
|
|
(cd doc && $(MAKE) $@) || exit 1;
|
|
|
|
uninstall-doc:
|
|
(cd doc && $(MAKE) $@) || exit 1;
|
|
|
|
## Number format detection
|
|
H5detect:
|
|
(cd src && $(MAKE) $@)
|
|
|
|
H5Tinit.c:
|
|
(cd src && $(MAKE) $@)
|
|
|
|
.PHONY: all lib progs test _test install uninstall dep depend clean \
|
|
mostlyclean distclean maintainer-clean
|
|
|
|
clean mostlyclean:
|
|
@@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
|
|
(cd $$d && $(MAKE) $@); \
|
|
done
|
|
-$(RM) conftest conftest.c
|
|
|
|
distclean:
|
|
@@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
|
|
(cd $$d && $(MAKE) $@); \
|
|
done
|
|
-$(RM) config/commence config/conclude
|
|
-$(RM) config/stamp1 config/stamp2 config/depend?
|
|
-$(RM) config.cache config.log config.status
|
|
-$(RM) src/H5config.h src/H5pubconf.h
|
|
-$(RM) libtool Makefile
|
|
|
|
maintainer-clean:
|
|
@echo "This target is intended for maintainers to use;"
|
|
@echo "it deletes files that may require special tools to rebuild."
|
|
@@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
|
|
(cd $$d && $(MAKE) $@); \
|
|
done
|
|
-$(RM) config.cache config.log config.status src/H5config.h
|
|
-$(RM) configure src/H5config.h.in
|
|
|