summaryrefslogtreecommitdiffstats
path: root/Makefile.in
blob: 524a553f2cf7c4b2a01aa1d24d5c5aa38600096a (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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
## Top-level HDF5 Makefile(.in)
##
## 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.
##
## 
## 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 doc @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; do			      \
	   (cd $$d && $(MAKE) $@) || exit 1;				      \
	done

install:
	@@SETX@; for d in $(SUBDIRS); do				      \
	   (cd $$d && $(MAKE) $@) || exit 1;				      \
	done
	@$(LT) --mode=finish $(libdir);

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

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

## need to require a proper "make install" has been done.
check-install:
	(cd examples && $(MAKE) check) || 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) perform examples pablo; do			      \
	   (cd $$d && $(MAKE) $@);					      \
	done
	-$(RM) conftest conftest.c

distclean:
	@@SETX@; for d in $(SUBDIRS) 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 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) perform examples pablo; do			      \
	   (cd $$d && $(MAKE) $@);					      \
	done
	-$(RM) config.cache config.log config.status src/H5config.h
	-$(RM) configure src/H5config.h.in