<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>On 2025-01-10 16:13, Archie Cobbs wrote:</p>
    <blockquote type="cite" cite="mid:CANSoFxv0wpGbfuft=+W-byhAe6Fv8227KQpXyTbZ1Y6BwWfViA@mail.gmail.com">
      
      <div dir="ltr">
        <div>Thanks for the input.</div>
        <br>
        <div>Also with some playing around I realized that "make
          print-targets" prints out every possible make target... of
          which there are 2453... :)</div>
      </div>
    </blockquote>
    <p>If you were to make all these targets, there would be a lot of
      redundancy, since e.g. the target `java` depends on the target
      `java.base-java`, etc.</p>
    <p>The conceptually "highest" level targets are the `*-bundles`
      targets. You can create all of them using `make all-bundles`. That
      would generate all output stages that are consumed by any
      downstream process, at least as we use it in Oracle. To save build
      time, for testing, you will most likely be satisfied with the
      `*-image` targets. Run `make all-images` to generate all known
      images. I guess that is the best answer to your question about
      "making everything".<br>
    </p>
    <p>Apart from these "leaf" targets, there are some other "leaves" as
      well. (Leaves as in that no other make target depends on them, so
      if the user does not specify them on the command line, they will
      not be executed.) These are for specialized stuff, like generating
      IDE configuration, running tests, or as you mentioned, the
      bootcycle-images target. (This is really just a somewhat weird and
      special case of testing, there the "test" in point is if the new
      JDK can pass the build system.)</p>
    <p>I guess it would have been an interesting addition to the build
      system to have it print all "leaf" targets; unfortunately I cannot
      really think of an easy way of doing this in make.</p>
    <p>/Magnus<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:CANSoFxv0wpGbfuft=+W-byhAe6Fv8227KQpXyTbZ1Y6BwWfViA@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>So to be more precise, I don't really want to "make
          everything", but rather make everything that makes use of the
          java compiler.</div>
        <div>
          <div><br>
          </div>
          <div>I've found there are lots of little tools and
            intermediate JAR files that are built and used for various
            things, for example, jrt-fs.jar, benchmarks.jar, etc.<br>
          </div>
          <div><br>
          </div>
        </div>
        <div>I'll stick with my ad hoc list for now, but of course any
          suggested additions are welcome.<br>
        </div>
        <div><br>
        </div>
        <div>Thanks,<br>
        </div>
        <div>-Archie<br>
        </div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Fri, Jan 10, 2025 at
          3:36 AM Aleksey Shipilev <<a href="mailto:shipilev@amazon.de" moz-do-not-send="true" class="moz-txt-link-freetext">shipilev@amazon.de</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On
          08.01.25 19:17, Archie Cobbs wrote:<br>
          > So what do people do when they want to "make everything"?<br>
          > <br>
          > FWIW I've been doing this:<br>
          > <br>
          > make<br>
          > make hotspot<br>
          > make static-libs-bundles<br>
          > make product-bundles<br>
          > make test-bundles<br>
          > make bootcycle-images<br>
          > <br>
          > but that list is just ad hoc and based mostly on past
          mistakes. Is there a more complete list that <br>
          > includes every make target that could possibly be
          affected by a change to the Java compiler?<br>
          <br>
          Well, I personally run `make bootcycle-images` if I want to
          make sure the newly-built JDK can build <br>
          itself. I think this is what you want to test compilers. It
          does not build test code, though.<br>
          <br>
          A conventional way to build everything should be `make all`,
          but I don't think it actually builds a <br>
          lot of targets in current build system. Consider submitting an
          RFE for infrastructure/build for it.<br>
          <br>
          -Aleksey<br>
          <br>
        </blockquote>
      </div>
      <div><br clear="all">
      </div>
      <br>
      <span class="gmail_signature_prefix">-- </span><br>
      <div dir="ltr" class="gmail_signature">Archie L. Cobbs<br>
      </div>
    </blockquote>
  </body>
</html>