Hi Paul,

Below is what make outputs when I run with -d option.
I am not sure what this really means. But am surprised that at the message
that says "no implicit rule found for dir1/print2dir1.d" since a pattern
rule to generate .d from .c is defined in the make file ..

Am I missing some VPATH definition or position of the implicit rule

Trying implicit prerequisite `dir1/print2dir1.d;.sh'.
 Looking for a rule with intermediate file `dir1/print2dir1.d;.sh'.
  Avoiding implicit rule recursion.
  Trying pattern rule with stem `print2dir1.d;.sh'.
  Trying implicit prerequisite `dir1/print2dir1.d;.sh,v'.
  Trying pattern rule with stem `print2dir1.d;.sh'.
  Trying implicit prerequisite `dir1/RCS/print2dir1.d;.sh,v'.
  Trying pattern rule with stem `print2dir1.d;.sh'.
  Trying implicit prerequisite `dir1/RCS/print2dir1.d;.sh'.
  Trying pattern rule with stem `print2dir1.d;.sh'.
  Trying implicit prerequisite `dir1/s.print2dir1.d;.sh'.
  Trying pattern rule with stem `print2dir1.d;.sh'.
  Trying implicit prerequisite `dir1/SCCS/s.print2dir1.d;.sh'.
 No implicit rule found for `dir1/print2dir1.d;'.
 Finished prerequisites of target file `dir1/print2dir1.d;'.
Must remake target `dir1/print2dir1.d;'.
make: *** No rule to make target `dir1/print2dir1.d;'.  Stop.





From: Paul Smith <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: sharan basappa <[EMAIL PROTECTED]>
CC: [email protected]
Subject: Re: Why make complains though implicit rule is present ..
Date: Fri, 08 Jun 2007 08:38:19 -0400

On Fri, 2007-06-08 at 11:10 +0000, sharan basappa wrote:

> ifneq "$(MAKECMDGOALS)" "clean"
>   include $(dependencies)
> endif
>
> %.d: %.c
>         $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -M $< | \
>         $(SED) 's,\($(notdir $*)\.o\) *:,$(dir $@)\1 $@: ,' > [EMAIL 
PROTECTED]
>         $(MV) [EMAIL PROTECTED] $@

> Reading makefiles...
> Reading makefile `SmallPrjMain.mk'...
> Reading makefile `dir1/dir1.mk' (search path) (no ~ expansion)...
> Reading makefile `dir1/print1dir1.d' (search path) (no ~ expansion)...
> SmallPrjMain.mk:36: dir1/print1dir1.d: No such file or directory
> Reading makefile `dir1/print2dir1.d;' (search path) (no ~ expansion)...
> SmallPrjMain.mk:36: dir1/print2dir1.d;: No such file or directory
> make: *** No rule to make target `dir1/print2dir1.d;'.  Stop.

Typically you'll get an error like that if you don't have a
dir1/print2dir1.c file, so make can't use the implicit rule you show
above.  However, running make with the -d option will get you more
details about exactly what make is looking for and why it can't rebuild.

--
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist

_________________________________________________________________
Shaadi.com Matrimonials. Register FREE! http://www.shaadi.com/ptnr.php?ptnr=mhottag



_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to