I just put this at the very end of top makefile:
${MAKEFILE_LIST}: ;
Philip Guenther
On Sun, Jul 16, 2023 at 12:25 PM Torbjorn SVENSSON <
torbjorn.svens...@foss.st.com> wrote:
>
>
> On 2023-07-16 15:58, Alejandro Colomar wrote:
> > Wow! That's a great help for debugging
Is make being built with -D_FILE_OFFSET_BITS=64 to use the large-file
APIs? If not, then maybe the problem is an inode number that doesn't fit
in the old 32-bit ino_t that some struct dirent's were stuck with. Check
the output of "ls -l -i" (note the -i option!) to see if there's an inode
number
On Sat, Nov 5, 2022 at 1:34 PM Dmitry Goncharov
wrote:
> Follow-up Comment #6, bug #63307 (project make):
>
> > If SIGIGN was ignored before make was started though, it should remain
> ignored, even for make's children, see also
>
Well, the good news is that you have lots of volunteers to test new
versions where you refactor the code to reduce the intrusiveness of the
Amiga changes!
"Hi, you expressed interest in GNU make continuing to support your OS;
here's where you help us reduce the burden of that."
make should note whether SIGPIPE is ignored on entry and, if so, then it
should leave it ignored when it invokes other programs and not
unconditionally set SIGPIPE to SIGDFL.
Philip Guenther
On Wed, Nov 2, 2022 at 6:29 AM Andreas Schwab wrote:
> * configure.ac: Ch
which is robust to future
code/design changes really requires a broad view of the dependency
structure of the C++ module implementation...which is where guidance from
the C++ compiler developers would *really* be useful.
Good luck.
Philip Guenther
On Wed, Aug 10, 2022 at 9:19 PM ljh wrote
ake.
Lacking a description of a case in the past where build.sh was actually the
only sane option, I would go with #2.
Philip Guenther
ady in use. Fighting the builtin rules is a bad use of your time.)
Philip Guenther
On Fri, Sep 3, 2021 at 12:58 PM Jeffrey.Fellin--- via Bug reports and
discussion for GNU make wrote:
> I have a project that compiles .S and .c files, and the value of CFLAGS in
> the sub makefile
at states the
commands for updating each file.
I also think the second comma is incorrect ("comma splice") and suggest
removing it as seen above: even the 'Oxford comma' rule only applies to
lists of three or more items.
Philip Guenther
forge.net/auug97.pdf
+1000
In October 2001 I applied the logic of that paper to a 1/2 million line
work project to cut its build time by a factor of 20 and make it reliably
build the Right Stuff. Took less than a month to win back the entire time
I had spent reading the paper and working out the details of the new
Makefile setup.
Philip Guenther
s, \
$(BUILD)/$(FRONTEND)/%.html \
$(BUILD)/$(FRONTEND)/%.js \
$(BUILD)/$(FRONTEND)/%.css \
$(BUILD)/$(FRONTEND)/%.svg \
$(BUILD)/$(FRONTEND)/%.ico, , cmds)
Not the most obvious, friendly syntax, but it appears to do what you're
trying to accomplish.
Philip Guenther
alias make='nice -n10 make'
or maybe
make() { nice -n10 /usr/bin/make "$@"; }
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
same results when the makefile is just
lang:
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
the name of the matching executable (ala "make lang"
in this case) or use a Makefile sets the default target ala
echo ".DEFAULT_GOAL = lang" >Makefile
and it'll deduce the rest from its default pattern rules.
Philip Guenther
ork.
This is correct, as per the documentation quoted above.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
On Thu, 15 Jun 2017, SF Markus Elfring wrote:
> I have constructed the following small script to be executed by the program
> “GNU Make 4.2.1-1.7” on my openSUSE Tumbleweed system.
>
>
> define rule_pair =
> name::=$(1)
Using ::= in a makefile which is already dependent on GNU make is, IMO,
ide examples of the Makefiles rules you tried? It's very
difficult to provide feedback without complete information. Does ocamldep
generate output suitable for inclusion by make? What rule did you use to
invoke it?
Philip Guenther
___
y "is there a rule that
improves the error output in this case? Is that output at least as good
for *other* makefiles?" If the answers aren't both "yes", then you're
suggesting a trade-off of your makefile for someone else's and have this
consider and explain *why*
t if "bar.ml" changes? If so, then you
might just have too many dependencies but all too few and should be
looking at the direction make-for-C went to solve this.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
for
> this test case. Why is the source file “commands.ml” not compiled again
> in the way as the other one?
The snippet of Makefile you provided didn't include any rules for building
"commands.ml", so I don't understand why you expect make to build it.
Philip Guenther
__
guess at the problem, but that's a waste of time
when you could just copy your test Makefile in to email to the list.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
havior incorrect. In particular, the Macros section has
this line earlier in it:
The result of setting MAKEFLAGS in the Makefile is unspecified.
So if you want POSIX-like behavior, don't do that; if you do that,
you're at the whims of GNU make's choices.
Philip Guenther
of an environment variable that already exists in the
environment of make.
(That's from the 2013 draft update; the '+' lines were modified from
the original 2008 version of the standard, but that doesn't affect the
first sentence.)
Philip Guenther
__
On Wed, Sep 14, 2016 at 3:13 PM, Paul D. Smith wrote:
...
> Probably an example like this would help make the doc more clear.
There *is* an example like that in the doc in at least version 4.2.1!
Note that `ifdef' only tests whether a variable has a value. It
that will temporarily override that by
setting $1 to 'inputs' and $2 to 'output' then expanding STUFF. The
result will be the same as the earlier example.
That distinction between expansion, execution and evaluation make sense?
Philip Guenther
___
Bug
of
Makefile, which results in the error *in the eval*.
Paul, I still think $(eval) should have been named
$(stick-arm-in-woodchipper), to make it less seductive to people
trying to layer imperative programming on the declarative nature of
make.
Philip Guenther
, etc then the previous recipe is closed and you can't
add another recipe line to it.
Of course, if you had actually quoted the relevant lines from your
Makefile, we could be more precise.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https
pattern rule with the
exact same target and prerequisites (but possibly different commands,
or *no* commands, which cancels the previous pattern rule), or adds a
new pattern for the target with different prerequisites.
Philip Guenther
___
Bug-make mailing
from getcwd().
This hit me when I tried to make in a directory that had a colon in the
name;
Doctor says: Don't do that! make is only one of many program which you
will have problems with.
Philip Guenther
___
Bug-make mailing list
Bug-make
then ask to
build the a.bar2 target, both the a.bar1 and a.bar2 targets are
re-built.
Umm, why isn't this solved by having a correct dependency on a.bar2 where
necessary?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org
certainly some way to express the if the either file is missing,
rebuild both using $(if) and $(wildcard) to check for existence, but my
reaction right now is fix the tool that isn't generating consistent
output...
Philip Guenther
___
Bug-make mailing list
and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
: morgaine; gmake
gmake: *** No rule to make target 'bar', needed by 'foo'. Stop.
: morgaine;
What information about your situation did you leave out?
Philip Guenther
___
Bug-make
to the full bug-make list is
useful; are you expecting random list members to provide feedback on
them?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
On Tue, 28 Jan 2014, Mark Brown wrote:
On Mon, Jan 27, 2014 at 11:05 PM, Mark Brown mkbrown_...@hotmail.com wrote:
From: Paul Smith
Sent: Monday, January 27, 2014 8:57 PM
...
ifneq ($(filter else-if,$(.FEATURES)),else-if)
$(error Version $(MAKE_VERSION) does not support
On Mon, Jan 27, 2014 at 9:59 AM, Mark Brown mkbrown_...@hotmail.com wrote:
First, let me request that you include the question posed to you,
in your Reply responses in this email sequence.
How about you stop top-posting and instead reply inline?
1) I think my question was explicit.
A
(Dang it: gmail treats control-enter as send...)
On Mon, Jan 27, 2014 at 1:12 PM, Philip Guenther guent...@gmail.com wrote:
On Mon, Jan 27, 2014 at 9:59 AM, Mark Brown mkbrown_...@hotmail.com wrote:
First, let me request that you include the question posed to you,
in your Reply responses
to build
any objects, but if generated.h gets rebuilt, only the objects that
have real dependencies from the automated dependency tracking setup
will get rebuilt.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman
passing a buflen of 1 and a single char
buf instead of a buflen of zero and NULL. Or maybe that part was a
bug in AIX. Hmm...
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
/fpathconf.html
However, last I checked glibc and Linux didn't implement it.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
instead turning it off. If there are other
fixes and/or features in this release that people are waiting for,
burning them on this would be unfriendly.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo
of the consequences...)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
on your system and therefore matches the version you're
running.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
On Wed, Feb 27, 2013 at 1:56 PM, Daniel Wagenaar d...@caltech.edu wrote:
I appreciate your correction, but I still feel that the documentation on the
website would be more helpful if it at least mentioned that older versions
of make fail quietly when there is a = at the end of the line. The
to do
it, or to put it on Daniel, and Paul could easily decide that your
patch is an improvement and check it in.
(Oops, guess I screwed up my second chance.)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman
be before any other includes in 1.mak
dir_of_1 = $(dir $(lastword $(MAKEFILE_LIST)))
...and then later:
# pull in 2.mak in the same directory as this file
include ${dir_of_1}2.mak
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https
.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
patterns and filename choices so that you
don't get overlapping patterns!
...but I wasn't there and those are just guesses.
Philip Guenther
** if there are no prerequisites, then all of the prereqs are present;
the list of missing prereqs is empty
/share/automake-1.12/am/remake-hdr.am why rm -f stamp-h1 is
there so it would likely fix one bug and trigger another one.
Hmm, adding a sleep 1 after that rm -f and before the touch
config.h.in would work without reintroducing the issue described in
that explanation, no?
Philip Guenther
running info make
I suggest you also yell at your distribution for both not providing
the current version *and* for not pointing you at the correct
documentation for the version that they are shipping.
Philip Guenther
___
Bug-make mailing list
Bug-make
,
the example
define run-yacc =
No, the example is correct *for the current version of GNU make*. You
need to either
a) upgrade to the current version, or
b) read the documentation that was included in the version that you
have installed; try running info make
Philip Guenther
sleep a second and then
return success? Why not at least exit 1 there so that the caller
can tell that the make failed in a consistent fashion?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
and B.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
On Tue, Jun 12, 2012 at 12:59 AM, Stefano Lattarini
stefano.lattar...@gmail.com wrote:
On 06/12/2012 02:06 AM, Philip Guenther wrote:
On Mon, Jun 11, 2012 at 12:53 PM, Stefano Lattarini
stefano.lattar...@gmail.com wrote:
...
I was hoping to be able to the order-only prerequisites to enforce
a prerequisite of a real
target, the phony target recipe will be executed only when the phony
target is a specified goal (*note Arguments to Specify the Goals:
Goals.).
)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https
on $(MAKECMDGOALS) to make T1 a
prerequisite of T2 if and only if T1 is a goal, say...
ifneq ($(filter T1,${MAKECMDGOALS}),)
T2: T1
endif
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
of a rule for building one of those
symlinks?
As for issue problem with .PRECIOUS, well, it works with patterns for
me; please provide an actual example.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo
thing to do.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
environment.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
On Thu, Apr 21, 2011 at 3:50 AM, David Boyce david.s.bo...@gmail.com wrote:
All quite true and admirably researched but this is not a
standards-lawyering exercise, it's a software-engineering issue.
Why are you closing stdout instead of redirecting it to /dev/null?
Philip Guenther
change the command invoked to :, but
that's a distinct issue.)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make
On Tue, Mar 8, 2011 at 1:37 PM, Michael Witten mfwit...@gmail.com wrote:
The `--dry-run' flag is supposed to be safe in that nothing
in the file system is actually modified.
That's not actually true. To quote the docs:
`-n'
`--just-print'
`--dry-run'
`--recon'
No-op. The activity is to
red flags to me.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
could affect the latter of which?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
with make and there's nothing that make can do about it. That's
just a problem with the makefile itself and needs to be taken up with
the authors of that.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo
and I
suspect there are places where someone would want immediate expansion.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
, exactly, are you suggesting that make do to reflect that
guess about usage patterns?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
is expanded
*twice*.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
the info pages:
For the append operator, `+=', the right-hand side is considered
immediate if the variable was previously set as a simple variable
(`:='), and deferred otherwise.
Variable does not know what way it was assigned.
They do in GNU make. Note that += isn't standardized.
Philip
to be put in the dependency
files to solve it, and then gives an implementation that works with
all 'makedepend' methods; gcc's -MP option came later is is just an
optimized method for those using -MD)
Philip Guenther
___
Bug-make mailing list
Bug-make
you
mention...which is why this thread is about updating what's there.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
the meaning of parentheses.)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
the problem as being in $(eval) and make no attempt to reproduce it
directly. Since this is a hinderance to getting good bug reports, it
would help if you could examine why this happened in this case so that
it might possible be avoided in the future with others.
Philip Guenther
and it should probably be handed to some CS
grad student as a possible research project. Isn't that what grad
schools are for, banging on possibly open-ended problems?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org
in recipes or
make it an incredible, royal pain to implement. Ditto for $(error).
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
recompilation and/or relinking and how much time it would save then?
What's the comparison to how much time would be spent calculating the
checksums? If it saves a minute once every 100 compiles but costs a
second in each of those, then it's a net loss...)
Philip Guenther
the snort people hide that file in a subdirectory,
unlike practically all other projects.)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
://savannah.gnu.org/projects/make
and submit the bug.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
to your originally scheduled mailing list.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
into the same bug might not be using such a simple
makefile with easy alternatives.
Sure.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
...but that
makefile just seems like the wrong way to solve your problem.)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
, will blow - it - away.
$ ls
Makefile u.kml
$ cat Makefile
.SECONDARY:%.kmz
As documented, .SECONDARY does not support target patterns, so the
difference in behavior is expected.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http
an
example for overriding an existing makefile?
An implicit rule search is performed for the target GNUmakefile. This is not
expected.
While GNU make will automatically try to rebuild its makefile, that's both
A) completely expected, and
B) not at all related the error message you quoted.
Philip
is *NOT* a prerequisite of the executable.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
go:
staticlibrary.a: yetanothercfile.o yacf.o
$(AR) $(ARFLAGS) $@ $?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
.
For example, instead of using .cu.o and .cu, use .cuo and .cu.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
several tries to get the
behavior matching the user expectation
Those are just the sort of items I would consider if this was my
project; Paul and the other developers may have completely different
criteria in mind, but I would be surprised if they didn't overlap
some.
Philip Guenther
whether this bug still
exists in the development (CVS) version of GNU make and, if so, file a
bug for it or, if there already is bug for it, comment on that bug.
If nothing else, that would let you be notified when the bug *is*
fixed.
Philip Guenther
Makefile
all: foo
-include foo.d
$ cat foo.d
foo.o: foo.c xxx.h
$ make
make: *** No rule to make target `xxx.h', needed by `foo.o'. Stop.
$ make --version | head -1
GNU Make 3.81
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http
that concurrent
building can be found in the Advanced Auto-Dependencies section of
http://make.paulandlesley.org/autodep.html
Yeah, make should give a less misleading error message, but why spend
time banging your head on a bug that could be avoided by making your
own code less wasteful?
Philip
incomplete data on it.
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
: ${CONFIG_DEP}; ${CONFIG_COMMANDS}
(The version using $(eval) and $(foreach) is just icky looking in my mind)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
when there's a pattern prerequisite, right? I
mean, the example you gave at least has a sensical _possible_
interpretation, but this:
foo %.c: %.c.real ; @: cp $ $@
doesn't, so make _has_ to detect and throw an error there.
Philip Guenther
: foo ; @echo $@
will do the echo just once for a given pair of .a and .b files. How
many times should it do it if there's a normal file in the target
list?
So I'm with you: either ban it, or warn that it's going away and ban
it 'next time'.
Philip Guenther
on
2002-10-03; 3.81 on 2006-04-01)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
/non-compliant. Guessing what the
other end meant is practically *banned* in many IETF protocols due to
the horrible experiences of some early protocols. I recommend Paul
Vixie's published papers about BIND and how the handle gracefully
mentality resulted in security holes in DNS.
Philip
you please show the actual command output and error messages and
makefile contents?
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
$(func3)
endif
endef
$ make
Here1: 1
Here2: 1
$
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
. As cute as being
able to set -R from inside the makefile is, I just don't see it as a
feature that's worth introducing *any* bugs over.
I vote that Paul just change the info pages to document the current behavior.
Philip Guenther
___
Bug-make mailing list
been out for over 18 months.
My guess is that as I calculate values for some
variable only on fly so may be when run with -j option, two threads try
to calculate/access the same variable and that causes a crash.
GNU make does not use threads, so this explanation cannot be correct.
Philip
with a tab then make sees them as normal parts of the
commands and passes them to the shell...which then will often ignore
them based on *its* rules.)
Philip Guenther
___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make
1 - 100 of 114 matches
Mail list logo