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

Re: CVS breaks Makefile (pattern contains no "%" ??)



Am 11. Jul, 2001 schwäzte will trillich so:

> i do "h2xs -AXn MyModule" to start out a new perl module, and i get
> 
> -rw-r--r--    1 will     serensof      119 Jul 11 16:42 Changes
> -rw-r--r--    1 will     serensof       47 Jul 11 16:42 MANIFEST
> -rw-r--r--    1 will     serensof      231 Jul 11 16:42 Makefile.PL
> -rw-r--r--    1 will     serensof    44237 Jul 11 16:42 MyModule.pm
> -rw-r--r--    1 will     serensof      651 Jul 11 16:42 test.pl
> 
> i can then
> 
> 	perl Makefile.PL
> 	make
> 	make test
> 	make install
> 
> and all is well.
> 
> --
> 
> BUT when i get those SAME EXACT FILES via
> 
> 	cvs -d /yada/yada checkout myVeryOwnProject
> 
> and then try
> 
> 	$ cd myVeryOwnProject
> 	$ perl Makefile.PL 
> 	Writing Makefile for MyModule
> 	$ make
> 	Makefile:430: *** target pattern contains no `%'.  Stop.
> 
> i've done a diff on the two resulting "Makefile"s and there's
> lots, lots, lots. under RCS, all went well, under CVS, "make" is
> broken somehow.

Are there actual changes or is it white space ( which cvs shouldn't mangle
)? diff -b will ignore white space changes. Changing tabs to a bunch of
spaces will massively hose Makefiles.

BTW, do the diffs on Makefile.PL. Makefile shouldn't go in cvs.

> (line 430 is "
> tardist : $(DISTVNAME).tar$(SUFFIX)
> " if it's relevant)
> 
> what did i miss, here?

Google showed that error message on the kernel mailing list and the
following from Documentation/Changes in the 2.4.x tree:

Current Minimal Requirements
o  Gnu make               3.77                    # make --version

The following is from docs for GNU make Version 3.77:

`missing target pattern. Stop.'
`multiple target patterns. Stop.'
`target pattern contains no `%'. Stop.'
These are generated for malformed static pattern rules. The first means
there's no pattern in the target section of the rule, the second means there
are multiple patterns in the target section, and the third means the target
doesn't contain a pattern character (%).

http://linux.fh-heilbronn.de/doku/GNU/docs/make/make_96.html#IDX791

The top of that explains the %.

ciao,

der.hans
-- 
# der.hans@LuftHans.com home.pages.de/~lufthans/ www.DevelopOnline.com
#  A t-shirt a day keeps the noose (tie) away. - der.hans



Reply to: