mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-25 17:00:45 +08:00
[svn-r1761] Lib_Maint.html was toplevel INSTALL_Maint.
Folded in changes from v1.2 for install-doc.
This commit is contained in:
parent
878def94e5
commit
629c9b9510
113
doc/html/Lib_Maint.html
Normal file
113
doc/html/Lib_Maint.html
Normal file
@ -0,0 +1,113 @@
|
||||
<pre>
|
||||
Information for HDF5 maintainers:
|
||||
|
||||
* You can run make from any directory. However, running in a
|
||||
subdirectory only knows how to build things in that directory and
|
||||
below. However, all makefiles know when their target depends on
|
||||
something outside the local directory tree:
|
||||
|
||||
$ cd test
|
||||
$ make
|
||||
make: *** No rule to make target ../src/libhdf5.a
|
||||
|
||||
* All Makefiles understand the following targets:
|
||||
|
||||
all -- build locally.
|
||||
install -- install libs, headers, progs.
|
||||
uninstall -- remove installed files.
|
||||
mostlyclean -- remove temp files (eg, *.o but not *.a).
|
||||
clean -- mostlyclean plus libs and progs.
|
||||
distclean -- all non-distributed files.
|
||||
maintainer-clean -- all derived files but H5config.h.in and configure.
|
||||
|
||||
* Most Makefiles also understand:
|
||||
|
||||
TAGS -- build a tags table
|
||||
dep, depend -- recalculate source dependencies
|
||||
lib -- build just the libraries w/o programs
|
||||
|
||||
* If you have personal preferences for which make, compiler, compiler
|
||||
flags, preprocessor flags, etc., that you use and you don't want to
|
||||
set environment variables, then use a site configuration file.
|
||||
|
||||
When configure starts, it looks in the config directory for files
|
||||
whose name is some combination of the CPU name, vendor, and
|
||||
operating system in this order:
|
||||
|
||||
CPU-VENDOR-OS
|
||||
VENDOR-OS
|
||||
CPU-VENDOR
|
||||
OS
|
||||
VENDOR
|
||||
CPU
|
||||
|
||||
The first file which is found is sourced and can therefore affect
|
||||
the behavior of the rest of configure. See config/BlankForm for the
|
||||
template.
|
||||
|
||||
* If you use GNU make along with gcc the Makefile will contain targets
|
||||
that automatically maintain a list of source interdependencies; you
|
||||
seldom have to say `make clean'. I say `seldom' because if you
|
||||
change how one `*.h' file includes other `*.h' files you'll have
|
||||
to force an update.
|
||||
|
||||
To force an update of all dependency information remove the
|
||||
`.depend' file from each directory and type `make'. For
|
||||
instance:
|
||||
|
||||
$ cd $HDF5_HOME
|
||||
$ find . -name .depend -exec rm {} \;
|
||||
$ make
|
||||
|
||||
If you're not using GNU make and gcc then dependencies come from
|
||||
".distdep" files in each directory. Those files are generated on
|
||||
GNU systems and inserted into the Makefile's by running
|
||||
config.status (which happens near the end of configure).
|
||||
|
||||
* If you use GNU make along with gcc then the Perl script `trace' is
|
||||
run just before dependencies are calculated to update any H5TRACE()
|
||||
calls that might appear in the file. Otherwise, after changing the
|
||||
type of a function (return type or argument types) one should run
|
||||
`trace' manually on those source files (e.g., ../bin/trace *.c).
|
||||
|
||||
* Object files stay in the directory and are added to the library as a
|
||||
final step instead of placing the file in the library immediately
|
||||
and removing it from the directory. The reason is three-fold:
|
||||
|
||||
1. Most versions of make don't allow `$(LIB)($(SRC:.c=.o))'
|
||||
which makes it necessary to have two lists of files, one
|
||||
that ends with `.c' and the other that has the library
|
||||
name wrapped around each `.o' file.
|
||||
|
||||
2. Some versions of make/ar have problems with modification
|
||||
times of archive members.
|
||||
|
||||
3. Adding object files immediately causes problems on SMP
|
||||
machines where make is doing more than one thing at a
|
||||
time.
|
||||
|
||||
* When using GNU make on an SMP you can cause it to compile more than
|
||||
one thing at a time. At the top of the source tree invoke make as
|
||||
|
||||
$ make -j -l6
|
||||
|
||||
which causes make to fork as many children as possible as long as
|
||||
the load average doesn't go above 6. In subdirectories one can say
|
||||
|
||||
$ make -j2
|
||||
|
||||
which limits the number of children to two (this doesn't work at the
|
||||
top level because the `-j2' is not passed to recursive makes).
|
||||
|
||||
* To create a release tarball go to the top-level directory and run
|
||||
./bin/release. You can optionally supply one or more of the words
|
||||
`tar', `gzip', `bzip2' or `compress' on the command line. The
|
||||
result will be a (compressed) tar file(s) in the `releases'
|
||||
directory. The README file is updated to contain the release date
|
||||
and version number.
|
||||
|
||||
* To create a tarball of all the files which are part of HDF5 go to
|
||||
the top-level directory and type:
|
||||
|
||||
tar cvf foo.tar `grep '^\.' MANIFEST |unexpand |cut -f1`
|
||||
</pre>
|
54
doc/html/Makefile.in
Normal file
54
doc/html/Makefile.in
Normal file
@ -0,0 +1,54 @@
|
||||
# HDF5 Library Makefile(.in)
|
||||
#
|
||||
# Copyright (C) 1997 National Center for Supercomputing Applications.
|
||||
# All rights reserved.
|
||||
#
|
||||
#
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=../..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:@srcdir@
|
||||
@COMMENCE@
|
||||
|
||||
# Subdirectories in build-order (not including `examples')
|
||||
SUBDIRS=Tutor
|
||||
DOCDIR=$(docdir)/hdf5
|
||||
|
||||
TRACE=perl $(top_srcdir)/bin/trace
|
||||
|
||||
# Add `-I.' to the C preprocessor flags.
|
||||
CPPFLAGS=-I. -I@srcdir@ @CPPFLAGS@
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEAN=
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
PUB_DOCS=Attributes.html Big.html Caching.html Chunking.html Chunk_f1.gif \
|
||||
Chunk_f2.gif Chunk_f3.gif Chunk_f4.gif Chunk_f5.gif Chunk_f6.gif \
|
||||
Coding.html Copyright.html Datasets.html Dataspaces.html \
|
||||
Datatypes.html ddl.html Debugging.html EnumMap.gif Environment.html \
|
||||
Errors.html Files.html \
|
||||
Filters.html Glossary.html \
|
||||
Groups.html H5.api_map.html H5.format.html H5.intro.html \
|
||||
H5.sample_code.html H5.user.html H5.user.PrintGen.html \
|
||||
H5.user.PrintTpg.html IH_map1.gif IH_map2.gif IH_map3.gif IH_map4.gif \
|
||||
IH_mapFoot.gif IH_mapHead.gif IOPipe.html \
|
||||
NCSAfooterlogo.gif \
|
||||
Properties.html Ragged.html References.html RM_H5.html \
|
||||
RM_H5A.html RM_H5D.html RM_H5E.html RM_H5F.html RM_H5Front.html \
|
||||
RM_H5G.html RM_H5I.html RM_H5P.html RM_H5R.html RM_H5RA.html \
|
||||
RM_H5S.html RM_H5T.html RM_H5Z.html Tools.html Version.html chunk1.gif \
|
||||
compat.html dataset_p1.gif dataset_p1.obj extern1.gif extern2.gif \
|
||||
group_p1.gif group_p2.gif group_p3.gif h5s.examples hdf2.jpg \
|
||||
ph5design.html ph5example.c ph5implement.txt pipe1.gif pipe2.gif \
|
||||
pipe3.gif pipe4.gif pipe5.gif index.html version.gif
|
||||
|
||||
# Other doc files (not to be installed)...
|
||||
PRIVATE_DOCS=Chunk_f1.obj Chunk_f2.obj Chunk_f6.obj CodeReview.html \
|
||||
ExternalFiles.html MemoryManagement.html ObjectHeader.txt chunk1.obj \
|
||||
extern1.obj extern2.obj group_p1.obj group_p2.obj group_p3.obj \
|
||||
pipe1.obj pipe2.obj pipe3.obj pipe4.obj pipe5.obj heap.txt move.html \
|
||||
review1.html review1a.html storage.html symtab version.obj \
|
||||
Lib_Maint.html
|
||||
|
||||
@CONCLUDE@
|
Loading…
x
Reference in New Issue
Block a user