<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 3/25/25 08:57, Baesken, Matthias
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:AM9PR02MB67708DD524991626451A3E1193A72@AM9PR02MB6770.eurprd02.prod.outlook.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Aptos;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;
        mso-fareast-language:EN-US;}span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="en-DE"><o:p> </o:p></span></p>
        <p>> Did you try to run "<span lang="EN-US">make doctor"?<o:p></o:p></span></p>
        <p><span lang="EN-US" style="font-size:11.0pt">No .<o:p></o:p></span></p>
        <p><span lang="EN-US" style="font-size:11.0pt">(I have to
            confess I deleted some stuff from the builddir before) .</span></p>
      </div>
    </blockquote>
    <p>If you manually delete stuff from the builddir, you cannot expect
      incremental builds to work unless you know exactly what to delete.
      Make does track dependencies, but that only works really well when
      every file in the output is known and can be declared to be the
      result of a complete set of prerequisites (e.g. foo.c ->
      foo.o). Our build is far from this ideal. We have plenty of build
      steps where the makefiles cannot predict all the files that will
      be generated by a rule (e.g. Foo.java -> Foo.class,
      Foo$1.class, Foo$Internal.class etc). To work around this we use
      "touch files" or pick a particular known file in the output to
      declare the rule around. As long as files in the builddir are only
      deleted together with the appropriate touch files or as a group
      including the chosen target file, incremental builds should work.
      Knowing exactly how these groups are composited is hard however,
      so my recommendation is to stick to the existing clean targets
      unless you know for sure what to delete.</p>
    <p>/Erik<span style="mso-ligatures:none;mso-fareast-language:#2000"><o:p></o:p></span></p>
    <blockquote type="cite" cite="mid:AM9PR02MB67708DD524991626451A3E1193A72@AM9PR02MB6770.eurprd02.prod.outlook.com">
      <div class="WordSection1">
      </div>
    </blockquote>
  </body>
</html>