[svn-r1761] Lib_Maint.html was toplevel INSTALL_Maint.

Folded in changes from v1.2 for install-doc.
This commit is contained in:
Albert Cheng 1999-10-15 16:08:22 -05:00
parent 878def94e5
commit 629c9b9510
2 changed files with 167 additions and 0 deletions

113
doc/html/Lib_Maint.html Normal file
View 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
View 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@