Jeffrey Williams wrote:
> Ok now I understand the difference, but here is another question. The real
> problem I have is that some of my developers work on the c: drive and others
> on e: drive. I'd like my make files to use directories without the drive
> qualifier., e.g. I wish to use -I/myincludes insteas of -Ic:/myincludes
> because that way it will use the current drive so the makefile will work on
> machines that have the code on drive e or c, or whatever.
> However, -I/myincludes does not work. Is there a simple way to accomplish
If e: and c: are local NTFS partitions then you can use reparse points
to accomplish this. For example, if you want e:\myincludes to be
mounted at c:\myincludes, get the 'junction' utility from
sysinternals.com and run "junction c:\myincludes e:\myincludes". Now
accesses to c:\myincludes will really be reading/writing to that dir on
> Originally I was just going to use the msys mounts because I thought
> it would be easier but because of what you pointed out above it is not going
> to work (We don't like to use msys we prefer cmd.exe as our command line
> when possible). I am beginning to think that maybe we should just use msys
> as our command prompt :)
Using MSYS (or even Cygwin) mounts and writing Makefiles with posix
paths seems like it would be a lot simpler. I don't see why you
couldn't use cmd.exe for your shell but still call MSYS' make. One
doesn't necessitate the other.
Or, define your base directory in an environment variable rather than
hard coding it in the Makefile. Then it's just a matter of setting the
environment properly at each machine. You could even do this using a
.cmd file that detects what the proper setting should be, and starts a
shell with it set, so that the user doesn't even have to do anything.
I have to agree with Keith though that it sounds like sheer lunacy for
someone to actually prefer cmd.exe to bash (or better, bash+rxvt), but
that's neither here nor there.