--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/make/Help.gmk Thu Mar 26 16:17:30 2015 +0100
@@ -0,0 +1,115 @@
+#
+# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+###
+### Global targets for printing help etc.
+###
+
+# Helper macro to allow $(info) to properly print strings beginning with spaces.
+_:=
+
+help:
+ $(info )
+ $(info OpenJDK Makefile help)
+ $(info =====================)
+ $(info )
+ $(info Common make targets)
+ $(info $(_) make [default] # Compile all modules in langtools, hotspot, jdk, jaxws,)
+ $(info $(_) # jaxp and corba, and create a runnable "exploded" image)
+ $(info $(_) make all # Compile everything, all repos, docs and images)
+ $(info $(_) make images # Create complete jdk and jre images)
+ $(info $(_) make <phase> # Build the specified phase and everything it depends on)
+ $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
+ $(info $(_) make *-only # Applies to most targets and disables compling the)
+ $(info $(_) # dependencies for the target. This is faster but may)
+ $(info $(_) # result in incorrect build results!)
+ $(info $(_) make docs # Create all docs)
+ $(info $(_) make docs-javadoc # Create just javadocs, depends on less than full docs)
+ $(info $(_) make profiles # Create complete jre compact profile images)
+ $(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK)
+ $(info $(_) make install # Install the generated images locally)
+ $(info $(_) make reconfigure # Rerun configure with the same arguments as last time)
+ $(info $(_) make help # Give some help on using make)
+ $(info $(_) make test # Run tests, default is all tests (see TEST below))
+ $(info )
+ $(info Targets for cleaning)
+ $(info $(_) make clean # Remove all files generated by make, but not those)
+ $(info $(_) # generated by configure)
+ $(info $(_) make dist-clean # Remove all files, including configuration)
+ $(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
+ $(info $(_) make clean-<phase> # Remove all build results related to a certain build)
+ $(info $(_) # phase (gensrc, java, libs, launchers))
+ $(info $(_) make clean-<module> # Remove all build results related to a certain module)
+ $(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
+ $(info $(_) # module and phase)
+ $(info )
+ $(info Targets for specific modules)
+ $(info $(_) make <module> # Build <module> and everything it depends on)
+ $(info $(_) make <module>-<phase> # Compile the specified phase for the specified module)
+ $(info $(_) # and everything it depends on)
+ $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
+ $(info )
+ $(info Make control variables)
+ $(info $(_) CONF= # Build all configurations (note, assignment is empty))
+ $(info $(_) CONF=<substring> # Build the configuration(s) with a name matching)
+ $(info $(_) # <substring>)
+ $(info $(_) SPEC=<spec file> # Build the configuration given by the spec file)
+ $(info $(_) LOG=<loglevel> # Change the log level from warn to <loglevel>)
+ $(info $(_) # Available log levels are:)
+ $(info $(_) # 'warn' (default), 'info', 'debug' and 'trace')
+ $(info $(_) # To see executed command lines, use LOG=debug)
+ $(info $(_) JOBS=<n> # Run <n> parallel make jobs)
+ $(info $(_) # Note that -jN does not work as expected!)
+ $(info $(_) CONF_CHECK=<method> # What to do if spec file is out of date)
+ $(info $(_) # method is 'auto', 'ignore' or 'fail' (default))
+ $(info $(_) make test TEST=<test> # Only run the given test or tests, e.g.)
+ $(info $(_) # make test TEST="jdk_lang jdk_net")
+ $(info )
+ $(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
+ $(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration))
+ # We need a dummy rule otherwise make will complain
+ @true
+
+print-targets:
+ $(if $(any_spec_file), ,\
+ @echo "Note: More targets will be available when at least one configuration exists." 1>&2\
+ )
+ @echo $(ALL_TARGETS)
+
+print-modules:
+ $(if $(any_spec_file), \
+ @$(MAKE) -s -f $(topdir)/make/Main.gmk -I $(topdir)/make/common SPEC=$(any_spec_file) print-modules \
+ , \
+ @echo print-modules can currently only be run when at least one configuration exists \
+ )
+
+print-configurations:
+ $(foreach var, $(all_confs), $(info $(var)))
+ # We need a dummy rule otherwise make will complain
+ @true
+
+ALL_GLOBAL_TARGETS := help print-modules print-targets print-configurations
+
+.PHONY: $(ALL_GLOBAL_TARGETS)