summaryrefslogtreecommitdiff
path: root/GNUmakefile.in
Commit message (Collapse)AuthorAgeFilesLines
* Integrate pg_bsd_indent into our build/test infrastructure.Tom Lane2023-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | Update the Makefile and build directions for in-tree build, and add Meson build infrastructure. Also convert the ad-hoc test target into a TAP test. Currently, the Make build system will not build pg_bsd_indent by default, while the Meson system will. Both will test it during "make check-world" or "ninja test". Neither will install it automatically. (We might change some of these decisions later.) Also fix a few portability nits noted during early testing. Also, exclude pg_bsd_indent from pgindent's purview; at least for now, we'll leave it formatted similarly to the FreeBSD original. Tom Lane and Andres Freund Discussion: https://postgr.es/m/3935719.1675967430@sss.pgh.pa.us Discussion: https://postgr.es/m/20200812223409.6di3y2qsnvynao7a@alap3.anarazel.de
* Remove temporary portlock directory during make [dist]clean.Tom Lane2022-11-261-2/+2
| | | | Another oversight in 9b4eafcaf.
* Run tests of libpq on installcheck-world, checkprep and check-worldMichael Paquier2022-06-031-3/+3
| | | | | | | | | | | | The regression tests of libpq have been converted to a TAP test as of ac25173, but they were not run when running the global make targets mentioned in $subject as the code only considered src/interfaces/ecpg/ as a path to run. This switches to src/interfaces/, to always include the tests of libpq in each run. Reported-by: Justin Pryzby Reviewed-by: Andres Freund Discussion: https://postgr.es/m/20220529151850.GN19626@telsasoft.com
* add missing tag from commit b8c4261e5eAndrew Dunstan2021-07-011-10/+0
|
* Add new make targets world-bin and install-world-binAndrew Dunstan2021-07-011-0/+10
| | | | | | | | | | | | | These are the same as world and install-world respectively, but without building or installing the documentation. There are many reasons for wanting to be able to do this, including speed, lack of documentation building tools, and wanting to build other formats of the documentation. Plans for simplifying the buildfarm client code include using these targets. Backpatch to all live branches. Discussion: https://postgr.es/m/6a421136-d462-b043-a8eb-e75b2861f3df@dunslane.net
* Make install-tests target work with vpath buildsAndrew Dunstan2020-05-311-0/+1
| | | | | | | | Also add a top-level install-tests target. Backpatch to all live branches. Craig Ringer, tweaked by me.
* Add a temp-install prerequisite to top-level "check-tests".Noah Misch2020-05-251-0/+1
| | | | | | The target failed, tested $PATH binaries, or tested a stale temporary installation. Commit c66b438db62748000700c9b90b585e756dd54141 missed this. Back-patch to 9.5 (all supported versions).
* Add support for automatically updating Unicode derived filesPeter Eisentraut2020-01-091-0/+4
| | | | | | | | | | | | | | | | | | | | | We currently have several sets of files generated from data provided by Unicode. These all have ad hoc rules and instructions for updating when new Unicode versions appear, and it's not done consistently. This patch centralizes and automates the process and makes it part of the release checklist. The Unicode and CLDR versions are specified in Makefile.global.in. There is a new make target "update-unicode" that downloads all the relevant files and runs the generation script. There is also a new script for generating the table of combining characters for ucs_wcwidth(). That table is now in a separate include file rather than hardcoded into the middle of other code. This is based on the script that was used for generating d8594d123c155aeecd47fc2450f62f5100b2fbf0, but the script itself wasn't committed at that time. Reviewed-by: John Naylor <john.naylor@2ndquadrant.com> Discussion: https://www.postgresql.org/message-id/flat/c8d05f42-443e-6c23-819b-05b31759a37c@2ndquadrant.com
* Add "headerscheck" script to test header-file compilability under C.Tom Lane2019-08-191-1/+4
| | | | | | | | | | | | | | | We already had "cpluspluscheck", which served the dual purposes of verifying that headers compile standalone and that they compile as C++. However, C++ compilers don't have the exact same set of error conditions as C compilers, so this doesn't really prove that a header will compile standalone as C. Hence, add a second script that's largely similar but runs the C compiler not C++. Also add a bit more documentation than the none-at-all we had before. Discussion: https://postgr.es/m/14803.1566175851@sss.pgh.pa.us
* Integrate cpluspluscheck into build system.Andres Freund2019-05-311-0/+3
| | | | | | | | Previously cpluspluscheck wouldn't work in vpath builds, this commit fixes that. To make it easier to invoke, there's a top-level cpluspluscheck target. Discussion: https://postgr.es/20190530220244.kiputcbl4gkl2oo6@alap3.anarazel.de
* Process EXTRA_INSTALL serially, during the first temp-install.Noah Misch2018-12-311-0/+2
| | | | | | | | This closes a race condition in "make -j check-world"; the symptom was EEXIST errors. Back-patch to v10, before which parallel check-world had worse problems. Discussion: https://postgr.es/m/20181224221601.GA3227827@rfd.leadboat.com
* Remove unwanted "garbage cleanup" logic in Makefiles.Tom Lane2018-08-081-1/+0
| | | | | | | | | | | | | | | | | | GNUmakefile.in defined a macro "garbage" that seems to have been meant as a suitable target for automatic "rm -rf" treatment, but it isn't actually used anywhere (and indeed never was, AFAICT). Moreover, we have concluded that the Makefiles shouldn't take it upon themselves to remove files that aren't expected by-products of building, so that doing anything like that would be against project policy anyway. Hence, just remove the macro. Grepping around finds another violation of that policy in ecpg/preproc, so clean that up too. Daniel Gustafsson (ecpg change by me) Discussion: https://postgr.es/m/AFBEF63E-E19D-4EBB-9F08-4617CDC751ED@yesql.se
* Ensure we build generated headers at the start of some more cases.Tom Lane2018-07-301-1/+1
| | | | | | | | | | | | "make installcheck" and some related cases, when invoked from the toplevel directory, start out by doing "make all" in src/test/regress. Since that's one make recursion level down, the submake-generated-headers target will do nothing, causing us to fail to create/update generated headers before building pg_regress. This is, I believe, a new failure mode induced by commit 3b8f6e75f, so let's fix it. To do so, we have to invoke submake-generated-headers at the top level. Discussion: https://postgr.es/m/0401efec-68f1-679d-3ea3-21d4e8dd11af@gmail.com
* Have "make coverage" recurse into contrib as wellAlvaro Herrera2016-09-051-2/+2
|
* Fix distclean/maintainer-clean targets to remove top-level tmp_install dir.Tom Lane2015-05-131-1/+2
| | | | | | | | | The top-level makefile removes tmp_install in its "clean" target, but the distclean and maintainer-clean targets overlooked that (and they don't simply invoke clean, because that would result in an extra tree traversal). While at it, let's just make sure that removing GNUmakefile itself is the very last step of the recipe.
* Fix parallel make risk with new check temp-install setupPeter Eisentraut2015-04-291-2/+0
| | | | | | | | | | | | | | | The "check" target no longer needs to depend on "all", because it now runs "install" directly, which in turn depends on "all". Doing both will cause problems with parallel make, because two builds will run next to each other. Also remove the redirection of the temp-install output into a log file. This was appropriate when this was done from within pg_regress, but now it's just a regular make run, and especially with the above changes this will now take the place of running the "all" target before the test suites. problem report by Jeff Janes, patch in part by Michael Paquier
* Improve speed of make check-worldPeter Eisentraut2015-04-231-0/+1
| | | | | | | | | | | | | | | Before, make check-world would create a new temporary installation for each test suite, which is slow and wasteful. Instead, we now create one test installation that is used by all test suites that are part of a make run. The management of the temporary installation is removed from pg_regress and handled in the makefiles. This allows for better control, and unifies the code with that of test suites not run through pg_regress. review and msvc support by Michael Paquier <michael.paquier@gmail.com> more review by Fabien Coelho <coelho@cri.ensmp.fr>
* Add TAP tests for client programsPeter Eisentraut2014-04-141-2/+2
| | | | | Reviewed-by: Pavel Stěhule <pavel.stehule@gmail.com> Reviewed-by: Erik Rijkers <er@xs4all.nl>
* Don't generate plain-text HISTORY and src/test/regress/README anymore.Tom Lane2014-02-101-3/+1
| | | | | | | | | | | | | | | | | | | | | Providing this information as plain text was doubtless worth the trouble ten years ago, but it seems likely that hardly anyone reads it in this format anymore. And the effort required to maintain these files (in the form of extra-complex markup rules in the relevant parts of the SGML documentation) is significant. So, let's stop doing that and rely solely on the other documentation formats. Per discussion, the plain-text INSTALL instructions might still be worth their keep, so we continue to generate that file. Rather than remove HISTORY and src/test/regress/README from distribution tarballs entirely, replace them with simple stub files that tell the reader where to find the relevant documentation. This is mainly to avoid possibly breaking packaging recipes that expect these files to exist. Back-patch to all supported branches, because simplifying the markup requirements for release notes won't help much unless we do it in all branches.
* Add new make targets check-tests and installcheck-tests.Andrew Dunstan2014-01-281-2/+2
| | | | | | | These do not run any specific schedule of tests, but only those specified as part of the invocation, e.g.: make check-tests TESTS="json jsonb"
* Remove maintainer-check target, fold into normal buildPeter Eisentraut2013-10-101-2/+0
| | | | | | | | | | | | | | | | | | 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.
* Make init-po and update-po recursive make targetsPeter Eisentraut2012-06-291-1/+1
| | | | | This is for convenience, now that adding recursive targets is much easier than it used to be when the NLS stuff was initially added.
* Add isolation test to check-world and installcheck-worldPeter Eisentraut2012-03-051-1/+1
|
* Build src/ before contrib/ in make worldPeter Eisentraut2011-08-241-0/+6
| | | | | This fixes failures under parallel make when contrib modules use a generated backend header file (such as errcodes.h).
* Support "make check" in contribPeter Eisentraut2011-04-251-2/+1
| | | | | | | | | | | | | | Added a new option --extra-install to pg_regress to arrange installing the respective contrib directory into the temporary installation. This is currently not yet supported for Windows MSVC builds. Updated the .gitignore files for contrib modules to ignore the leftovers of a temp-install check run. Changed the exit status of "make check" in a pgxs build (which still does nothing) to 0 from 1. Added "make check" in contrib to top-level "make check-world".
* Add maintainer-check targetPeter Eisentraut2011-03-281-0/+2
| | | | | | 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.
* Allow make check in PL directoriesPeter Eisentraut2011-02-151-1/+4
| | | | | Also add make check-world target, and refactor pg_regress invocation code in makefiles a bit.
* Improved parallel make supportPeter Eisentraut2010-11-121-43/+13
| | | | | | | | Replace for loops in makefiles with proper dependencies. Parallel make can now span across directories. Also, make -k and make -q work properly. GNU make 3.80 or newer is now required.
* Print a make warning when using GNU make older than 3.80Peter Eisentraut2010-11-031-0/+8
| | | | | A proposed patch will require GNU make 3.80 or newer. We will let this patch run for a while to see how much damage that would do to the buildfarm.
* Rename README.CVS to README.git and change references in it.Magnus Hagander2010-09-211-1/+1
|
* Remove cvs keywords from all files.Magnus Hagander2010-09-201-1/+1
|
* Separate targets "make docs" and "make install-docs" for the documentationPeter Eisentraut2010-03-301-8/+11
| | | | | | | | It is no longer installed by default, but included in "make world"/"make install-world". Documentation updated accordingly. Also, fix vpathsearch function to work when calling make install-docs without previous make docs.
* Fix thinko in new installcheck-world targetAndrew Dunstan2010-01-291-2/+2
|
* Add new make targets "world", "install-world" and "installcheck-world" to ↵Andrew Dunstan2010-01-281-1/+21
| | | | | | | build, install and check just about everything. In addition to everything built installed and tested by all, install and installcheck targets, these build HTML Docs, build and test contrib, and test PLs and ECPG.
* Build bzip2 tarball in dist target as wellPeter Eisentraut2009-11-031-4/+6
|
* Remove some leftovers of split tarball supportPeter Eisentraut2009-10-291-24/+1
|
* Be able to easily figure out the target directory of "make dist".Alvaro Herrera2009-08-141-1/+4
|
* Ship documentation without intermediate tarballsPeter Eisentraut2009-08-091-1/+4
| | | | | | | | 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.
* Expand test coverage support to entire treePeter Eisentraut2009-08-071-21/+2
| | | | | | | | | | | | Test coverage support now covers the entire source tree, including contrib, instead of just src/backend. In a related but independent development, the commands make coverage and make coverage-html can be run in any directory. This turned out to be much easier than feared. Besides a few ad hoc fixes to pass the make target down the tree, change all affected makefiles to list their directories in the SUBDIRS variable, changed from variants like DIRS and WANTED_DIRS. MSVC build fix was attempted as well.
* Modify distdir rule to skip .git directory.Bruce Momjian2009-01-151-2/+2
|
* Call genhtml with --prefix option so local build paths don't appear in thePeter Eisentraut2008-12-041-2/+2
| | | | coverage output.
* Code coverage testing with gcov. Documentation is in the regression testPeter Eisentraut2008-09-051-1/+20
| | | | | | chapter. Author: Michelle Caisse <Michelle.Caisse@Sun.COM>
* Catch all errors in for and while loops in makefiles. Don't ignore anyPeter Eisentraut2008-03-181-10/+10
| | | | | | errors in any commands, including in various clean targets that have so far been handled inconsistently. make -i is available to ignore all errors in a consistent and official way.
* Replace useless uses of := by = in makefiles.Peter Eisentraut2007-02-091-6/+6
|
* Add installcheck-parallel target to top level makefiles.Andrew Dunstan2006-08-181-2/+2
|
* Build src/test/regress/README during tarball making like the otherPeter Eisentraut2006-04-061-1/+5
| | | | | | | generated text files. Fix build of that file, too. Put the text files in the right place during make dist, so there are no extra manual steps required anymore.
* Put flex'ed and bison'ed files in contrib in the distribution tarball, asPeter Eisentraut2006-04-031-2/+8
| | | | is done for the analogous files in the main distribution.
* Remove the contents of the src/corba subdirectory: this has been dead codeNeil Conway2005-05-011-2/+2
| | | | for a long time.
* please find attached an alternate submission which addresses open itemBruce Momjian2004-10-061-7/+4
| | | | | | | | | | | | | "make pgxs install by default". It is up to the committers to chose. (1) there is only one "install" target. no more "install-all-headers". it simplifies/changes several makefiles. (2) the documentation reflects the change. (3) a minor fix on pgxs to use a nicer patch without a double slash. Fabien Coelho
* PostgreSQL extension makefile framework ("pgxs"), by Fabien Coelho, withPeter Eisentraut2004-07-301-1/+6
| | | | | some massaging by Peter Eisentraut. This is basically a simple generalization of the existing contrib makefiles.