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