[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #58735] When rebuilding makefiles, make tries them in reverse order
From: |
Jörg Schilling |
Subject: |
[bug #58735] When rebuilding makefiles, make tries them in reverse order |
Date: |
Fri, 10 Jul 2020 06:03:06 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0 |
Follow-up Comment #4, bug #58735 (project make):
If I provide more dependency information, gmake runs more commands in parallel
when in parallel mode and this will cause more problems since only one of
these commands needs to be run.
So this is also a problem that is related to an unhappy combination of
contradictory behavior in gmake.
The general problem is that gmake implements the include feature in a way that
is in conflict with the behavior of other, older implementations.
I cannot speak for UNIXv8 and this is not really useful to look at, since
extremely few people had access to the make experiments from UNIXv8.
I however can confirm that SunOS did introduce the so called "SunPro Make" in
January 1986 to a large community.
Gmake first appeared in late 1988. If gmake did have "include" from it's
beginning, this would have been 3 years later than SunPro Make.
Given that gmake implements a lot of the features that have been made
available to a larger community by SunPro Make in January 1986 (e.g. pattern
macro expansions and pattern matching rules for implicit targets) and given
that gmake has been originally developed on SunOS, it is obvious that gmake in
1988 intended to copy the features of SunPro Make.
You did not verify that the specific behavior of gmake is needed by any
makefile in the public. Other make implementations use a different method and
the other make implementations do not have resulting problems.
The way gmake works slows down work, as it re-execs gmake. I am however not
asking you to remove this implementation detail....
I just ask you to introduce orthogonal behavior in gmake and to evaluate
existing rules for include files the same way as it is done for Makefiles:
just before the file is opened the first time.
BTW: SunPro Make is not something from the past that no longer exists and it
is (as a result of a request from me) OpenSource since December 2006. I made
it highly portable and maintain it since 9 years and it is part of the
"schilytools" bundle; together with smake, the make implementation I wrote in
1984 and maintain since then.
So everybody can check the behavior of SunPro Make.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?58735>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #58735] if depending on include, gmake does not execute commands for out of date targets in the right order, Jörg Schilling, 2020/07/08
- [bug #58735] if depending on include, gmake does not execute commands for out of date targets in the right order, Paul D. Smith, 2020/07/08
- [bug #58735] if depending on include, gmake does not execute commands for out of date targets in the right order, Jörg Schilling, 2020/07/09
- [bug #58735] When rebuilding makefiles, make tries them in reverse order, Paul D. Smith, 2020/07/09
- [bug #58735] When rebuilding makefiles, make tries them in reverse order,
Jörg Schilling <=
- [bug #58735] When rebuilding makefiles, make tries them in reverse order, Paul D. Smith, 2020/07/10
- [bug #58735] When rebuilding makefiles, make tries them in reverse order, Paul D. Smith, 2020/07/10
- [bug #58735] When rebuilding makefiles, make tries them in reverse order, Paul D. Smith, 2020/07/19
- [bug #58735] When rebuilding makefiles, make tries them in reverse order, Paul D. Smith, 2020/07/19