delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/09/23/22:21:52

From: khan AT xraylith DOT wisc DOT edu (Mumit Khan)
Subject: Re: gcc produces foo.exe, not foo
23 Sep 1998 22:21:52 -0700 :
Message-ID: <Pine.SUN.3.93.980923095850.1519C-100000.cygnus.gnu-win32@modi.xraylith.wisc.edu>
References: <Pine DOT HPP DOT 3 DOT 95 DOT 980923002730 DOT 28557A-100000 AT grimer DOT diku DOT dk>
Mime-Version: 1.0
To: Arne Glenstrup <panic AT diku DOT dk>
Cc: gnu-win32 AT cygnus DOT com

On Wed, 23 Sep 1998, Arne Glenstrup wrote:

> 
> The problem is that it seems that when running
> 
>   gcc -o foo foo.c
> 
> it produces not a file named foo, but a file named foo.exe. This has
> caused me problems when writing a Makefile somewhat like
> 
>   bar: foo.c
>           gcc -o foo foo.c
>           mv foo bar
> 
> because it complains when trying to mv file foo.
> 
> What is the standard way of circumventing this problem? Simply writing
> 
>           mv foo.exe bar.exe
> 

All my local configuration systems check for executable extension and
define a variable such as exeext to either the extension or "" if none
is added by default. Lots of GNU Makefiles are beginning to use this
as well. The Makefile rules look like the following:
  
  PROGRAMS = bar$(exeext) 

  bar$(exeext): foo.c
	$(CC) -o foo foo.c
	mv foo$(exeext) bar$(exeext)

Rather ugly, but currently the only usable solution.

As for the rationale for adding the automatic .exe, I'm somewhat in
favor of, if not thrilled by, such "native compliance"; for mingw32, it
makes perfect sense (must have .exe to jive with native system and also
be executable by native shell); for cygwin32, bash can run programs
with or without .exe, but have trouble when running with native shell.

Regards,
Mumit

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


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