delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/04/15/11:28:05

From: rri!potter AT vtserf DOT cc DOT vt DOT edu (Mark Allen Potter)
Subject: Re: gnu make woes
To: ericb AT lsid DOT hp DOT com (Eric Backus)
Date: Fri, 15 Apr 1994 10:37:15 -0400 (EDT)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (DJ G++ Mailing List )
Reply-To: rri!potter AT vtserf DOT cc DOT vt DOT edu

> Potter (rri!potter AT vtserf DOT cc DOT vt DOT edu) writes:
> > > OBJPATH=h:
> > > OBJ= $(OBJPATH)/file.o
> > > all:	$(OBJ) 
> > > 	echo hello
> > > 
> > > 
> > > GNU make says it is expecting a % sign (due to the expanding OBJPATH to h:)
> > > This is ugly for a make that is supposed to run under DOS.
> > 
> > Has anyone come up with a solution to this problem?  I know of a
> > possible work around for one working with multiple local hard drives
> > (the JOIN command).  However my development environment envolves
> > network drives, and join doesn't work with network drives (or
> > atleast it didn't the last time I tried (c.  v5.0)).  Thanks.
> 
> For GNU make, you can escape the ':' with a leading backslash.  This
> is not ideal, because non-GNU makes will probably try to use a literal
> backslash.  But it should work.

Eric,
        Thanks for the reply.  However it did not work.  The backslash did
escape the meaning of the ':', thus no longer conplaining about the missing
'%'.  However the backslash was left in an thus complained about no rule for
the target.  Example:

    Makefile: 

        all:    d\:/tmp/source.o
                echo It Worked

    Produces: 

        gmake.exe: *** No rule to make target `d\:/tmp/source.o'.  Stop.

I also tried several of the other UNIX style escapings ", ', and `, but none
worked.  Well, thanks for the suggestion.

                                        Potter
                                        rri!potter AT vtserv DOT cc DOT vt DOT edu

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019