undesirable .out rule

2001-11-12 Thread Bruno Haible


Hi,

GNU make 3.79.1 apparently contains a pattern rule %.out : % ; ...
which has some undesirable side effects. You can observe it as follows:

- unpack ftp://alpha.gnu.org/gnu/gettext/gettext-0.11-pre1.tar.gz,
- make a VPATH build:
$ cd gettext-0.11-pre1
$ mkdir build
$ cd build
$ ../configure
$ make
- make a distribution package:
$ make dist

You will observe that the created distribution contains a tests/msguniq-1.out
file which differs from the one in the source. During the make dist a
dependency of 'distdir' on 'msguniq-1.out' has caused the following command
to be executed:
cp ../../tests/msguniq-1 msguniq-1.out

Both 'msguniq-1' and 'msguniq-1.out' exist in the source directory ../../tests,
and 'msguniq-1.out' is older than 'msguniq-1'. This has apparently triggered
the implicit rule.

I'd like to ask to remove this misfeature rule from GNU make because

  1) It is undocumented. The make documentation (node Catalogue of Implicit
 Rules) doesn't mention this pattern rule. It only mentions the .out
 suffix, but the tests/Makefile redefines the suffix list anyway.

  2) It cannot be turned off in a portable way. Node Canceling Implicit Rules
 recommends redefining the same pattern rule with no commands. But
 since pattern rules are not portable (see SUSV2 make documentation),
 I cannot do that in a portable Makefile.

  3) Compared to the rationale of the rule, namely the ability to write
 rules like

.out.symlist :
nm $  $@

 which create 'foo,symlist' from 'foo', its implementation is gross:
 it copies the complete executable file. This is a case where pattern
 rules are needed.

Bruno

___
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make



Internet income!

2001-11-12 Thread Dred Delle

YOU HAVE 3000 MEMBERS IN YOUR DOWNLINE!

500 people received the above message in October. 
3500 new members joined our program last month, 
another RECORD month for our program! 

With our revolutionary new Single-Line Downline System, 
the first 500 new members who signed up had a 
GUARANTEED downline of at least 3000 people their first month! 

What if you only had 200, 100 or even 50 members placed in your
downline? 
How many programs will do that for you? Here's the best part. 
You can try our program for FREE!! 

http://freddelle.50megs.com/

If we don't keep our word and build a Downline for YOU - 
You've risked nothing.

Fred Delle

*** See Notice Below 

This message is sent in compliance of the new e-mail bill: SECTION
301.
Per Section 301, paragraph (a)(2)(C) of S. 1618. This message is NOT
Spam as long as you are provided with a way to remove your name from
this mailing list. All further transmissions to you from me may be
stopped
at no cost to you by sending a Reply to this letter with the word
remove 
in the Subject line.


___
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make



pipe read hang on Win 2000 with make 3.79.1

2001-11-12 Thread J . B .

Here's a problem I've encountered recently ...

Using the Win32 port of GNU make 3.79.1 on Windows 2000 with either the Cygwin shell, 
or the MKS sh.exe, or even the Windows cmd.exe I get a hang when running the following 
makefile:

CWD:=$(shell pwd)
PKGDIR = $(shell echo this.is.a.test | sed 's:\.:/:g')

all :
echo $(CWD)
echo $(PKGDIR)
echo Done.
cd testdir2  $(MAKE)

The hang appears to be on a pipe read.  Due to my lack of Win32 experience, that's all 
I can tell.  In addition, this makefile must be in a recursive make, nested about 5 or 
6 directories deep, so simply create the following directory directory structure and 
put a copy of the makefile in each directory and run make at the top level:  
c:/testdir2/testdir2/testdir2/testdir2/testdir2/testdir2/testdir2

The line of the makefile that causes the problem is the one with the $(shell ...) 
command.  I can work around the problem by breaking the $(shell ) command into two 
shell commands, storing the intermediate result in a file and redirecting I/O rather 
than using a pipe between echo.exe and sed.exe.  Also, I've ruled out these two 
programs as the culprit.  I can use other programs besides echo and sed and get the 
hang.  The problem doesn't appear to happen on Win NT 4.0.

Any help in getting this fixed would be greatly appreciated.

-JB


___
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make



Re: pipe read hang on Win 2000 with make 3.79.1

2001-11-12 Thread Paul Smith


  X-Mailer: NIMS ModWeb Module

I don't know what this is, but it generates pretty seriously malformed
SMTP messages :-/.


Using the Win32 port of GNU make 3.79.1 on Windows 2000 with either the =
Cygwin shell, or the MKS sh.exe, or even the Windows cmd.exe I get a =
hang when running the following makefile:

  PKGDIR = $(shell echo this.is.a.test | sed 's:\.:/:g')

Your best bet is to ask on [EMAIL PROTECTED], but, did you try running
this directoy at the command line, without using make's shell function?

If that doesn't work, then it's not a make issue at all and you should
ask the Cygwin or even the MKS or Microsoft folks.

-- 
---
 Paul D. Smith [EMAIL PROTECTED] HASMAT: HA Software Mthds  Tools
 Please remain calm...I may be mad, but I am a professional. --Mad Scientist
---
   These are my opinions---Nortel Networks takes no responsibility for them.

___
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make