|
From: | sharan basappa |
Subject: | Re: Why make complains though implicit rule is present .. |
Date: | Fri, 08 Jun 2007 13:01:28 +0000 |
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 <address@hidden> Reply-To: address@hidden To: sharan basappa <address@hidden> CC: address@hidden 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 $@: ,' > address@hidden > $(MV) address@hidden $@ > 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 <address@hidden> 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
[Prev in Thread] | Current Thread | [Next in Thread] |