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