Help.gmk revision 2578:0bf994fa4ee5
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
33help:
34	$(info )
35	$(info OpenJDK Makefile help)
36	$(info =====================)
37	$(info )
38	$(info Common make targets)
39	$(info $(_) make [default]         # Compile all modules in langtools, hotspot, jdk, jaxws,)
40	$(info $(_)                        # jaxp and corba, and create a runnable "exploded" image)
41	$(info $(_) make all               # Compile everything, all repos, docs and images)
42	$(info $(_) make images            # Create complete jdk and jre images (alias for product-images))
43	$(info $(_) make <name>-image      # Build just the image (jdk, jre, test, docs etc))
44	$(info $(_) make <phase>           # Build the specified phase and everything it depends on)
45	$(info $(_)                        # (gensrc, java, copy, libs, launchers, gendata, rmic))
46	$(info $(_) make *-only            # Applies to most targets and disables compling the)
47	$(info $(_)                        # dependencies for the target. This is faster but may)
48	$(info $(_)                        # result in incorrect build results!)
49	$(info $(_) make docs              # Create all docs)
50	$(info $(_) make docs-jdk-api      # Create just JDK javadocs)
51	$(info $(_) make profiles          # Create complete jre compact profile images)
52	$(info $(_) make bootcycle-images  # Build images twice, second time with newly built JDK)
53	$(info $(_) make install           # Install the generated images locally)
54	$(info $(_) make reconfigure       # Rerun configure with the same arguments as last time)
55	$(info $(_) make help              # Give some help on using make)
56	$(info $(_) make test              # Run tests, default is all tests (see TEST below))
57	$(info $(_) make run-test-<test>   # Run test, e.g. run-test-tier1)
58	$(info $(_) make run-test TEST=<t> # Run test(s) given by TEST specification)
59	$(info )
60	$(info Targets for cleaning)
61	$(info $(_) make clean             # Remove all files generated by make, but not those)
62	$(info $(_)                        # generated by configure)
63	$(info $(_) make dist-clean        # Remove all files, including configuration)
64	$(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
65	$(info $(_) make clean-<phase>     # Remove all build results related to a certain build)
66	$(info $(_)                        # phase (gensrc, java, libs, launchers))
67	$(info $(_) make clean-<module>    # Remove all build results related to a certain module)
68	$(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
69	$(info $(_)                        # module and phase)
70	$(info )
71	$(info Targets for Hotspot)
72	$(info $(_) make hotspot           # Build all of hotspot)
73	$(info $(_) make hotspot-<variant> # Build just the specified jvm variant)
74	$(info $(_) make hotspot-gensrc    # Only build the gensrc part of hotspot)
75	$(info $(_) make hotspot-<variant>-<phase> # Build the specified phase for the specified module)
76	$(info )
77	$(info Targets for specific modules)
78	$(info $(_) make <module>          # Build <module> and everything it depends on)
79	$(info $(_) make <module>-<phase>  # Compile the specified phase for the specified module)
80	$(info $(_)                        # and everything it depends on)
81	$(info $(_)                        # (gensrc, java, copy, libs, launchers, gendata, rmic))
82	$(info )
83	$(info Make control variables)
84	$(info $(_) CONF=                  # Build all configurations (note, assignment is empty))
85	$(info $(_) CONF=<substring>       # Build the configuration(s) with a name matching)
86	$(info $(_)                        # <substring>)
87	$(info $(_) CONF_NAME=<string>     # Build the configuration with exactly the <string>)
88	$(info $(_) SPEC=<spec file>       # Build the configuration given by the spec file)
89	$(info $(_) LOG=<loglevel>         # Change the log level from warn to <loglevel>)
90	$(info $(_)                        # Available log levels are:)
91	$(info $(_)                        # 'warn' (default), 'info', 'debug' and 'trace')
92	$(info $(_)                        # To see executed command lines, use LOG=debug)
93	$(info $(_) JOBS=<n>               # Run <n> parallel make jobs)
94	$(info $(_)                        # Note that -jN does not work as expected!)
95	$(info $(_) TEST_JOBS=<n>          # Run <n> parallel test jobs)
96	$(info $(_) CONF_CHECK=<method>    # What to do if spec file is out of date)
97	$(info $(_)                        # method is 'auto', 'ignore' or 'fail' (default))
98	$(info $(_) make test TEST=<test>  # Only run the given test or tests, e.g.)
99	$(info $(_)                        # make test TEST="jdk_lang jdk_net")
100	$(info $(_) JTREG="OPT1=x;OPT2=y"  # Control the JTREG test harness for run-test)
101	$(info $(_) GTEST="OPT1=x;OPT2=y"  # Control the GTEST test harness for run-test)
102	$(info )
103	$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
104	    $(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
105        # We need a dummy rule otherwise make will complain
106	@true
107
108print-configurations:
109	$(foreach var, $(all_confs), $(info $(var)))
110        # We need a dummy rule otherwise make will complain
111	@true
112
113ALL_GLOBAL_TARGETS := help print-configurations
114
115.PHONY: $(ALL_GLOBAL_TARGETS)
116