Re: 'no rule' warning not precise enough language

2013-03-29 Thread jidanni
PS> We've already had this conversation at least once
Let's see, at this rate we'll have it again in 2017.


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: 'no rule' warning not precise enough language

2013-03-29 Thread jidanni
$ cat Makefile
W=wget -Y off
D=2013-05-02
%.kml:%.html %.xq; basex $*.xq < $< | ./postprocessor
%.html:; $W http://eaip.caa.gov.tw/eaip/history/$D-AIRAC/html/eAIP/$@
$ make RC-ENR-3.3-en-TW.kml
make: *** No rule to make target `RC-ENR-3.3-en-TW.kml'.  Stop.
$ touch RC-ENR-3.3-en-TW.xq
$ make RC-ENR-3.3-en-TW.kml
wget -Y ...

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


'no rule' warning not precise enough language

2013-03-29 Thread jidanni
using
%.kml:%.html %.xq; basex $*.xq < $< | ./postprocessor

make q.kml
will say 'no rule to make q.kml'
until one creates a q.xq file

So it should say something different than 'no rule'
because there indeed is a rule.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


no way to make the first and other item without looking in the Makefile

2012-11-19 Thread jidanni
Gentlemen,
$ make
makes the first item.
$ make FARB
makes the FARB item.
But there is no way to make both, without looking in the file to find
the name of the first item!
$ make FARB BLZZ #if the first item is called BLZZ

OK, no big deal never mind.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: add Order-only Prerequisites example

2012-07-09 Thread jidanni
> "PG" == Philip Guenther  writes:
PG> Nope, wrong.  If you want make to guarantee that, you must express it
PG> as a dependency between C and B.
OK thanks.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: add Order-only Prerequisites example

2012-07-08 Thread jidanni
> "PS" == Paul Smith  writes:
>> A:B C;D
>> A:|B C;D

PS> No.  C will never be run first, before B.  If you enable parallel builds
PS> then B and C might be run at the same time (but B will still be started
PS> first, then C).

I recall someone said that there was no guarantee of order even in the
most vanilla (-non-option) of cases.

OK, I sure hope it will get documented that
A:B C;D
implies that if B fails, C will never get run (or built etc.), and we never 
have to
worry about C getting run first (unless we use some -option.)
I.e., C will only get run after we know the results of B.

PS> In the first example, first B and C will be rebuilt then A will be
PS> rebuilt if either A doesn't exist, OR B or C are newer than A.

PS> In the second example, first B and C will be rebuilt then A will be
PS> rebuilt if A doesn't exist, period.  Since B and C are related to A by
PS> build order ONLY, they are built first BUT they don't play a role in
PS> deciding if A should be rebuilt.

All this I would never have dreamed of an I think examples should be
added to pound it into the users' head.


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


add Order-only Prerequisites example

2012-07-07 Thread jidanni
Can you please add at least _one_ example to
(info "(make) Prerequisite Types")
also consider retitling it "Order-only Prerequisites" or adding a sub-section.

Does it mean the only difference between
A:B C;D
A:|B C;D
is that C might be run first in the former?

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: If the user accidentally uses ; instead of :

2012-04-17 Thread jidanni
$ apt-cache policy make
make:
  Installed: 3.81-8.2
  Candidate: 3.81-8.2
  Version table:
 3.82-1 0
  1 http://ftp.tw.debian.org/debian/ experimental/main i386 Packages
 *** 3.81-8.2 0
500 http://ftp.tw.debian.org/debian/ unstable/main i386 Packages
100 /var/lib/dpkg/status
OK, I tired it with 3.82-1 and indeed it is fixed.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


If the user accidentally uses ; instead of :

2012-04-17 Thread jidanni
If the user accidentally uses ; instead of :
$ cat Makefile 
m;groups.html;w3m -cols=999 -dump $?
g:g.xq; basex $?


The erroneous line produces nary a warning, and we proceed to execute
something else.


$ make -n
basex g.xq

Yes maybe the first line means something arcane.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: .DELETE_ON_ERROR doc

2012-03-17 Thread jidanni
OK I found it in my makefile. I.e., oops never mind.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


.DELETE_ON_ERROR doc

2012-03-16 Thread jidanni
(info "(make) Errors") says

  Usually when a command fails, if it has changed the target file at
   all, the file is corrupted and cannot be used--or at least it is not
   completely updated.  Yet the file's time stamp says that it is now up to
   date, so the next time `make' runs, it will not try to update that
   file.  The situation is just the same as when the command is killed by a
   signal; *note Interrupts::.  So generally the right thing to do is to
   delete the target file if the command fails after beginning to change
   the file.  `make' will do this if `.DELETE_ON_ERROR' appears as a
   target.  This is almost always what you want `make' to do, but it is
   not historical practice; so for compatibility, you must explicitly
   request it.

I find I don't have to explicitly request it.

Or maybe it is only talking about interrupts.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


foreach() needs additional simple example

2011-12-09 Thread jidanni
On (info "(make) Foreach Function") why oh why can't you start with a
an additional simple example?
Please say
$(foreach m, a b c, X$(m)Y)
expands to
XaY  XbY  XcY

OK?
Thanks.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: bug report acknowledgments should be the default!

2011-04-13 Thread jidanni
PS> however, and so I wouldn't expect people to think that messages to
PS> that list would become bug reports and automatically acknowledged, a
PS> la Debian's BTS etc.

Anyways from all the GNU man pages (but not exactly make's, true, but we
just remember bug-make@gnu.org anyway and wouldn't check the man page),
one thinks filing a bug against a package/program is as easy as sending
it to bug-*@gnu.org. That some assign a number and autoreply, like
bug-gnu-em...@gnu.org (which in fact now uses Debbugs software), and
some don't, and some even... well, let's say reports are very likely to
fall through the cracks and be wasted... is something I would hope you
fellows would unify behind the scenes. Well OK, that those addresses
have "bug" in them means someone will not let them fall through the
cracks one hopes.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: bug report acknowledgments should be the default!

2011-04-13 Thread jidanni
> "PS" == Paul Smith  writes:
PS> If you want a bug report to be filed and acknowledged, then you want:
PS> https://savannah.gnu.org/bugs/?func=additem&group=make
Thanks for answering! Well that's not the advertised way to submit bugs.
You advertise bug-*@gnu.org.
PS> The FSF does not use an email-based bug tracker, like Debian; we use
PS> Savannah.
OK, but Savannah should then be made to send acknowledgments by default.
The power users could easily adjust some of their settings to turn them back 
off.

Just telling you how it all looks from this end.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


bug report acknowledgments should be the default!

2011-04-13 Thread jidanni
I noticed that when submitting bugs to bug-*@gnu.org, unlike other bug
submission by mail systems, e.g., Deb bugs of Debian, the user receives
no cheery auto reply acknowledging the bug was ever even received and
didn't go into a black hole, or expecting the user to dig out what
happened to his submission via poking around the website.

Let's the advanced user disable notifications like they can in Debian.
For the default state, please enable auto acknowledgments of bug mail
received, like Debian does.

Anybody reading this?
Anybody get this?

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


say what will happen when one combines -n and -s

2011-04-12 Thread jidanni
On
(info "(make) Echoing")
(info "(make) Options Summary")
explicitly say what will happen when one combines -n and -s.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


mention how to get the other half of $*

2011-03-14 Thread jidanni
(info "(make) Automatic Variables") says
`$*'
 The stem with which an implicit rule matches

OK, that is the stem. Now mention what can we use to get the other half.
OK, the answer apparently is here. Please mention it.
%.xcf %.jpeg:%.pdf; gs -sDEVICE=$(subst .,,$(suffix $@)) -sOutputFile=$@ 
-dNOPAUSE -dBATCH $?


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


allow backslashing comma and space

2011-02-26 Thread jidanni
(info "(make) Syntax of Functions")
  Commas and unmatched parentheses or braces cannot appear in the text
   of an argument as written; leading spaces cannot appear in the text of
   the first argument as written.  These characters can be put into the
   argument value by variable substitution.  First define variables...

Good heavens. Why not just let "\ " mean space and "\," mean comma or
something? Or mention the reason for the "hoops" right there on the Info page.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: is the man page really 21 years old?

2011-02-15 Thread jidanni
> "JN" == Jonathan Nieder  writes:
JN> The header line is somewhat arbitrary.  If you have a good idea for
JN> what it should contain (in the form of nroff markup), I wouldn't be
JN> surprised if it gets used.
That's the problem, you folks accept headers from just about anybody. No
standards in sight.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: mention converses

2010-12-27 Thread jidanni
> "PS" == Paul Smith  writes:
PS> On Mon, 2010-12-27 at 16:19 +0800, jida...@jidanni.org wrote:
>> On (info "(make) Automatic Variables") you mention
>> `$(@F)' is equivalent to `$(notdir $@)'.
>> 
>> But on (info "(make) File Name Functions") you don't mention the
>> converse!
>> 
>> Nobody would have guessed there are shorter ways to write those things.

PS> Only the automatic variables have special shorthand such as $(@F), etc.
PS> $(notdir ...) works with any value, and so the documentation for that
PS> function is generic and doesn't mention special cases that only work
PS> with a limited number of variables.

Do say 'for some things there are even shorter ways...' else
"sure felt foolish the day I discovered there was a shorter way all along".

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Bug#608102: is the man page really 21 years old?

2010-12-27 Thread jidanni
X-debbugs-Cc: bug-make@gnu.org
Package: make
Version: 3.81-8
Severity: wishlist

Is the man page really
GNU 22 August 1989 MAKE(1)
21 years old? Or even
COPYRIGHT
   Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc.  
This file is part of GNU make.
11 years old?
Cat looks much better,
GNU coreutils 8.5 April 2010 CAT(1)

P.S., the top is different too,
MAKE(1) LOCAL USER COMMANDS MAKE(1)
CAT(1) User Commands CAT(1)



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


mention converses

2010-12-27 Thread jidanni
On (info "(make) Automatic Variables") you mention
`$(@F)' is equivalent to `$(notdir $@)'.

But on (info "(make) File Name Functions") you don't mention the
converse!

Nobody would have guessed there are shorter ways to write those things.

Same for all the other items on those pages.

$ make -v
GNU Make 3.81

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


no way to specify a target with a "=" in its name on the command line

2010-12-25 Thread jidanni
You make(1) fellows may be really smart, but you forgot to give the user
a way to specify a target with a "=" in its name on the command line.

Nope, even in
$ make -- dummy ./j=k 

The ./j=k is interpreted as a variable setting. Backslashes are no help either.

P.S., I hope it is documented that
a b c=d:;echo $@
set the variable "a b c" to "d:;echo $@".

GNU Make 3.81
Copyright (C) 2006
That's the latest in Debian "sid".

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


mention if functions can be used near the colon

2010-12-23 Thread jidanni
On (info "(make) Functions") mention if functions can be used

Here:Or here
As well as of course here

If so, add some examples, as currently they are all := examples,
and no : examples.

Also too bad we can't operate on $@ even though we already ought to know
it at this point:
%.bla:$(subst ...,...,$@)

P.S., in (info "(make) Concept Index") there is a listing for double
colon, but none for single colon. Nor in (info "(make) Name Index").

P.S., trailing blanks exist in (info "(make) Pattern Intro")
make 3.81-8

P.S., no fair asking me "what are you actually attempting to do?" as I
was just poking around.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bug#605639: deal better with different filesystem timestamp resolutions

2010-12-01 Thread jidanni
P.S., regarding the documentation of `.LOW_RESOLUTION_TIME'
Here with GNU Make 3.81, I think you should not blame the cp command,
but instead say "when using a mixture of filesystem types, or in some
other situations, one might want to specify some files were made with
low resolution timestamps..."

Indeed, for my situation all the files were low resolution (ext3),
except this one on /tmp, where a .HIGH_RESOLUTION_TIME might have come
in handy.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bug#605639: deal better with different filesystem timestamp resolutions

2010-12-01 Thread jidanni
> "EZ" == Eli Zaretskii  writes:

EZ> What's wrong with using the special target .LOW_RESOLUTION_TIME?

One cannot find it with searches for "seconds" "comparison" etc.

OK, thanks! Please add a cross reference to it on many of the places where
(Info-search "modification") is mentioned. Thanks.

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bug#605639: deal better with different filesystem timestamp resolutions

2010-12-01 Thread jidanni
>>>>> "PS" == Paul Smith  writes:

PS> Make already uses high-resolution timestamps for comparison
PS> automatically on filesystems that support it, if that's what you
PS> mean.

That's the problem, when two different resolution filesystems are
involved, make will always see these,
$ ls -l /tmp/zaokeng.kmz ../../jidanni.org/location/zaokeng.kmz --full-time
-rw-r--r-- 1 jidanni jidanni 3463 2010-12-02 07:05:06.0 +0800 
../../jidanni.org/location/zaokeng.kmz
-rw-r--r-- 1 jidanni jidanni 3463 2010-12-02 07:05:06.298528658 +0800 
/tmp/zaokeng.kmz
as different times, when in fact they are the same...

But of course sometimes for some people they aren't the same too I suppose...

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Bug#605639: deal better with different filesystem timestamp resolutions

2010-12-01 Thread jidanni
X-Debbugs-cc: bug-coreut...@gnu.org, bug-make@gnu.org
Package: coreutils
Version: 8.5-1

man cp says:
`-u'
`--update'
 Do not copy a non-directory that has an existing destination with
 the same or newer modification time.  If time stamps are being
 preserved, the comparison is to the source time stamp truncated to
 the resolutions of the destination file system and of the system
 calls used to update time stamps; this avoids duplicate work if
 several `cp -pu' commands are executed with the same source and
 destination.

But it seems that isn't working too much/well,

$ touch /tmp/f
$ /bin/cp -avu /tmp/f .
`/tmp/f' -> `./f'
$ /bin/cp -avu /tmp/f .
`/tmp/f' -> `./f'
$ /bin/cp -avu /tmp/f .
`/tmp/f' -> `./f'
$ ls -l --full-time f /tmp/f
-rw-r--r-- 1 jidanni jidanni 0 2010-12-02 08:25:47.682527260 +0800 /tmp/f
-rw-r--r-- 1 jidanni jidanni 0 2010-12-02 08:25:47.0 +0800 f
$ mount
/dev/sda6 on /home type ext3 (rw)
tmpfs on /tmp type tmpfs (rw)

It might work great f -> /tmp/f, but not the other way around.

By the way, make(1) lacks any of this time comparison resolution
machinery at all! I'll CC them.



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


discovered the need for a null rule

2010-12-01 Thread jidanni
While trying out aliases, to make "make x.ccc" work, I discovered the
need for a null rule:
%.ccc:%.bbb;
%.bbb:%.kml; some_command $? $@


which can also be written
%.ccc:%.bbb #one TAB on next line:

%.bbb:%.kml
some_command $? $@

Of which, emacs will say
Suspicious line 2. Save anyway? (y or n)

OK. I learned a new thing today, use ";" or ";:" or "\t:" on that ccc line.
Just an observation.
$ apt-show-versions make
make/unstable uptodate 3.81-8

___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bug#561504: update make -n documentation on Debian

2010-02-20 Thread jidanni
Ah, the fine print. And yes there are surely disclaimers that one must
read the fine print.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: Bug#569967: --touch --dry-run

2010-02-20 Thread jidanni
> "MS" == Manoj Srivastava  writes:
MS> The docs already tell you that it is an error to use more than
MS>  one of the three options; and when you do so, you should expect
MS>  undefined  behaviour.  What you saw might not be the same with the next
MS>  upgrade, so it should definitely not be codified in the documentation.
Let's just hope upstream makes errors raise errors.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Bug#569967: --touch --dry-run

2010-02-15 Thread jidanni
X-debbugs-CC: bug-make@gnu.org
Package: make
Version: 3.81-7
Severity: wishlist

On (info "(make) Instead of Execution")
we see
   It is an error to use more than one of these three flags in the same
   invocation of `make'.
Well, I got away with -nt.
and the -n was ignored.

So you should warn on the man page and info page, that -nt acts like -t.
$ cat Makefile
e:
echo hello
$ make -nt
touch e
$ make -nt
make: `e' is up to date.




___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Bug#565791: the word 'Makefile' turns off -n safety cap

2010-01-18 Thread jidanni
X-debbugs-cc: bug-make@gnu.org
Package: make
Version: 3.81-7

Nope, make -n is definitely busted. If it senses the word 'Makefile' here,
if forgets that it is not supposed to execute anything, and even turns on
execution for make -n b!

$ cat Makefile
h:b
Makefile:b
b:
rm -f /boot/vmlinuz-2.6.32-trunk-686
$ ls
Makefile  h
$ make -n
rm -f /boot/vmlinuz-2.6.32-trunk-686
rm: cannot remove `/boot/vmlinuz-2.6.32-trunk-686': Permission denied
make: *** [b] Error 1
$ make -n b
rm -f /boot/vmlinuz-2.6.32-trunk-686
rm: cannot remove `/boot/vmlinuz-2.6.32-trunk-686': Permission denied
make: *** [b] Error 1

Comment out Makefile and all is OK again.




___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Bug#561601: Explanations.gz dominated by trailing blanks

2009-12-18 Thread jidanni
Package: make
Version: 3.81-7
Severity: wishlist
File: /usr/share/doc/make/Explanations.gz
X-debbugs-cc: bug-make@gnu.org

This file is composed of one third trailing blanks.
$ zcat Explanations.gz |wc -c
9366
$ zcat Explanations.gz |perl -pwle 's/\s+$//'|wc -c

$ expr 100 - \(  \* 100 / 9366 \)
29




___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Bug#561504: update make -n documentation on Debian

2009-12-17 Thread jidanni
Package: make
Version: 3.81-7
Severity: wishlist
X-debbugs-cc: bug-make@gnu.org

Me again. Same problem as before with the documentation.

`-n'
`--just-print'
`--dry-run'
`--recon'
 "No-op".  The activity is to print what commands would be used to
 make the targets up to date, but not actually execute them.

$ make -n a
mkdir -p /tmp/pots
make -n guts > /tmp/pots/`date +%s`
/bin/sh: /tmp/pots/1261073715: No such file or directory
make: *** [a] Error 1

This proves that some things really do get executed...
Which to me is just as dangerous as a Microsoft executable email to a
Windows user... I will shoot my own foot executing things I wrote but
didn't intend to execute, thinking make -n was as safe as sh -n.

$ cat Makefile
guts:
export LC_ALL=zh_TW.UTF-8 &&\
./mec|xargs --verbose --no-run-if-empty w3m -no-cookie -cols 111 -dump
a:
mkdir -p /tmp/pots
 $(MAKE) $(MFLAGS) guts > /tmp/pots/`date +%s`
ls -og /tmp/pots



Hope the documentation gets fixed on Debian at least.
$ stat /usr/share/doc/make/changelog.gz|grep Mod
Modify: 2006-04-11 06:03:46.0 +0800
Seems Debian is stuck with four year old make.




___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: .SECONDARY vs. .PRECIOUS doc of danger

2009-06-29 Thread jidanni
PG> In contrast, the description of .SECONDARY only mentions targets and
PG> not target patterns.
Please add warnings about this, otherwise "we new car buyers looking for
the benefits of .PRECIOUS without the pitfalls of interrupts" will "fall
for it" every time.

I mean "the car salesman" in the Info page boasts of the benefits of
.SECONDARY, but one doesn't know the hidden disadvantages (no %!) unless
one has a Ph.D. in fine print or something.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


.SECONDARY vs. .PRECIOUS doc of danger

2009-06-29 Thread jidanni
You fellows have a lot of explaining to do. (On the Info page, not to me.)

In (info "(make) Special Targets")
`.PRECIOUS'
 ...Also, if the target is an intermediate file, it will not be
 deleted after it is no longer needed, as is normally done... In
 this latter respect it overlaps with the `.SECONDARY' special
 target.

However we see that only genuine .PRECIOUS will preserve the
intermediate file. .SECONDARY, on the other hand, will blow - it - away.

$ ls
Makefile  u.kml
$ cat Makefile
.SECONDARY:%.kmz
%.kmz:%.kml;touch $@
%.val:%.kmz;
$ make u.val
touch u.kmz
rm u.kmz
$ emacs Makefile
$ cat Makefile
.PRECIOUS:%.kmz
%.kmz:%.kml;touch $@
%.val:%.kmz;
$ make u.val
touch u.kmz


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: make --guaranteed-real-dry-run

2009-01-23 Thread jidanni
So was this ever resolved? Did anything get into the documentation? Thanks.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: make --guaranteed-real-dry-run

2009-01-01 Thread jidanni
MD> "Don't actually run normal recipes; just print them."
Well OK. A hint in the air that something is up the sleeve is better
than nothing.

P.S. here on Debian sid
$ man make|egrep 19\|Manual|tr -s ' '|tac
GNU 22 August 1989 MAKE(1)
 Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc. This file 
is part of GNU make.
 See the chapter `Problems and Bugs' in The GNU Make Manual.
 The GNU Make Manual
$ make --version
GNU Make 3.81


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: make --guaranteed-real-dry-run

2009-01-01 Thread jidanni
PG> The GNU make manpage starts with this:
PG> WARNING
OK, but not make --help.

Anyway please change things like
  -n, --just-print, --dry-run, --recon
 Don't actually run any commands; just print them.
To
 Don't actually run any commands usually; just print them.

The exact wording I leave up to you.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: make --guaranteed-real-dry-run

2009-01-01 Thread jidanni
What really bugs me is we do "man make", and see

   -n, --just-print, --dry-run, --recon
Print the commands that would be executed, but do not execute them.

But that is just plain not always true, and one has to read the fine
print in other documents to find the whole story.

So throughout the years we use make -n, until one day something blows
up in our face.

What I'm saying is that things like that at least need a asterisk and
a footnote, else, well, how can you say with a clear conscience "we
warned you"?

Yes down on the bottom is says for the full story see the info pages,
but that's not how warning labels are done.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


make --guaranteed-real-dry-run

2009-01-01 Thread jidanni
In the documentation everywhere you mention
   -n, --just-print, --dry-run, --recon
Print  the  commands  that  would  be executed, but do not execute
them.
You should also say:
Well, that is not exactly the truth, in some cases
a even non-malicious programmer can construct a makefile
that will still execute commands. In fact it is quite
common and intentional... The same goes for -t... See
(info "(make)MAKE Variable") (info "(make)Options/Recursion").

At least add one word that one still can get wet.

Also please document how one can achieve a --guaranteed-real-dry-run.

Furthermore, one notes in the make --dry-run output that there is no
way to distinguish the lines that were really run from those that
weren't. Only when one sees e.g., "/bin/sh: curl-config: command not
found" does one notice something sneaky is happening.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: % vs. "No rule to make target"

2008-06-09 Thread jidanni
PS> what does this information do for you?

I don't know, all I am thinking is hooks (i.e., differing error
messages that can be post processed by:) for a future hand holding
system so one can "ask what went wrong?" And have super basic tutorial
information given... (target implementation date 2050, implementor:
some fellow like the one who wrote the Bash Advanced guide or Emacs
Lisp big manual.)

(Just make slightly differing messages if they can be made today
without rearranging the program just for this.)

> I guess what you're suggesting is something like:
I don't know, it's all over my head anyway. OK, thanks.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: % vs. "No rule to make target"

2008-06-09 Thread jidanni
Do differentiate error messages from different triggers, all in
preparation for a perl-like

  See perldiag for explanations of all Perl's diagnostics.  The "use
  diagnostics" pragma automatically turns Perl's normally terse warnings
  and errors into these longer forms.

hand holding facility for make, ten+ years down the road.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: % vs. "No rule to make target"

2008-06-08 Thread jidanni
PS> I don't understand the distinction you're making here between "no rule
PS> at all" and "no best rule" (what's a "best rule"?), and just "no rule".

Maybe whatever prints messages prefixed by
   make: *** No rule to make target
is called from several different points in the code, and could give
finer grained messages, all still on one line.

Maybe there is a difference between "no rule at all" and "yes, a few
rules, but no best one". Like, "no wires at all found" and "yes found
some wires, but none that could complete the circut" and "several
paths to complete the circut, but no best path, so giving up".

Er, if still I'm getting nowhere, then you can drop this bug report. Sorry.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: % vs. "No rule to make target"

2008-06-08 Thread jidanni
OK, OK, is perhaps this message,
  make: *** No rule to make target `z', needed by `a'.  Stop.
is actually triggered by several different conditions, and could instead
be refashioned into several more exact messages, e.g., no rule at all,
no best rule, etc.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


% vs. "No rule to make target"

2008-06-06 Thread jidanni
All is well:
  $ cat Makefile
  all:z.bak
  %.bak:;
  $ make
  make: Nothing to be done for `all'.
Until we add a %:
  $ cat Makefile
  all:z.bak
  %.bak:%;
  $ make
  make: *** No rule to make target `z.bak', needed by `all'.  Stop.
Suddenly it can't find the rule anymore. Or prints the wrong message.
Indeed, instead of % use
  %.bak:some_file_that_exists;
No problem. But
  %.bak:some_file_that_does_not_exist;
then make says it can't find the rule to make target z.bak, when it
should say it can't find the rule to make target some_file_that_does_not_exist,
which it does when one uses
  z.bak:some_file_that_does_not_exist;

Maybe the story lies on Info page "10.8 Implicit Rule Search Algorithm"
and maybe -d showing "Avoiding implicit rule recursion." is a clue.
Anyway, I'm not one of the 0.1% of the population to be able to
comprehend all these things. GNU Make 3.81


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


link to New-Fashioned Suffix Rules in Info

2008-06-06 Thread jidanni
Info says
   10.7 Old-Fashioned Suffix Rules
   ===
   "Suffix rules" are the old-fashioned way of defining implicit rules for
   `make'.  Suffix rules are obsolete because pattern rules are more
   general and clearer.
OK, at this point give a linking footnote to where the new method lies.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


tell them how to break assignments long lines

2007-06-09 Thread jidanni
Your Make Info document does not tell the user how to break his
variable assignments without tears. So mention it explicitly right
upon the relevant page.

$ make
this is long line 1 that I would li ke to break
this is long line 2 that I would like to break
$ cat makefile
A=this is long line 1 that I would li\
ke to break
B=this is long line 2 that I would li$(\
)ke to break

g:
@echo $A
@echo $B


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


Re: mention how to quote a comma in "call"

2007-06-04 Thread jidanni
OK, but near
>> reverse = $(2) $(1)
do add a forward reference to
SR>Commas and unmatched parentheses or braces cannot appear in the text
because the latter section is so far away.


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


mention how to quote a comma in "call"

2007-06-01 Thread jidanni
Your
  reverse = $(2) $(1)
example in the manual is great, however if one day your users happen
to want to quote a comma,
OK:;echo $(call reverse,a,b)
SORRY1:;echo $(call reverse,a\,b,c)
SORRY2:;echo $(call reverse,"a,b",c)
then they are S.O.L. unless you mention how.

One apparently needs to do
EE=a,b
OK2:;echo $(call reverse,$(EE),c)

Mention that it is the only(?) way.

Wait,
OK3:;s=,;echo $(call reverse,a$${s}b,c)



___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make