diff options
author | Albert Cheng <acheng@hdfgroup.org> | 1999-10-03 06:22:24 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 1999-10-03 06:22:24 (GMT) |
commit | a65d75525f679cf8be03dc3867d7cb106caaaff5 (patch) | |
tree | 90875663f5d65179823060b970815707c10ff726 /doc | |
parent | a5ae4827d029ff2a356ac2bc33770d394df2a820 (diff) | |
download | hdf5-a65d75525f679cf8be03dc3867d7cb106caaaff5.zip hdf5-a65d75525f679cf8be03dc3867d7cb106caaaff5.tar.gz hdf5-a65d75525f679cf8be03dc3867d7cb106caaaff5.tar.bz2 |
[svn-r1715] Moved INSTALL_MAINT to doc/html/Lib_Maint.html.
Did a quick change to the file to make it an html file.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/html/Lib_Maint.html | 113 | ||||
-rw-r--r-- | doc/html/Makefile.in | 3 |
2 files changed, 115 insertions, 1 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 index bf10f15..e42d45a 100644 --- a/doc/html/Makefile.in +++ b/doc/html/Makefile.in @@ -48,6 +48,7 @@ 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 + review1.html review1a.html storage.html symtab version.obj \ + Lib_Maint.html @CONCLUDE@ |