undesirable .out rule
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!
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
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
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