help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

implicit prerequisites *.w


From: Jens Schweikhardt
Subject: implicit prerequisites *.w
Date: Thu, 5 Apr 2001 17:25:39 +0200
User-agent: Mutt/1.2.5i

hello, world\n

I'm trying to reduce make's workload a little bit by removing suffix
rules and match-anything rules. However, even though I've cleared the
.SUFFIXES, gmake tries to derive a hello.c from a hello.w and calls that
"Trying implicit prerequisite". Why does gmake also consider a web (of
TeX) file even though it does not consider lex (.l) and yacc (.y) files
for creation of a *.c file? I expected that clearing the .SUFFIXES would
inhibit that.

I know I can use -r, but this is not what I want. I want the effect of
-r using frobs *within* the Makefile.

address@hidden:~/tmp/make $ cat Makefile 
.SUFFIXES:

% :: %,v
% :: RCS/%,v
% :: RCS/%
% :: s.%
% :: SCCS/s.%

hello: hello.c
        gcc -o $@ $<
address@hidden:~/tmp/make $ gmake -d 
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386--freebsd4.2
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <address@hidden>.

Reading makefiles...
Reading makefile `Makefile'...
Updating makefiles....
 Considering target file `Makefile'.
  Looking for an implicit rule for `Makefile'.
  No implicit rule found for `Makefile'.
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `hello'.
 File `hello' does not exist.
  Considering target file `hello.c'.
   Looking for an implicit rule for `hello.c'.
   Trying pattern rule with stem `hello'.
   Trying implicit prerequisite `hello.w'.                   <---------
   Trying pattern rule with stem `hello'.
   Trying implicit prerequisite `hello.w'.                   <--why again?
   Looking for a rule with intermediate file `hello.w'.
    Avoiding implicit rule recursion.
   No implicit rule found for `hello.c'.
   Finished prerequisites of target file `hello.c'.
  No need to remake target `hello.c'.
 Finished prerequisites of target file `hello'.
Must remake target `hello'.
gcc -o hello hello.c
Child access: user 1897 (real 1897), group 110 (real 110)
Putting child 0x0806f600 (hello) PID 22222 on the chain.
Live child 0x0806f600 (hello) PID 22222 
Got a SIGCHLD; 1 unreaped children.
Reaping winning child 0x0806f600 PID 22222 
Removing child 0x0806f600 PID 22222  from chain.
Successfully remade target file `hello'.

Regards,

        Jens
-- 
Jens Schweikhardt  http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]