|
1 # |
|
2 # Copyright (c) 2012, 2015, 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 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) |
|
43 $(info $(_) make <phase> # Build the specified phase and everything it depends on) |
|
44 $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic)) |
|
45 $(info $(_) make *-only # Applies to most targets and disables compling the) |
|
46 $(info $(_) # dependencies for the target. This is faster but may) |
|
47 $(info $(_) # result in incorrect build results!) |
|
48 $(info $(_) make docs # Create all docs) |
|
49 $(info $(_) make docs-javadoc # Create just javadocs, depends on less than full docs) |
|
50 $(info $(_) make profiles # Create complete jre compact profile images) |
|
51 $(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK) |
|
52 $(info $(_) make install # Install the generated images locally) |
|
53 $(info $(_) make reconfigure # Rerun configure with the same arguments as last time) |
|
54 $(info $(_) make help # Give some help on using make) |
|
55 $(info $(_) make test # Run tests, default is all tests (see TEST below)) |
|
56 $(info ) |
|
57 $(info Targets for cleaning) |
|
58 $(info $(_) make clean # Remove all files generated by make, but not those) |
|
59 $(info $(_) # generated by configure) |
|
60 $(info $(_) make dist-clean # Remove all files, including configuration) |
|
61 $(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name) |
|
62 $(info $(_) make clean-<phase> # Remove all build results related to a certain build) |
|
63 $(info $(_) # phase (gensrc, java, libs, launchers)) |
|
64 $(info $(_) make clean-<module> # Remove all build results related to a certain module) |
|
65 $(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain) |
|
66 $(info $(_) # module and phase) |
|
67 $(info ) |
|
68 $(info Targets for specific modules) |
|
69 $(info $(_) make <module> # Build <module> and everything it depends on) |
|
70 $(info $(_) make <module>-<phase> # Compile the specified phase for the specified module) |
|
71 $(info $(_) # and everything it depends on) |
|
72 $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic)) |
|
73 $(info ) |
|
74 $(info Make control variables) |
|
75 $(info $(_) CONF= # Build all configurations (note, assignment is empty)) |
|
76 $(info $(_) CONF=<substring> # Build the configuration(s) with a name matching) |
|
77 $(info $(_) # <substring>) |
|
78 $(info $(_) SPEC=<spec file> # Build the configuration given by the spec file) |
|
79 $(info $(_) LOG=<loglevel> # Change the log level from warn to <loglevel>) |
|
80 $(info $(_) # Available log levels are:) |
|
81 $(info $(_) # 'warn' (default), 'info', 'debug' and 'trace') |
|
82 $(info $(_) # To see executed command lines, use LOG=debug) |
|
83 $(info $(_) JOBS=<n> # Run <n> parallel make jobs) |
|
84 $(info $(_) # Note that -jN does not work as expected!) |
|
85 $(info $(_) CONF_CHECK=<method> # What to do if spec file is out of date) |
|
86 $(info $(_) # method is 'auto', 'ignore' or 'fail' (default)) |
|
87 $(info $(_) make test TEST=<test> # Only run the given test or tests, e.g.) |
|
88 $(info $(_) # make test TEST="jdk_lang jdk_net") |
|
89 $(info ) |
|
90 $(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\ |
|
91 $(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration)) |
|
92 # We need a dummy rule otherwise make will complain |
|
93 @true |
|
94 |
|
95 print-targets: |
|
96 $(if $(any_spec_file), ,\ |
|
97 @echo "Note: More targets will be available when at least one configuration exists." 1>&2\ |
|
98 ) |
|
99 @echo $(ALL_TARGETS) |
|
100 |
|
101 print-modules: |
|
102 $(if $(any_spec_file), \ |
|
103 @$(MAKE) -s -f $(topdir)/make/Main.gmk -I $(topdir)/make/common SPEC=$(any_spec_file) print-modules \ |
|
104 , \ |
|
105 @echo print-modules can currently only be run when at least one configuration exists \ |
|
106 ) |
|
107 |
|
108 print-configurations: |
|
109 $(foreach var, $(all_confs), $(info $(var))) |
|
110 # We need a dummy rule otherwise make will complain |
|
111 @true |
|
112 |
|
113 ALL_GLOBAL_TARGETS := help print-modules print-targets print-configurations |
|
114 |
|
115 .PHONY: $(ALL_GLOBAL_TARGETS) |