This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: [mingw32] Re: [RFC] changing gcc default output executable na me (a.exe now)

> -----Original Message-----
> From: Richard Hitt []
> Sent: Friday, January 14, 2000 1:55 AM
> To: Andre Oliveira da Costa
> Cc:
> Subject: Re: [mingw32] Re: [RFC] changing gcc default output executable
> na me (a.exe now)
> Hi all
> If such a patch as this goes forward, am I right that the implicit
> make(1) rules will be changed at the same time gcc and/or binutils is
> changed?  I mean that
> 	make hello
> would by default produce the file "hello" rather than "hello.exe".

Yep. Going a step further, every rule that is meant to produce an executable
file, like:

foo: $(OBJS)
	gcc -o $@ $^

would produce an executable (binary) file named "foo", and not "foo.exe"
like it happens today with the actual gcc / ld tools. This behavior
(appending ".exe" on the output file name) happens only on Windows, because
the suffix is necessary so that Windows can see the file as an executable
(another braindamage(TM) by Micro$oft). This creates a problem for UNIX
makefiles, because none of the rules consider a .exe suffix when they refer
to the executable.

> And if not, why not?  :-)

Ask Micro$oft... the .exe suffix is needed only if you have to run your
application through Windows tools (cmd.exe or Windows Explorer, for
example). If you only use your cygwin apps through bash prompt or other
cygwin apps, there's no need for the suffix. What we're proposing here is
that this suffix should only be appended when it is really needed, and this
should be controlled by environment variables.


André Oliveira da Costa

Want to unsubscribe from this list?
Send a message to

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]