bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Prerequisites not always used (possible overflow?)


From: Bernhard Mogens Ege
Subject: Prerequisites not always used (possible overflow?)
Date: Mon, 24 Nov 2003 19:30:07 +0100

Hello

I am using make in a somewhat different manner in that I am using it
to keep track of the processing of a lot of images. This worked fine,
but when I got too many images, make silently began to behave
differently.

I have this rule (the complete rule is not shown) and my problem is
that make doesn't assign any path to %.od.txt and %.fovea.txt:

$(MASKDIR)/%.cropodmask.hips.bz2:       $(REDUCED4DIR)/%.cropreduced4.hips 
$(MASKDIR)/%.cropmeanmask.hips.bz2 %.od.txt %.fovea.txt
        echo $(word 1,$^) $(word 2,$^) $(word 3,$^) $(word 4,$^) ;\
        ox=`cat $(word 3,$^) | cut -f1 -d\ ` ;\
        oy=`cat $(word 3,$^) | cut -f2 -d\ ` ;\
        fx=`cat $(word 4,$^) | cut -f1 -d\ ` ;\
        fy=`cat $(word 4,$^) | cut -f2 -d\ ` ;\

Running make:

echo /diabvision/tmp/reduced4/1-0493-10.cropreduced4.hips 
/diabvision/tmp/mask/1-0493-10.cropmeanmask.hips.bz2   ;\
ox=`cat  | cut -f1 -d\ ` ;\
oy=`cat  | cut -f2 -d\ ` ;\
fx=`cat  | cut -f1 -d\ ` ;\
fy=`cat  | cut -f2 -d\ ` ;\

I figured that either make should assign a path to %.od.txt and
%.fovea.txt or loudly complain. It does neither. It did work fine when
fewer images were present. VPATH points to the folder where .fovea.txt
and .od.txt files are placed.

If I run the same make like this:

make /diabvision/tmp/mask/1-0493-10.cropodmask.hips.bz2

Prerequisites are finished first (also happened in the situation
above) and this is the result:

echo /diabvision/tmp/reduced4/1-0493-10.cropreduced4.hips 
/diabvision/tmp/mask/1-0493-10.cropmeanmask.hips.bz2 
/diabvision/images/sequence/toke/marking/1-0493-10.od.txt 
/diabvision/images/sequence/toke/marking/1-0493-10.fovea.txt ;\
ox=`cat /diabvision/images/sequence/toke/marking/1-0493-10.od.txt | cut -f1 -d\ 
` ;\
oy=`cat /diabvision/images/sequence/toke/marking/1-0493-10.od.txt | cut -f2 -d\ 
` ;\
fx=`cat /diabvision/images/sequence/toke/marking/1-0493-10.fovea.txt | cut -f1 
-d\ ` ;\
fy=`cat /diabvision/images/sequence/toke/marking/1-0493-10.fovea.txt | cut -f2 
-d\ ` ;\

Running make with -d shows that make knows what to do:

        Finished prerequisites of target file 
`/diabvision/tmp/mask/1-0493-10.cropodmask.hips.bz2'.
       Must remake target `/diabvision/tmp/mask/1-0493-10.cropodmask.hips.bz2'.
echo /diabvision/tmp/reduced4/1-0493-10.cropreduced4.hips 
/diabvision/tmp/mask/1-0493-10.cropmeanmask.hips.bz2   ;\
ox=`cat  | cut -f1 -d\ ` ;\
oy=`cat  | cut -f2 -d\ ` ;\
fx=`cat  | cut -f1 -d\ ` ;\
fy=`cat  | cut -f2 -d\ ` ;\

I have approx 250 images. I generate several images and data files
from each of them.

The entire makefile is approx 19K.

make --version
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i386-redhat-linux-gnu
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <address@hidden>.

I am running RedHat 8.

Any idea based on the information so far?

regards,

Bernhard Ege

-- 
 Bernhard Mogens Ege, M.Sc.E.E.                E-mail:        address@hidden
 Dept. of Health Science and Technology        Direct call:   +45 96 35 87 77
 Aalborg University                            Switchboard:   +45 96 35 80 80
 Frederik Bajers Vej 7, D1-202                 Fax:           +45 98 15 40 08
 DK-9220 Aalborg East                            http://www.hst.auc.dk/~bme
------------------------------------------------------------------------------
Home: Hadsund Landevej 454, DK-9260 Gistrup, Phone: +45 96365086, +45 51905086




reply via email to

[Prev in Thread] Current Thread [Next in Thread]