delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/01/29/10:27:22

Date: Fri, 29 Jan 1999 16:26:55 +0100
From: Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de>
Message-Id: <199901291526.QAA09572@acp3bf.physik.rwth-aachen.de>
To: djgpp AT delorie DOT com
Subject: Re: How (not) to force make to recompile?
Newsgroups: comp.os.msdos.djgpp
Organization: RWTH Aachen, III. physikalisches Institut B
X-Newsreader: TIN [version 1.2 PL2]
Reply-To: djgpp AT delorie DOT com

In article <199901291348 DOT HAA17031 AT darwin DOT sfbr DOT org> you wrote:
[...]

> Ok, this is interesting, because not once in a year of using Make, with
> DJGPP and bash, have I ever gotten the message that an executable is
> up-to-date (even if nothing has been changed).  If, for example, I
> issue a second `make' following the first `make', the executable is
> always relinked using the existing object files.  Why? (portion of a
> typical makefile follows).

It's because your target name is 'fake', by the rules for writing Makefiles.

> #
> # Makefile
> #
[...]

> xibs:		xibs.o kin.o covcor.o pearsn.o erfcc.o betai.o betacf.o \
> 		gammln.o nrutil.o
> 		$(CC) $(LDFLAGS) -o $@$(EXT) $^ $(LIBS)

This is the one. Your dependency claims that a file called 'xibs' will
be built from the given list of .o files. But actually, you build
'xibs.exe'. Once you change your target name to 

xibs$(EXT):    [...]

you'll see that it will not to superfluous rebuilds, any more.

--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.

- Raw text -


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