1 #
   2 # Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.  Oracle designates this
   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 ###
  27 ### Global targets for printing help etc.
  28 ###
  29 
  30 # Helper macro to allow $(info) to properly print strings beginning with spaces.
  31 _:=
  32 
  33 help:
  34         $(info )
  35         $(info OpenJDK Makefile help)
  36         $(info =====================)
  37         $(info )
  38         $(info Common make targets)
  39         $(info $(_) make [default]         # Compile all modules and create a runnable "exploded")
  40         $(info $(_)                        # image (alias for jdk or exploded-image))
  41         $(info $(_) make all               # Create all images: product, test, docs)
  42         $(info $(_)                        # (alias for all-images))
  43         $(info $(_) make images            # Create complete jdk and jre images)
  44         $(info $(_)                        # (alias for product-images))
  45         $(info $(_) make <name>-image      # Build just the image for any of: )
  46         $(info $(_)                        # jdk, jre, test, docs, symbols, profiles)
  47         $(info $(_) make <phase>           # Build the specified phase and everything it depends on)
  48         $(info $(_)                        # (gensrc, java, copy, libs, launchers, gendata, rmic))
  49         $(info $(_) make *-only            # Applies to most targets and disables building the)
  50         $(info $(_)                        # dependencies for that target. This is faster but may)
  51         $(info $(_)                        # result in incorrect build results!)
  52         $(info $(_) make docs              # Create all docs)
  53         $(info $(_) make docs-jdk-api      # Create just JDK javadocs)
  54         $(info $(_) make profiles          # Create complete jre compact profile images)
  55         $(info $(_) make bootcycle-images  # Build images twice, second time with newly built JDK)
  56         $(info $(_) make install           # Install the generated images locally)
  57         $(info $(_) make reconfigure       # Rerun configure with the same arguments as last time)
  58         $(info $(_) make help              # Give some help on using make)
  59         $(info $(_) make test              # Run tests, default is all tests (see TEST below))
  60         $(info $(_) make run-test-<test>   # Run test, e.g. run-test-tier1)
  61         $(info $(_) make run-test TEST=<t> # Run test(s) given by TEST specification)
  62         $(info $(_) make exploded-run-test TEST=<t> # Run test(s) on the exploded image instead of)
  63         $(info $(_)                        # the full jdk image)
  64         $(info )
  65         $(info Targets for cleaning)
  66         $(info $(_) make clean             # Remove all files generated by make, but not those)
  67         $(info $(_)                        # generated by configure)
  68         $(info $(_) make dist-clean        # Remove all files, including configuration)
  69         $(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
  70         $(info $(_) make clean-<phase>     # Remove all build results related to a certain build)
  71         $(info $(_)                        # phase (gensrc, java, libs, launchers))
  72         $(info $(_) make clean-<module>    # Remove all build results related to a certain module)
  73         $(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
  74         $(info $(_)                        # module and phase)
  75         $(info )
  76         $(info Targets for Hotspot)
  77         $(info $(_) make hotspot           # Build all of hotspot)
  78         $(info $(_) make hotspot-<variant> # Build just the specified jvm variant)
  79         $(info $(_) make hotspot-gensrc    # Only build the gensrc part of hotspot)
  80         $(info $(_) make hotspot-<variant>-<phase> # Build the specified phase for the variant)
  81         $(info )
  82         $(info Targets for specific modules)
  83         $(info $(_) make <module>          # Build <module> and everything it depends on)
  84         $(info $(_) make <module>-<phase>  # Compile the specified phase for the specified module)
  85         $(info $(_)                        # and everything it depends on)
  86         $(info $(_)                        # (gensrc, java, copy, libs, launchers, gendata, rmic))
  87         $(info )
  88         $(info Make control variables)
  89         $(info $(_) CONF=                  # Build all configurations (note, assignment is empty))
  90         $(info $(_) CONF=<substring>       # Build the configuration(s) with a name matching)
  91         $(info $(_)                        # <substring>)
  92         $(info $(_) CONF_NAME=<string>     # Build the configuration with exactly the <string>)
  93         $(info $(_) SPEC=<spec file>       # Build the configuration given by the spec file)
  94         $(info $(_) LOG=<loglevel>         # Change the log level from warn to <loglevel>)
  95         $(info $(_)                        # Available log levels are:)
  96         $(info $(_)                        # 'warn' (default), 'info', 'debug' and 'trace')
  97         $(info $(_)                        # To see executed command lines, use LOG=debug)
  98         $(info $(_) JOBS=<n>               # Run <n> parallel make jobs)
  99         $(info $(_)                        # Note that -jN does not work as expected!)
 100         $(info $(_) TEST_JOBS=<n>          # Run <n> parallel test jobs)
 101         $(info $(_) CONF_CHECK=<method>    # What to do if spec file is out of date)
 102         $(info $(_)                        # method is 'auto', 'ignore' or 'fail' (default))
 103         $(info $(_) make test TEST=<test>  # Only run the given test or tests, e.g.)
 104         $(info $(_)                        # make test TEST="jdk_lang jdk_net")
 105         $(info $(_) JTREG="OPT1=x;OPT2=y"  # Control the JTREG test harness for run-test)
 106         $(info $(_) GTEST="OPT1=x;OPT2=y"  # Control the GTEST test harness for run-test)
 107         $(info )
 108         $(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
 109             $(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
 110         # We need a dummy rule otherwise make will complain
 111         @true
 112 
 113 print-configurations:
 114         $(foreach var, $(all_confs), $(info $(var)))
 115         # We need a dummy rule otherwise make will complain
 116         @true
 117 
 118 # This is not really a "help" target, but it is a global target, and those are
 119 # all contained in this file.
 120 run-test-prebuilt:
 121         @( cd $(topdir) && \
 122             $(MAKE) --no-print-directory -r -R -I make/common/ -f make/RunTestsPrebuilt.gmk \
 123             run-test-prebuilt TEST="$(TEST)" )
 124 
 125 ALL_GLOBAL_TARGETS := help print-configurations run-test-prebuilt
 126 
 127 .PHONY: $(ALL_GLOBAL_TARGETS)