bug-make
[Top][All Lists]
Advanced

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

Re: Missing Separator error


From: Paul D. Smith
Subject: Re: Missing Separator error
Date: Mon, 23 Oct 2000 14:08:31 -0400

%% Larry Knibb <address@hidden> writes:

  lk> I'm trying to 'make test' to check a Perl module before installing
  lk> on Win32 and I get
  lk>     "makefile:770: *** missing separator.  Stop."
  lk> I had a look around line 770 of the makefile and it looks like this:

  lk> 765: pm_to_blib: $(TO_INST_PM)
  lk> 766:     @$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \
  lk> 767:     "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \
  lk> 768:     -e "pm_to_blib(qw[ <<pmfiles.dat ],'$(INST_LIB)\auto')"
  lk> 769:      
  lk> 770: $(PM_TO_BLIB)     #<----this one here
  lk> 771: <<
  lk> 772:     @$(TOUCH) $@

This isn't a valid makefile.  You need backslashes at the end of _every_
continued line in the command script; make doesn't grok any kind of
quoting (it doesn't notice, for example, that there's an open double
quote in line 768 which isn't ended, and it won't treat 769-771 as
continued lines just because of that).

Make doesn't parse its command line _at all_, except to expand variables
or functions.

So, if you add backslashes to the end of lines 768, 769, and 770 it will
work (or at least, you won't get this particular error any more.

As to why this makefile looks like this, that's a Perl problem, not a
make problem (Perl's install [at least the UNIX version] auto-generates
those makefiles) so you'll need to ask on a Perl list.

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



reply via email to

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