summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>1999-10-15 21:08:22 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>1999-10-15 21:08:22 (GMT)
commit629c9b9510fcec18e608f12f5b3cfddc0383c026 (patch)
tree23ec5595a5a06a5830093b2ce80eadfe57fabd32 /doc
parent878def94e5a416f710e87491b8ee8ef1d236f48e (diff)
downloadhdf5-629c9b9510fcec18e608f12f5b3cfddc0383c026.zip
hdf5-629c9b9510fcec18e608f12f5b3cfddc0383c026.tar.gz
hdf5-629c9b9510fcec18e608f12f5b3cfddc0383c026.tar.bz2
[svn-r1761] Lib_Maint.html was toplevel INSTALL_Maint.
Folded in changes from v1.2 for install-doc.
Diffstat (limited to 'doc')
-rw-r--r--doc/html/Lib_Maint.html113
-rw-r--r--doc/html/Makefile.in54
2 files changed, 167 insertions, 0 deletions
diff --git a/doc/html/Lib_Maint.html b/doc/html/Lib_Maint.html
new file mode 100644
index 0000000..bff638c
--- /dev/null
+++ b/doc/html/Lib_Maint.html
@@ -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>
diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in
new file mode 100644
index 0000000..c915c99
--- /dev/null
+++ b/doc/html/Makefile.in
@@ -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@