Jam refuses to rebuild missing target
2008-09-08 12:15:58 GMT
jam -dm yields the following output:
make -- <.>source/Common/PythonBinding/AdfPy_wrap.cxx
bind -- <.>source/Common/PythonBinding/AdfPy_wrap.cxx: source/Common/PythonBinding/AdfPy_wrap.cxx
time -- <.>source/Common/PythonBinding/AdfPy_wrap.cxx: missing
make -- <.>source/Common/Adf/AdfPy.i
bind -- <.>source/Common/Adf/AdfPy.i: source/Common/Adf/AdfPy.i
time -- <.>source/Common/Adf/AdfPy.i: Tue Sep 2 15:17:37 2008
made* newer <.>source/Common/Adf/AdfPy.i
made+ missing <.>source/Common/PythonBinding/AdfPy_wrap.cxx
Here are the relevant portions of the Jamfile:
rule Swig
{
Depends all : $(1) ;
Depends $(1) : $(1:G=.) ;
Depends $(1) : $(2) ;
Depends $(1:G=.) : $(2:G=.) ;
Clean clean : $(1) ;
if $(PLATFORM) = Linux || $(PLATFORM) = PS3
{
SWIG_BIN on $(1) = $(SWIG_PATH)/Linux/bin/swig ;
}
else
{
SWIG_BIN on $(1) = $(SWIG_PATH)\\Win32\\bin\\swig.exe ;
}
SWIG_FLAGS on $(1) = $(4) ;
SWIG_OUT_DIR on $(1) = $(3) ;
}
actions Swig
{
$(SWIG_BIN) -c++ -python -noexcept $(SWIG_FLAGS) -outdir $(SWIG_OUT_DIR) -o $(1) $(2)
}
if $(PLATFORM) = Linux || $(PLATFORM) = Win32
{
Swig [ FDirName source Common PythonBinding AdfPy_wrap.cxx ] : [ FDirName source Common Adf AdfPy.i ] : common : "-D$(PLATFORM:U) -Isource/Common -Iinclude" ;
}
(The added <.> grist and extra dependency relations are a workaround for another problem. Source files without this added grist used to not be found at all by Jam, causing builds to fail.)
Obviously from the -dm log one can tell that there is a proper dependency between the targets <.>source/Common/PythonBinding/AdfPy_wrap.cxx and <.>source/Common/Adf/AdfPy.i, but even though Jam detects this and finds that the former file is missing, whereas the second one is not, it simply refuses to rebuild the dependant target, proceeding instead with a cryptic “made+ missing …” entry in the -dm log. Does anyone have an inkling what may be the cause of this strange behaviour?
I should perhaps also mention that this only happens sometimes. The very same code build behaved just fine just a few hours ago, and I’m not sure what may have changed on my local workstation since then to break it.
Thankful for any assistance,
Ludvig Svenonius
Build engineer
Avalanche Studios
_______________________________________________ jamming mailing list - jamming <at> perforce.com http://maillist.perforce.com/mailman/listinfo/jamming
RSS Feed