make/Help.gmk
changeset 29662 78c47f0002c3
parent 28902 0c09b47449c8
child 29788 b581a3d9db41
equal deleted inserted replaced
29565:34ead0aa3d9d 29662:78c47f0002c3
       
     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)