make-w32
[Top][All Lists]
Advanced

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

RE: Newbie problems?


From: Andy Voelkel
Subject: RE: Newbie problems?
Date: Sun, 9 Nov 2003 23:33:00 -0800

>  >> %.obj:%.c
>  >>     cl500 $(COPT) -fr$(OBJDIR) -i\progs\c54x\ -cg -i$(INCDIR) $<
>
>  gc> I'll guess that $(OBJDIR) uses backslash '\' rather than forward
>  gc> slash '/'. Maybe make is trying to interpret '\' as a *nix escape
>  gc> character instead of a msw path separator.  Try using forward
>  gc> slashes instead--many msw compilers accept that.
>
>GNU make doesn't interpret any slashes at all, either forward or
>backslashes.  The only character that is special to make (in a command
>script) is "$".

Right, that is how it behaves for me. Backslashes or forward slashes,
makes no difference.

>However, it's still a very good idea to use forward slashes in all make
>commands.  As you point out, almost all Windows programs ack slashes.

Right.

>Problems like yours are, in my experience, most often related to what
>shell make is invoking to run the commands.  Be sure you read the
>README.W32 file that comes with GNU make and understand how your
version
>was built and what shell it will use.  I don't have a Windows system
>anywhere to test with so that's about all the advice I can give :(.

>From what I've been able to gather (from the readme and from another
knowledgable friend), the problem is most likely the method that GNU
make uses to fire up a shell and execute its commands. Other make
programs that are more Windows-friendly don't seem to have this problem.
Same machine environment, same tools, almost identical makefiles.
Personally, I consider this a shortcoming of GNU make stemming from
unix-centricity. Someone suggested this is because GNU make tries to use
a CreateProcess() instead of a System() call. Whatever it is, it is too
bad. It makes it harder for me to advocate a switch to GNU make for my
group.

I wish I could figure a way to control how shells and commands are
invoked without messing with make's source code or such mucking around.
Any pointers to any tips on this?

- Andy Voelkel





reply via email to

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