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: References: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: Arne Glenstrup 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".