Apache OpenOffice (AOO) Bugzilla – Issue 62118
dmake complains about circular dependencies when using infered .INCLUDE targets
Last modified: 2013-08-07 15:34:52 UTC
This is asically issue 44902 but working on issue 61969 showed some interesting new aspects of the issue. The folowing makefile - - - inc_circ.mk - - - SHELL*:=/bin/sh SHELLFLAGS*:=-ce TARGET=mytarget %.dpcc : %.cpp @echo making: $@ # @+echo $@ : > $@ @+echo AA=123 > $@ .INCLUDE : $(TARGET).dpcc ALL : $(TARGET).dpcc - - - inc_circ.mk - - - shows the following output: $ rm -f mytarget.dpcc ; dmake/dmake.exe -r -f inc_circ.mk making: mytarget.dpcc dmake: inc_circ.mk: line 13: Error: -- Detected circular dependency in graph at [mytarget.dpcc] But if one moves the comment from line 8 to 9 the error vanishes. Or adding an empty target rule mytarget : after the .INCLUDE also helps. It's not a circular dependency, the problem is that F_VISITED and F_USED both have the same value but are used in different contexts. Making the include sets F_VISITED and thus creates the apparent circular dependency in the F_USED check. Having the included file as a target in an additional rule resets the F_USED setting. A lot of the *.dp* rules are "self healing" as they include something like: @+echo $@ : <something> >> $@
Created attachment 34202 [details] Patch for dmake/dmake.c
Committed a testcase (misc-8) to check for this problem to dmake43p01. Please not that the testcase from the first entry only works if you have a mytarget.cpp or remove the "%.cpp" part from the makefile.
Created attachment 34463 [details] Patch for dmake/dmake.c
Committed the previous patch to CWS dmake43p01. Reassigning for verification.
Committed -> FIXED @ause: Please verify!
oops... doesn't appear here as an issue of dmake43p01. patch is applied, sample works
.