From 629c9b9510fcec18e608f12f5b3cfddc0383c026 Mon Sep 17 00:00:00 2001 From: Albert Cheng Date: Fri, 15 Oct 1999 16:08:22 -0500 Subject: [svn-r1761] Lib_Maint.html was toplevel INSTALL_Maint. Folded in changes from v1.2 for install-doc. --- doc/html/Lib_Maint.html | 113 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/html/Makefile.in | 54 +++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 doc/html/Lib_Maint.html create mode 100644 doc/html/Makefile.in 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 @@ +
+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`
+
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@ -- cgit v0.12