Re: Remove of .SECONDARY from SGML Makefile
От | Bruce Momjian |
---|---|
Тема | Re: Remove of .SECONDARY from SGML Makefile |
Дата | |
Msg-id | 200701111744.l0BHiLb24550@momjian.us обсуждение исходный текст |
Ответ на | Re: Remove of .SECONDARY from SGML Makefile (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-patches |
Peter Eisentraut wrote: > Bruce Momjian wrote: > > To get the new html dependency to work properly, I removed the > > .SECONDARY tag from the Makefile. SECONDARY prevents missing files > > from being built. > > That is not what it does. It does several things, but that is one of the things it does: `.SECONDARY' The targets which `.SECONDARY' depends on are treated as intermediate files, except that they are never automatically deleted. *Note Chains of Implicit Rules: Chained Rules. `.SECONDARY' with no prerequisites marks all file targets mentioned in the makefile as secondary. and intermediate files are defined as: Intermediate files are remade using their rules just like all other files. But intermediate files are treated differently in two ways. The first difference is what happens if the intermediate file does not exist. If an ordinary file B does not exist, and `make' considers --------- a target that depends on B, it invariably creates B and then updates the target from B. But if B is an intermediate file, then `make' can leave well enough alone. It won't bother updating B, or the ultimate -------------------------- target, unless some prerequisite of B is newer than that target or there is some other reason to update that target. The second difference is that if `make' _does_ create B in order to update something else, it deletes B later on after it is no longer needed. Therefore, an intermediate file which did not exist before `make' also does not exist after `make'. `make' reports the deletion to you by printing a `rm -f' command showing which file it is deleting. This is what caused the dependencies not to run. SECONDARY was added by you in 2000. What I don't understand is what else we have lost by removing it: revision 1.27 date: 2000/12/14 22:30:56; author: petere; state: Exp; lines: +2 -1 Merge functions and operators chapters. Lots of updates. -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-patches по дате отправления: