Thread: .exe extension on Windows
Can somebody confirm how the executable extensions behave on Windows/Cygwin? It seems that the following is true: cc -o foo ... creates a file `foo.exe'. cc -o foo.exe ... also creates a file `foo.exe'. Is that correct? It also seems that the make targets need to be written like pg_passwd$(X): rather than pg_passwd: because otherwise you're not really updating the target of the rule. -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
On Mon, 26 Jun 2000 03:41:12 +0200 (CEST) Peter Eisentraut <peter_e@gmx.net> wrote: > Can somebody confirm how the executable extensions behave on > Windows/Cygwin? It seems that the following is true: > > cc -o foo ... > > creates a file `foo.exe'. > > cc -o foo.exe ... > > also creates a file `foo.exe'. Is that correct? Yes. > It also seems that the make targets need to be written like > > pg_passwd$(X): > > rather than > > pg_passwd: > > because otherwise you're not really updating the target of the rule. I agreed this. ----- Yutaka Tanida<yutaka@emeraldshell.com>
> -----Original Message----- > From: pgsql-hackers-owner@hub.org [mailto:pgsql-hackers-owner@hub.org]On > Behalf Of Yutaka tanida > > On Mon, 26 Jun 2000 03:41:12 +0200 (CEST) > Peter Eisentraut <peter_e@gmx.net> wrote: > > > Can somebody confirm how the executable extensions behave on > > Windows/Cygwin? It seems that the following is true: > > > > cc -o foo ... > > > > creates a file `foo.exe'. > > > > cc -o foo.exe ... > > > > also creates a file `foo.exe'. Is that correct? > > Yes. > > > It also seems that the make targets need to be written like > > > > pg_passwd$(X): > > > > rather than > > > > pg_passwd: > > > > because otherwise you're not really updating the target of the rule. > > I agreed this. Hmm,I see the following in my environment. bash-2.02$ ls CVS Makefile pg_passwd.c pg_passwd.o bash-2.02$ make pg_passwd gcc -o pg_passwd pg_passwd.o -lcrypt -lm -lreadline -ltermcap -lncurses -lcygipc -g bash-2.02$ ls CVS Makefile pg_passwd.c pg_passwd.exe pg_passwd.o bash-2.02$ make pg_passwd make: `pg_passwd' is up to date. Regards. Hiroshi Inoue Inoue@tpf.co.jp
Hiroshi Inoue writes: > Hmm,I see the following in my environment. > > bash-2.02$ ls > CVS Makefile pg_passwd.c pg_passwd.o > bash-2.02$ make pg_passwd > gcc -o pg_passwd > pg_passwd.o -lcrypt -lm -lreadline -ltermcap -lncurses -lcygipc > -g > bash-2.02$ ls > CVS Makefile pg_passwd.c pg_passwd.exe pg_passwd.o > bash-2.02$ make pg_passwd > make: `pg_passwd' is up to date. Seems make is smarter than it wants to admit. Then that would not sit well with the changes I just made (which would require you to do `make pg_passwd.exe', unless make is *that* smart). Gotta investigate this in the GNU make manuals. Thanks. -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden