[comp.sys.sgi] broken Make on PI

mccalpin@masig3.ocean.fsu.edu (John D. McCalpin) (08/13/89)

I have a medium-sized, moderately complex Makefile that I use to
maintain my current modelling project.  This Makefile seems to generate
the correct behavior on a variety of machines, including:
	IRIS 3000, VAX VMS, ETA-10 UNIX (Sys V), Sun 4

I get the following broken behavior on the Personal IRIS:

	1. I update a header file
	2. I type 'make model'
	   It 'makes' correctly
	4. I type 'make model' again
	   It repeats the previous make, even though everything
		is up-to-date.
	5. I repeat step 4 several times.
	    Usually by the 3rd or fourth time, it finally understands
		that everything is up-to-date and it does not
		have to make anything anymore.

I have checked the times on the files, and they are correct.
I have tried 'make -t' and it doesn't seem to notice --- it still
re-makes the target several times more than it needs to....

The only thing that I am doing which is unusual is that I have turned
off most of the rules and replaced them with my own, since I am using
a fortran pre-processor that make does not know about by default.

Any ideas out there?
--
John D. McCalpin - mccalpin@masig1.ocean.fsu.edu - mccalpin@nu.cs.fsu.edu
		   mccalpin@delocn.udel.edu

len@synthesis.Synthesis.COM (Len Lattanzi) (08/13/89)

In article <MCCALPIN.89Aug12154307@masig3.ocean.fsu.edu> mccalpin@masig3.ocean.fsu.edu (John D. McCalpin) writes:
:I have a medium-sized, moderately complex Makefile that I use to
:maintain my current modelling project.  This Makefile seems to generate
:the correct behavior on a variety of machines, including:
:	IRIS 3000, VAX VMS, ETA-10 UNIX (Sys V), Sun 4
:
:I get the following broken behavior on the Personal IRIS:
:
:	1. I update a header file
:	2. I type 'make model'
:	   It 'makes' correctly
:	4. I type 'make model' again
:	   It repeats the previous make, even though everything
:		is up-to-date.
:	5. I repeat step 4 several times.
:	    Usually by the 3rd or fourth time, it finally understands
:		that everything is up-to-date and it does not
:		have to make anything anymore.
:
:I have checked the times on the files, and they are correct.
:I have tried 'make -t' and it doesn't seem to notice --- it still
:re-makes the target several times more than it needs to....
:
:The only thing that I am doing which is unusual is that I have turned
:off most of the rules and replaced them with my own, since I am using
:a fortran pre-processor that make does not know about by default.
:
:Any ideas out there?
:--
:John D. McCalpin - mccalpin@masig1.ocean.fsu.edu - mccalpin@nu.cs.fsu.edu
:		   mccalpin@delocn.udel.edu

Not much to go on but:
Does this still happen if you don't override the rules (maybe create
your own ~/bin/f77 to do preprocessing and then call /usr/bin/f77).

Are you editting locally but doing the make over NFS? unsynchronized
clocks sometimes force make to run several minutes after the dependency
was editted.
-Len
\
 Len Lattanzi	({ames,pyramid,decwrl}!mips!synthesis!len) <len@Synthesis.com>
 Synthesis Software Solutions, Inc.		The RISC Software Company
 I would have put a disclaimer here but I already posted the article.