make-w32
[Top][All Lists]
Advanced

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

Re: problems w/ make.


From: Eli Zaretskii
Subject: Re: problems w/ make.
Date: Sun, 24 Sep 2006 11:21:41 +0300

> From: <address@hidden>
> CC: <address@hidden>
> Date: Sat, 23 Sep 2006 17:12:00 -0400
> 
> Hi, and thanks for the prompt response, ,.  unfortunately i installed the new 
> version of make and im still getting the same results.... 
> 
> C:\Documents and Settings\John  Blaze\Desktop\net-irc>make
> makefile:306: *** multiple target patterns.  Stop.

There's something else at work here, because I cannot reproduce this
problem.

First, are you absolutely sure we are looking at the right Makefile?
Is there any other Makefile with more than 306 lines that could
trigger this error message?  And why the error message now complains
about line 306, whereas your original report was about line 308?

Second, could you please post a minimal Makefile that reproduces this
problem, without depending on the entire Net::IRC build environment?
For example, I attach below a small Makefile that is a modified
version of the portion of your Makefile around the line 308, with the
addition of definitions of several Make macros (at the beginning of
the Makefile) that are needed to make it self-contained.  This small
Makefile works for me with Make 3.81.

Some modifications that were required for me to run this Makefile
without installing Perl and Net::IRC exactly as you have on your
machine:

  . I replaced EQUALIZE_TIMESTAMP, MKPATH, and CHMOD with commands
    that invoke standard programs `touch', `mkdir', and `chmod'.
  . I replaced C:\Perl\lib\CORE\perl.h in the prerequisites with a
    different file which I have on my system

One other change I needed is to modify the value of DIRFILESEP, from
^\ to \\.  I don't know why the Makefile you posted uses ^\, it is not
supposed to work in the Windows port of Make.  Perhaps that is the
reason of your problems, although I cannot figure out how it causes
the multiple target patterns error.

With these changes, the short Makefile below correctly created the
directories and files it is supposed to make, and I never saw any
error messages about multiple patterns.  Can you see if it works for
you?

SHELL=cmd.exe
# --- MakeMaker top_targets section:
NOECHO = @
NOOP = rem
FIRST_MAKEFILE = mkf1z
INST_LIB = blib\lib
INST_LIBDIR      = $(INST_LIB)\Net
DIRFILESEP = \\
INST_ARCHLIB = blib\arch
INST_ARCHAUTODIR = $(INST_ARCHLIB)\auto\$(FULLEXT)
FULLEXT = Net\IRC
INST_AUTODIR     = $(INST_LIB)\auto\$(FULLEXT)
MKPATH = mkdir
EQUALIZE_TIMESTAMP = touch -r
CHMOD = chmod
PERM_RWX = 755

# all :: pure_all
#       $(NOECHO) $(NOOP)


# pure_all :: config pm_to_blib subdirs linkext
#       $(NOECHO) $(NOOP)

# subdirs :: $(MYEXTLIB)
#       $(NOECHO) $(NOOP)

all :: config

config :: $(FIRST_MAKEFILE) $(INST_LIBDIR)$(DIRFILESEP).exists
        $(NOECHO) $(NOOP)

config :: $(INST_ARCHAUTODIR)$(DIRFILESEP).exists
        $(NOECHO) $(NOOP)

config :: $(INST_AUTODIR)$(DIRFILESEP).exists
        $(NOECHO) $(NOOP)

$(INST_LIBDIR)\\.exists :: D:\usr\lib\PerlIO\encoding.pm
        $(NOECHO) $(MKPATH) $(INST_LIBDIR)
        $(NOECHO) $(EQUALIZE_TIMESTAMP) D:\usr\lib\PerlIO\encoding.pm 
$(INST_LIBDIR)\.exists

        -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_LIBDIR)

$(INST_ARCHAUTODIR)\\.exists :: D:\usr\lib\PerlIO\encoding.pm
        $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)
        $(NOECHO) $(EQUALIZE_TIMESTAMP) D:\usr\lib\PerlIO\encoding.pm 
$(INST_ARCHAUTODIR)\.exists

        -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR)

$(INST_AUTODIR)\\.exists :: D:\usr\lib\PerlIO\encoding.pm
        $(NOECHO) $(MKPATH) $(INST_AUTODIR)
        $(NOECHO) $(EQUALIZE_TIMESTAMP) D:\usr\lib\PerlIO\encoding.pm 
$(INST_AUTODIR)\.exists

        -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_AUTODIR)




reply via email to

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