# # 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-level HDF5 Makefile(.in) ## top_srcdir=@top_srcdir@ top_builddir=. srcdir=@srcdir@ @COMMENCE@ # Subdirectories in build-order (not including `examples') # TESTPARALLEL must be after test since it uses libtest.a. Putting it # before tools allows parallel tests to run sooner. # @subdirs@ is set by the macro AC_CONFIG_SUBDIRS in configure. SUBDIRS=src test @TESTPARALLEL@ tools @subdirs@ @HL@ ############################################################################## ## 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: @@SETX@; for d in $(SUBDIRS); do \ (cd $$d && $(MAKE) $@) || exit 1; \ done tests TAGS dep depend uninstall: @@SETX@; for d in $(SUBDIRS) perform; do \ (cd $$d && $(MAKE) $@) || exit 1; \ done install-all: @@SETX@; for d in dummy @subdirs@ @HL@; do \ if test $$d != "dummy"; then \ (cd $$d && $(MAKE) $@) || exit 1; \ fi; \ done @$(MAKE) install @$(MAKE) install-doc @$(LT) --mode=finish $(libdir) uninstall-all: @$(MAKE) uninstall @$(MAKE) uninstall-doc install: @@SETX@; for d in $(SUBDIRS) perform; do \ (cd $$d && $(MAKE) $@) || exit 1; \ done @$(MAKE) install-examples @$(LT) --mode=finish $(libdir) install-examples: @@SETX@; for d in dummy @subdirs@ @HL@; 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@ @HL@; 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: @$(MAKE) uninstall-examples (cd doc && $(MAKE) $@) || exit 1; ## Check if installation is correct by checking if examples can be built. ## This requires a proper "make install" has been done. check-install: (cd examples && $(MAKE) check) || exit 1 @@SETX@; for d in dummy @subdirs@ @HL@; do \ if test $$d != "dummy"; then \ (cd $$d && $(MAKE) $@) || exit 1; \ fi; \ done ## 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; do \ (cd $$d && $(MAKE) $@); \ done -$(RM) conftest conftest.c distclean: @@SETX@; for d in $(SUBDIRS) doc perform examples; do \ (cd $$d && $(MAKE) $@); \ done -$(RM) config/commence config/conclude -$(RM) config/stamp1 config/stamp2 config/depend? -$(RM) config.cache config.log config.status configure.lineno -$(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; do \ (cd $$d && $(MAKE) $@); \ done -$(RM) config.cache config.log config.status src/H5config.h -$(RM) configure src/H5config.h.in