summaryrefslogtreecommitdiff
path: root/doc/src/Makefile
AgeCommit message (Collapse)Author
2023-11-06Remove distprepPeter Eisentraut
A PostgreSQL release tarball contains a number of prebuilt files, in particular files produced by bison, flex, perl, and well as html and man documentation. We have done this consistent with established practice at the time to not require these tools for building from a tarball. Some of these tools were hard to get, or get the right version of, from time to time, and shipping the prebuilt output was a convenience to users. Now this has at least two problems: One, we have to make the build system(s) work in two modes: Building from a git checkout and building from a tarball. This is pretty complicated, but it works so far for autoconf/make. It does not currently work for meson; you can currently only build with meson from a git checkout. Making meson builds work from a tarball seems very difficult or impossible. One particular problem is that since meson requires a separate build directory, we cannot make the build update files like gram.h in the source tree. So if you were to build from a tarball and update gram.y, you will have a gram.h in the source tree and one in the build tree, but the way things work is that the compiler will always use the one in the source tree. So you cannot, for example, make any gram.y changes when building from a tarball. This seems impossible to fix in a non-horrible way. Second, there is increased interest nowadays in precisely tracking the origin of software. We can reasonably track contributions into the git tree, and users can reasonably track the path from a tarball to packages and downloads and installs. But what happens between the git tree and the tarball is obscure and in some cases non-reproducible. The solution for both of these issues is to get rid of the step that adds prebuilt files to the tarball. The tarball now only contains what is in the git tree (*). Getting the additional build dependencies is no longer a problem nowadays, and the complications to keep these dual build modes working are significant. And of course we want to get the meson build system working universally. This commit removes the make distprep target altogether. The make dist target continues to do its job, it just doesn't call distprep anymore. (*) - The tarball also contains the INSTALL file that is built at make dist time, but not by distprep. This is unchanged for now. The make maintainer-clean target, whose job it is to remove the prebuilt files in addition to what make distclean does, is now just an alias to make distprep. (In practice, it is probably obsolete given that git clean is available.) The following programs are now hard build requirements in configure (they were already required by meson.build): - bison - flex - perl Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://www.postgresql.org/message-id/flat/e07408d9-e5f2-d9fd-5672-f53354e9305e@eisentraut.org
2013-10-11Remove maintainer-check target, fold into normal buildPeter Eisentraut
make maintainer-check was obscure and rarely called in practice, and many breakages were missed. Fold everything that make maintainer-check used to do into the normal build. Specifically: - Call duplicate_oids when genbki.pl is called. - Check for tabs in SGML files when the documentation is built. - Run msgfmt with the -c option during the regular build. Add an additional configure check to see whether we are using the GNU version. (make maintainer-check probably used to fail with non-GNU msgfmt.) Keep maintainer-check as around as phony target for the time being in case anyone is calling it. But it won't do anything anymore.
2011-03-28Add maintainer-check targetPeter Eisentraut
This can do various source code checks that are not appropriate for either the build or the regression tests. Currently: duplicate_oids, SGML syntax and tabs check, NLS syntax check.
2010-09-20Remove cvs keywords from all files.Magnus Hagander
2009-08-09Ship documentation without intermediate tarballsPeter Eisentraut
Documentation files in HTML and man formats are now prepared for distribution using the distprep make target, like everything else. They are placed in doc/src/sgml/html and manX and installed from there by make install, if present. The business with the tarballs in the tarball is gone.
2009-08-05Fix manpages related to SPI functions.Alvaro Herrera
This patch adds declaration so that they end up in section 3, and adds them to the Makefiles to install them. Also, some synopses needed reflowing so that they look nice in 80-column terminals.
2008-11-14Since doc/src/sgml already builds the HTML docs twice to resolve indexPeter Eisentraut
entries, we don't have to do two builds here as well.
2008-11-14Set SQL man pages to be section 7 by default, and only transform them toPeter Eisentraut
another section if required by the platform (instead of the old way of building them in section "l" and always transforming them to the platform-specific section). This speeds up the installation on common platforms, and it avoids some funny business with the man page tools and build process.
2006-12-02Don't ship spi_* man pages. (We don't do that anyway, but now it's automatic.)Peter Eisentraut
2003-11-29$Header: -> $PostgreSQL Changes ...PostgreSQL Daemon
2003-03-25Merge documentation into one book. (Build with "make html".) ReplacePeter Eisentraut
vague cross-references with real links.
2002-11-30Make install and clean targets behave more normally.Tom Lane
2002-07-28Clean documentation subtree during make clean.Peter Eisentraut
2001-11-25Fix commentPeter Eisentraut
2001-11-23Improve wording.Bruce Momjian
2001-11-23Document index entries are built first.Bruce Momjian
2001-09-30Change tar -T file to tar `cat file` for BSD tar.Bruce Momjian
2001-09-30Change tar -c -f to -cf for BSD tar.Bruce Momjian
2001-09-30Fix *.gif expansion to be empty when no gif files are used.Peter Eisentraut
2001-09-18Generate index.html as the root file name of the documentation set,Peter Eisentraut
rather than making index.html a symlink to the autogenerated name. Fixes fatal problems with tar programs that don't handle symlinks very well (MacOS X). (The names user.html, admin.html, etc. are still available as make targets, but they aren't packaged anymore.) Use the manifest file that the stylesheets generate as the file list for packaging. Put graphics in the right place while building, not while packaging, so you can actually look at them after building.
2001-09-17Unify the zip rules and variables.Peter Eisentraut
2001-09-14Some formatting changes, add CSS stylesheet. Include indexes inPeter Eisentraut
documentation tarball builds.
2001-08-29Install the SQL command man pages into a section appropriate for eachPeter Eisentraut
system. Some systems did not understand the 'l' section, and in general it wasn't entirely appropriate. On SCO OpenServer, the man pages won't be installed at all until someone figures out their man system.
2001-03-27> Kinda looks like Ian broke the compile-in-source-dir case whileBruce Momjian
> making the compile-in-separate-dir case work. Tut tut. Yes. My apologies. This patch is one way to fix things. Ian
2001-03-25Allow building documentation outside source tree.Peter Eisentraut
from Ian Lance Taylor
2001-02-17No more .htm files, so don't try to add them to the doc tarballs.Tom Lane
2000-11-24Revive Reference Manual, remove reference pages from User's Guide.Peter Eisentraut
Make version.sgml the central place for updating version numbers in the documentation. Document titles now contain the version number of the release they belong to. filelist.sgml is the central (and only) place to declare system entities (i.e., sgml files). No longer a need to declare them in each document header. There is no longer any need to maintain duplicate chapter lists in postgres.sgml and user/admin/etc.sgml, everything is build from the same sources. Some parameter entities allow for different text to be included when the integrated or a single doc set is generated, which eliminates the problems that had caused this to fail in the past.
2000-10-08Split out Developer's from Programmer's guide.Peter Eisentraut
2000-09-12Define ZIP rather than GZIP.Thomas G. Lockhart
Define ZIPSUFFIX to allow substitution of something other than gzip.
2000-09-05GZIP vs ZIP variable naming messed upPeter Eisentraut
2000-08-31Fix relative path references so that make knowns which dependencies referPeter Eisentraut
to one another. Sort out builddir vs srcdir variable namings. Remove some now obsoleted make variables.
2000-07-16Automatic dependency trackingPeter Eisentraut
The .DEFAULT rule in backend/Makefile is harmful -- removed. Replace `::' rules by `:'.
1999-08-08Use sgml/Makefile to generate man sections, so just "make man" there.Thomas G. Lockhart
1999-07-14Include gif omitted from integrated doc.Thomas G. Lockhart
Thanks to Goran Uddeborg for spotting this.
1999-07-06Include rules for building a man tar file.Thomas G. Lockhart
1999-01-07Fix build rules for the tutorial,Thomas G. Lockhart
which was not built last time these things changed.
1998-10-31Try to get only html and gif files into tarballs.Thomas G. Lockhart
Was picking up subdirectories and other garbage.
1998-05-09Allow building a source tarball.Thomas G. Lockhart
Try to generalize the gzip/tar usage for more portability.
1998-04-05Include complete Makefile.global if available,Thomas G. Lockhart
rather than just Makefile.custom.
1998-03-01Make this rely on a real Makefile in sgml/.Thomas G. Lockhart
Implement installation and cleaning.
1998-03-01SGML source for new documentation.Thomas G. Lockhart