73
74 interim-langtools:
75 +($(CD) $(LANGTOOLS_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterim.gmk)
76
77 interim-rmic:
78 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
79
80 interim-cldrconverter:
81 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
82
83 buildtools-jdk:
84 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileTools.gmk)
85 endif
86
87 ALL_TARGETS += buildtools-langtools interim-langtools \
88 interim-rmic interim-cldrconverter buildtools-jdk
89
90 ################################################################################
91 # Special targets for certain modules
92
93 import-hotspot:
94 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Import.gmk)
95
96 unpack-sec:
97 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UnpackSecurity.gmk)
98
99 generate-exported-symbols:
100 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildStatic.gmk)
101
102 ALL_TARGETS += import-hotspot unpack-sec generate-exported-symbols
103
104 ################################################################################
105 # Gensrc targets, generating source before java compilation can be done
106 #
107 # When creating a BUILDJDK, the java targets have already been built and copied
108 # into the buildjdk so no need to generate sources.
109 ifneq ($(CREATING_BUILDJDK), true)
110 $(eval $(call DeclareRecipesForPhase, GENSRC, \
111 TARGET_SUFFIX := gensrc, \
112 FILE_PREFIX := Gensrc, \
113 MAKE_SUBDIR := gensrc, \
114 CHECK_MODULES := $(ALL_MODULES), \
115 MULTIPLE_MAKEFILES := true))
116
117 JDK_GENSRC_TARGETS := $(filter %-gensrc-jdk, $(GENSRC_TARGETS))
118 LANGTOOLS_GENSRC_TARGETS := $(filter %-gensrc-langtools, $(GENSRC_TARGETS))
119 CORBA_GENSRC_TARGETS := $(filter %-gensrc-corba, $(GENSRC_TARGETS))
120 HOTSPOT_GENSRC_TARGETS := $(filter %-gensrc-hotspot, $(GENSRC_TARGETS))
121
122 GENSRC_MODULEINFO_MODULES := $(ALL_MODULES)
249 ################################################################################
250 # Build demos and samples targets
251
252 demos-jdk:
253 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk)
254
255 samples-jdk:
256 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopySamples.gmk)
257
258 ALL_TARGETS += demos-jdk samples-jdk
259
260 ################################################################################
261 # Jigsaw specific data and analysis targets.
262
263 generate-summary:
264 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) -f GenerateModuleSummary.gmk)
265
266 ALL_TARGETS += generate-summary
267
268 ################################################################################
269 # Strip binaries targets
270
271 STRIP_MODULES := $(sort $(LIBS_MODULES) $(LAUNCHER_MODULES) $(COPY_MODULES) \
272 $(GENDATA_MODULES))
273 STRIP_TARGETS := $(addsuffix -strip, $(STRIP_MODULES))
274
275 define DeclareStripRecipe
276 $1-strip:
277 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f StripBinaries.gmk \
278 MODULE=$1)
279 endef
280
281 $(foreach m, $(STRIP_MODULES), $(eval $(call DeclareStripRecipe,$m)))
282
283 ALL_TARGETS += $(STRIP_TARGETS)
284
285 ################################################################################
286 # Jmod targets
287
288 JMOD_MODULES := $(ALL_MODULES)
289 JMOD_TARGETS := $(addsuffix -jmod, $(JMOD_MODULES))
290
291 define DeclareJmodRecipe
292 $1-jmod:
293 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CreateJmods.gmk \
294 MODULE=$1)
295 endef
296
297 $(foreach m, $(JMOD_MODULES), $(eval $(call DeclareJmodRecipe,$m)))
298
299 ALL_TARGETS += $(JMOD_TARGETS)
300
301 ################################################################################
302 # Images targets
303
304 # Stores the tips for each repository. This file is be used when constructing
305 # the jdk image and can be used to track the exact sources used to build that
314
315 BOOTCYCLE_TARGET := product-images
316 bootcycle-images:
317 ifneq ($(COMPILE_TYPE), cross)
318 $(call LogWarn, Boot cycle build step 2: Building a new JDK image using previously built image)
319 +$(MAKE) -f $(SRC_ROOT)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \
320 JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
321 else
322 $(call LogWarn, Boot cycle build disabled when cross compiling)
323 endif
324
325 zip-security:
326 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f ZipSecurity.gmk)
327
328 zip-source:
329 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f ZipSource.gmk)
330
331 jrtfs-jar:
332 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f JrtfsJar.gmk)
333
334 jimages:
335 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jimages)
336
337 profiles:
338 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk profiles)
339
340 mac-bundles-jdk:
341 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk)
342
343 ALL_TARGETS += source-tips create-hgtip-files bootcycle-images zip-security \
344 zip-source jrtfs-jar jimages profiles mac-bundles-jdk
345
346 ################################################################################
347 # Docs targets
348
349 docs-javadoc:
350 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs)
351
352 docs-jvmtidoc:
353 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk jvmtidocs)
354
355 zip-docs:
356 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk zip-docs)
357
358 ALL_TARGETS += docs-javadoc docs-jvmtidoc zip-docs
359
360 ################################################################################
361 # Cross compilation support
362
363 ifeq ($(CREATING_BUILDJDK), true)
364 # This target is only called by the recursive call below.
522 buildtools-jdk: interim-langtools interim-cldrconverter
523
524 $(CORBA_GENSRC_TARGETS): interim-langtools
525
526 $(HOTSPOT_GENSRC_TARGETS): interim-langtools
527
528 $(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk
529
530 $(GENSRC_MODULEINFO_TARGETS): buildtools-jdk
531
532 $(GENDATA_TARGETS): interim-langtools buildtools-jdk
533
534 interim-rmic: interim-langtools
535
536 $(RMIC_TARGETS): interim-langtools interim-rmic
537
538 $(JAVA_TARGETS): interim-langtools
539
540 hotspot-ide-project: hotspot exploded-image
541
542 import-hotspot: hotspot
543
544 generate-exported-symbols: java.base-libs jdk.jdwp.agent-libs
545
546 $(LIBS_TARGETS): import-hotspot
547
548 $(LAUNCHER_TARGETS): java.base-libs
549
550 ifeq ($(STATIC_BUILD), true)
551 $(LAUNCHER_TARGETS): generate-exported-symbols
552 endif
553
554 # The demos are currently linking to libjvm and libjava, just like all other
555 # jdk libs, even though they don't need to. To avoid warnings, make sure they
556 # aren't built until after libjava and libjvm are available to link to.
557 demos-jdk: $(JAVA_TARGETS)
558
559 # Declare dependency from <module>-java to <module>-gensrc
560 $(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc))
561
562 # Declare dependencies between java modules
563 $(foreach m, $(JAVA_MODULES), \
564 $(eval $m-java: $(addsuffix -java, $(filter $(JAVA_MODULES), \
565 $(call FindDepsForModule,$m)))))
566
581
582 # jdk.accessibility depends on java.desktop
583 jdk.accessibility-libs: java.desktop-libs
584
585 # This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a
586 # header file used by jdk.jdwp.agent-libs. The jdk.jdwp.agent-gensrc is a
587 # virtual target.
588 jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
589
590 # The swing beans need to have java base properly generated to avoid errors
591 # in javadoc.
592 java.desktop-gensrc-jdk: java.base-gensrc
593
594 # The annotation processing for jdk.vm.ci needs java.base classes from the
595 # current JDK.
596 jdk.vm.ci-gensrc-hotspot: java.base-java
597
598 # Explicitly add dependencies for special targets
599 java.base-java: unpack-sec
600
601 # The copy target copies files generated by gensrc
602 java.base-copy-hotspot: java.base-gensrc-hotspot
603
604 jdk.jdeps-gendata: java rmic
605
606 # Declare dependencies from <module>-strip to libs, launchers, gendata and copy
607 $(foreach m, $(LIBS_MODULES), $(eval $m-strip: $m-libs))
608 $(foreach m, $(LAUNCHER_MODULES), $(eval $m-strip: $m-launchers))
609 $(foreach m, $(GENDATA_MODULES), $(eval $m-strip: $m-gendata))
610 $(foreach m, $(COPY_MODULES), $(eval $m-strip: $m-copy))
611
612 # Declare dependencies between jmod targets. Only java.base jmod needs access
613 # to the other jmods to be built.
614 # When creating a BUILDJDK, we don't need to add hashes to java.base, thus
615 # we don't need to depend on all other jmods
616 ifneq ($(CREATING_BUILDJDK), true)
617 java.base-jmod: $(filter-out java.base-jmod \
618 $(addsuffix -jmod, $(call FindAllUpgradeableModules)), $(JMOD_TARGETS))
619 endif
620
621 # Declare dependencies from <module>-jmod to all other module targets
622 $(foreach m, $(STRIP_MODULES), $(eval $m-jmod: $m-strip))
623 # When creating a BUILDJDK, the java compilation has already been done by the
624 # normal build and copied in.
625 ifneq ($(CREATING_BUILDJDK), true)
626 $(foreach m, $(JAVA_MODULES), $(eval $m-jmod: $m-java))
627 endif
628 $(foreach m, $(GENDATA_MODULES), $(eval $m-jmod: $m-gendata))
629 $(foreach m, $(RMIC_MODULES), $(eval $m-jmod: $m-rmic))
630 $(foreach m, $(LIBS_MODULES), $(eval $m-jmod: $m-libs))
631 $(foreach m, $(LAUNCHER_MODULES), $(eval $m-jmod: $m-launchers))
632 $(foreach m, $(COPY_MODULES), $(eval $m-jmod: $m-copy))
633
634 # Jmods cannot be created until we have the jlink tool ready to run, which requires
635 # all java modules to be compiled and jdk.jlink-launchers.
636 # And we also need to copy jvm.cfg (done in java.base-copy) and tzdb.dat (done in
637 # java.base-gendata) to the appropriate location otherwise jimage, jlink and jmod won't start.
638 $(JMOD_TARGETS): java.base-libs java.base-copy java.base-gendata jdk.jlink-launchers
639 # When creating a BUILDJDK, the java compilation has already been done by the
640 # normal build and copied in.
641 ifneq ($(CREATING_BUILDJDK), true)
642 $(JMOD_TARGETS): java
651
652 zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
653 $(filter jdk.crypto%, $(JAVA_TARGETS))
654
655 zip-source: gensrc rmic
656
657 jrtfs-jar: interim-langtools
658
659 ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
660 ifeq ($(CREATE_BUILDJDK), true)
661 # If creating a buildjdk, the interim image needs to be based on that.
662 generate-classlist: create-buildjdk
663 else ifeq ($(EXTERNAL_BUILDJDK), false)
664 # If an external buildjdk has been provided, we skip generating an
665 # interim-image and just use the external buildjdk for generating
666 # classlist.
667 generate-classlist: interim-image
668 endif
669 generate-classlist: buildtools-jdk
670
671 jimages: generate-classlist
672 endif
673
674 jimages: jmods zip-source source-tips demos samples jrtfs-jar
675
676 profiles: jmods zip-source source-tips jrtfs-jar
677
678 mac-bundles-jdk: jimages
679
680 bootcycle-images: jimages
681
682 docs-javadoc: $(GENSRC_TARGETS) rmic
683
684 docs-jvmtidoc: hotspot
685
686 zip-docs: docs-javadoc docs-jvmtidoc
687
688 test: jimages test-image
689
690 create-buildjdk-copy: jdk.jlink-java java.base-gendata \
691 $(addsuffix -java, $(INTERIM_IMAGE_MODULES))
692
693 create-buildjdk-interim-image: create-buildjdk-copy
694
695 interim-image: $(addsuffix -jmod, $(INTERIM_IMAGE_MODULES))
696
697 test-make: clean-test-make
698
699 build-test-lib: java
700
701 build-test-failure-handler: interim-langtools
702
703 test-failure-handler: build-test-failure-handler
704
705 test-image-failure-handler: build-test-failure-handler
706
707 build-test-hotspot-jtreg-native: buildtools-jdk import-hotspot
708
709 build-test-jdk-jtreg-native: buildtools-jdk
710
711 test-image-hotspot-jtreg-native: build-test-hotspot-jtreg-native
712
713 test-image-jdk-jtreg-native: build-test-jdk-jtreg-native
714
715 test-image-hotspot-gtest: hotspot
716
717 test-hotspot-internal: exploded-image
718
719 test-hotspot-jtreg: jimages test-image
720
721 test-hotspot-gtest: exploded-image test-image-hotspot-gtest
722
723 install: product-images
724
725 product-bundles: product-images
726
727 test-bundles: test-image
728
729 docs-bundles: docs-image
730
731 generate-summary: jmods
732
733 endif
734
735 ################################################################################
736 # Virtual targets without recipes
737
738 buildtools: buildtools-langtools interim-langtools interim-rmic \
739 buildtools-jdk
740
741 gensrc: $(GENSRC_TARGETS)
742
743 gendata: $(GENDATA_TARGETS)
744
745 copy: $(ALL_COPY_TARGETS)
746
747 java: $(JAVA_TARGETS)
748
749 rmic: $(RMIC_TARGETS)
750
751 libs: $(LIBS_TARGETS)
752
753 launchers: $(LAUNCHER_TARGETS)
754
755 jmods: $(JMOD_TARGETS)
756
757 strip-binaries: $(STRIP_TARGETS)
758
759 # Explicitly declare dependency for virtual target jdk.jdwp.agent-gensrc which
760 # is actually handled by jdk.jdi-gensrc
761 jdk.jdwp.agent-gensrc: jdk.jdi-gensrc
762
763 # Declare dependencies from <module> to all the individual targets specific
764 # to that module <module>-*, that are needed for the exploded image.
765 $(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc))
766 $(foreach m, $(JAVA_MODULES), $(eval $m: $m-java))
767 $(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata))
768 $(foreach m, $(RMIC_MODULES), $(eval $m: $m-rmic))
769 $(foreach m, $(LIBS_MODULES), $(eval $m: $m-libs))
770 $(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers))
771 $(foreach m, $(ALL_COPY_MODULES), $(eval $m: $m-copy))
772 demos: demos-jdk
773
774 samples: samples-jdk
775
776 # The "exploded image" is a locally runnable JDK in $(BUILD_OUTPUT)/jdk.
777 exploded-image: $(ALL_MODULES)
778
779 create-buildjdk: create-buildjdk-copy create-buildjdk-interim-image
780
781 mac-bundles: mac-bundles-jdk
782
783 # The $(BUILD_OUTPUT)/images directory contain the resulting deliverables,
784 # and in line with this, our targets for creating these are named *-image[s].
785
786 # This target builds the product images, e.g. the JRE and JDK image
787 # (and possibly other, more specific versions)
788 product-images: jimages demos samples zip-security exploded-image
789
790 # The module summary cannot be run when:
791 # * Cross compiling and building a partial BUILDJDK for the build host
792 # * An external buildjdk has been supplied since it may not match the
793 # module selection of the target jdk
794 ifneq ($(CREATE_BUILDJDK), true)
795 ifeq ($(EXTERNAL_BUILDJDK), false)
796 product-images: generate-summary
797 endif
798 endif
799
800 ifeq ($(OPENJDK_TARGET_OS), macosx)
801 product-images: mac-bundles
802 endif
803
804 # This target builds the documentation image
805 docs-image: docs-javadoc docs-jvmtidoc
806
807 # This target builds the test image
808 test-image: prepare-test-image test-image-hotspot-jtreg-native \
|
73
74 interim-langtools:
75 +($(CD) $(LANGTOOLS_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterim.gmk)
76
77 interim-rmic:
78 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
79
80 interim-cldrconverter:
81 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
82
83 buildtools-jdk:
84 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileTools.gmk)
85 endif
86
87 ALL_TARGETS += buildtools-langtools interim-langtools \
88 interim-rmic interim-cldrconverter buildtools-jdk
89
90 ################################################################################
91 # Special targets for certain modules
92
93 unpack-sec:
94 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UnpackSecurity.gmk)
95
96 generate-exported-symbols:
97 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildStatic.gmk)
98
99 ALL_TARGETS += unpack-sec generate-exported-symbols
100
101 ################################################################################
102 # Gensrc targets, generating source before java compilation can be done
103 #
104 # When creating a BUILDJDK, the java targets have already been built and copied
105 # into the buildjdk so no need to generate sources.
106 ifneq ($(CREATING_BUILDJDK), true)
107 $(eval $(call DeclareRecipesForPhase, GENSRC, \
108 TARGET_SUFFIX := gensrc, \
109 FILE_PREFIX := Gensrc, \
110 MAKE_SUBDIR := gensrc, \
111 CHECK_MODULES := $(ALL_MODULES), \
112 MULTIPLE_MAKEFILES := true))
113
114 JDK_GENSRC_TARGETS := $(filter %-gensrc-jdk, $(GENSRC_TARGETS))
115 LANGTOOLS_GENSRC_TARGETS := $(filter %-gensrc-langtools, $(GENSRC_TARGETS))
116 CORBA_GENSRC_TARGETS := $(filter %-gensrc-corba, $(GENSRC_TARGETS))
117 HOTSPOT_GENSRC_TARGETS := $(filter %-gensrc-hotspot, $(GENSRC_TARGETS))
118
119 GENSRC_MODULEINFO_MODULES := $(ALL_MODULES)
246 ################################################################################
247 # Build demos and samples targets
248
249 demos-jdk:
250 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk)
251
252 samples-jdk:
253 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopySamples.gmk)
254
255 ALL_TARGETS += demos-jdk samples-jdk
256
257 ################################################################################
258 # Jigsaw specific data and analysis targets.
259
260 generate-summary:
261 +($(CD) $(JDK_TOPDIR)/make && $(MAKE) -f GenerateModuleSummary.gmk)
262
263 ALL_TARGETS += generate-summary
264
265 ################################################################################
266 # Jmod targets
267
268 JMOD_MODULES := $(ALL_MODULES)
269 JMOD_TARGETS := $(addsuffix -jmod, $(JMOD_MODULES))
270
271 define DeclareJmodRecipe
272 $1-jmod:
273 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CreateJmods.gmk \
274 MODULE=$1)
275 endef
276
277 $(foreach m, $(JMOD_MODULES), $(eval $(call DeclareJmodRecipe,$m)))
278
279 ALL_TARGETS += $(JMOD_TARGETS)
280
281 ################################################################################
282 # Images targets
283
284 # Stores the tips for each repository. This file is be used when constructing
285 # the jdk image and can be used to track the exact sources used to build that
294
295 BOOTCYCLE_TARGET := product-images
296 bootcycle-images:
297 ifneq ($(COMPILE_TYPE), cross)
298 $(call LogWarn, Boot cycle build step 2: Building a new JDK image using previously built image)
299 +$(MAKE) -f $(SRC_ROOT)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \
300 JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
301 else
302 $(call LogWarn, Boot cycle build disabled when cross compiling)
303 endif
304
305 zip-security:
306 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f ZipSecurity.gmk)
307
308 zip-source:
309 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f ZipSource.gmk)
310
311 jrtfs-jar:
312 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f JrtfsJar.gmk)
313
314 product-images-jdk:
315 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jdk)
316
317 product-images-jre:
318 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jre)
319
320 product-images-symbols:
321 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
322
323 profiles:
324 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk profiles)
325
326 mac-bundles-jdk:
327 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk)
328
329 ALL_TARGETS += source-tips create-hgtip-files bootcycle-images zip-security \
330 zip-source jrtfs-jar product-images-jdk product-images-jre \
331 product-images-symbols profiles mac-bundles-jdk
332
333 ################################################################################
334 # Docs targets
335
336 docs-javadoc:
337 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs)
338
339 docs-jvmtidoc:
340 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk jvmtidocs)
341
342 zip-docs:
343 +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk zip-docs)
344
345 ALL_TARGETS += docs-javadoc docs-jvmtidoc zip-docs
346
347 ################################################################################
348 # Cross compilation support
349
350 ifeq ($(CREATING_BUILDJDK), true)
351 # This target is only called by the recursive call below.
509 buildtools-jdk: interim-langtools interim-cldrconverter
510
511 $(CORBA_GENSRC_TARGETS): interim-langtools
512
513 $(HOTSPOT_GENSRC_TARGETS): interim-langtools
514
515 $(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk
516
517 $(GENSRC_MODULEINFO_TARGETS): buildtools-jdk
518
519 $(GENDATA_TARGETS): interim-langtools buildtools-jdk
520
521 interim-rmic: interim-langtools
522
523 $(RMIC_TARGETS): interim-langtools interim-rmic
524
525 $(JAVA_TARGETS): interim-langtools
526
527 hotspot-ide-project: hotspot exploded-image
528
529 generate-exported-symbols: java.base-libs jdk.jdwp.agent-libs
530
531 $(LIBS_TARGETS): hotspot
532
533 $(LAUNCHER_TARGETS): java.base-libs
534
535 ifeq ($(STATIC_BUILD), true)
536 $(LAUNCHER_TARGETS): generate-exported-symbols
537 endif
538
539 # The demos are currently linking to libjvm and libjava, just like all other
540 # jdk libs, even though they don't need to. To avoid warnings, make sure they
541 # aren't built until after libjava and libjvm are available to link to.
542 demos-jdk: $(JAVA_TARGETS)
543
544 # Declare dependency from <module>-java to <module>-gensrc
545 $(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc))
546
547 # Declare dependencies between java modules
548 $(foreach m, $(JAVA_MODULES), \
549 $(eval $m-java: $(addsuffix -java, $(filter $(JAVA_MODULES), \
550 $(call FindDepsForModule,$m)))))
551
566
567 # jdk.accessibility depends on java.desktop
568 jdk.accessibility-libs: java.desktop-libs
569
570 # This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a
571 # header file used by jdk.jdwp.agent-libs. The jdk.jdwp.agent-gensrc is a
572 # virtual target.
573 jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
574
575 # The swing beans need to have java base properly generated to avoid errors
576 # in javadoc.
577 java.desktop-gensrc-jdk: java.base-gensrc
578
579 # The annotation processing for jdk.vm.ci needs java.base classes from the
580 # current JDK.
581 jdk.vm.ci-gensrc-hotspot: java.base-java
582
583 # Explicitly add dependencies for special targets
584 java.base-java: unpack-sec
585
586 jdk.jdeps-gendata: java rmic
587
588 # Declare dependencies between jmod targets. Only java.base jmod needs access
589 # to the other jmods to be built.
590 # When creating a BUILDJDK, we don't need to add hashes to java.base, thus
591 # we don't need to depend on all other jmods
592 ifneq ($(CREATING_BUILDJDK), true)
593 java.base-jmod: $(filter-out java.base-jmod \
594 $(addsuffix -jmod, $(call FindAllUpgradeableModules)), $(JMOD_TARGETS))
595 endif
596
597 # Declare dependencies from <module>-jmod to all other module targets
598 # When creating a BUILDJDK, the java compilation has already been done by the
599 # normal build and copied in.
600 ifneq ($(CREATING_BUILDJDK), true)
601 $(foreach m, $(JAVA_MODULES), $(eval $m-jmod: $m-java))
602 endif
603 $(foreach m, $(GENDATA_MODULES), $(eval $m-jmod: $m-gendata))
604 $(foreach m, $(RMIC_MODULES), $(eval $m-jmod: $m-rmic))
605 $(foreach m, $(LIBS_MODULES), $(eval $m-jmod: $m-libs))
606 $(foreach m, $(LAUNCHER_MODULES), $(eval $m-jmod: $m-launchers))
607 $(foreach m, $(COPY_MODULES), $(eval $m-jmod: $m-copy))
608
609 # Jmods cannot be created until we have the jlink tool ready to run, which requires
610 # all java modules to be compiled and jdk.jlink-launchers.
611 # And we also need to copy jvm.cfg (done in java.base-copy) and tzdb.dat (done in
612 # java.base-gendata) to the appropriate location otherwise jimage, jlink and jmod won't start.
613 $(JMOD_TARGETS): java.base-libs java.base-copy java.base-gendata jdk.jlink-launchers
614 # When creating a BUILDJDK, the java compilation has already been done by the
615 # normal build and copied in.
616 ifneq ($(CREATING_BUILDJDK), true)
617 $(JMOD_TARGETS): java
626
627 zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
628 $(filter jdk.crypto%, $(JAVA_TARGETS))
629
630 zip-source: gensrc rmic
631
632 jrtfs-jar: interim-langtools
633
634 ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
635 ifeq ($(CREATE_BUILDJDK), true)
636 # If creating a buildjdk, the interim image needs to be based on that.
637 generate-classlist: create-buildjdk
638 else ifeq ($(EXTERNAL_BUILDJDK), false)
639 # If an external buildjdk has been provided, we skip generating an
640 # interim-image and just use the external buildjdk for generating
641 # classlist.
642 generate-classlist: interim-image
643 endif
644 generate-classlist: buildtools-jdk
645
646 product-images-jdk product-images-jre: generate-classlist
647 endif
648
649 product-images-jdk: jmods zip-source source-tips demos samples jrtfs-jar
650 product-images-jre: jmods source-tips jrtfs-jar
651
652 profiles: jmods zip-source source-tips jrtfs-jar
653
654 mac-bundles-jdk: product-images-jdk product-images-jre
655
656 bootcycle-images: product-images-jdk
657
658 docs-javadoc: $(GENSRC_TARGETS) rmic
659
660 docs-jvmtidoc: hotspot
661
662 zip-docs: docs-javadoc docs-jvmtidoc
663
664 test: product-images-jdk test-image
665
666 create-buildjdk-copy: jdk.jlink-java java.base-gendata \
667 $(addsuffix -java, $(INTERIM_IMAGE_MODULES))
668
669 create-buildjdk-interim-image: create-buildjdk-copy
670
671 interim-image: $(addsuffix -jmod, $(INTERIM_IMAGE_MODULES))
672
673 test-make: clean-test-make
674
675 build-test-lib: java
676
677 build-test-failure-handler: interim-langtools
678
679 test-failure-handler: build-test-failure-handler
680
681 test-image-failure-handler: build-test-failure-handler
682
683 build-test-hotspot-jtreg-native: buildtools-jdk hotspot
684
685 build-test-jdk-jtreg-native: buildtools-jdk
686
687 test-image-hotspot-jtreg-native: build-test-hotspot-jtreg-native
688
689 test-image-jdk-jtreg-native: build-test-jdk-jtreg-native
690
691 test-image-hotspot-gtest: hotspot
692
693 test-hotspot-internal: exploded-image
694
695 test-hotspot-jtreg: product-images-jdk test-image
696
697 test-hotspot-gtest: exploded-image test-image-hotspot-gtest
698
699 install: product-images
700
701 product-bundles: product-images
702
703 test-bundles: test-image
704
705 docs-bundles: docs-image
706
707 generate-summary: jmods
708
709 endif
710
711 ################################################################################
712 # Virtual targets without recipes
713
714 buildtools: buildtools-langtools interim-langtools interim-rmic \
715 buildtools-jdk
716
717 gensrc: $(GENSRC_TARGETS)
718
719 gendata: $(GENDATA_TARGETS)
720
721 copy: $(ALL_COPY_TARGETS)
722
723 java: $(JAVA_TARGETS)
724
725 rmic: $(RMIC_TARGETS)
726
727 libs: $(LIBS_TARGETS)
728
729 launchers: $(LAUNCHER_TARGETS)
730
731 jmods: $(JMOD_TARGETS)
732
733 # Explicitly declare dependency for virtual target jdk.jdwp.agent-gensrc which
734 # is actually handled by jdk.jdi-gensrc
735 jdk.jdwp.agent-gensrc: jdk.jdi-gensrc
736
737 # Declare dependencies from <module> to all the individual targets specific
738 # to that module <module>-*, that are needed for the exploded image.
739 $(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc))
740 $(foreach m, $(JAVA_MODULES), $(eval $m: $m-java))
741 $(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata))
742 $(foreach m, $(RMIC_MODULES), $(eval $m: $m-rmic))
743 $(foreach m, $(LIBS_MODULES), $(eval $m: $m-libs))
744 $(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers))
745 $(foreach m, $(ALL_COPY_MODULES), $(eval $m: $m-copy))
746 demos: demos-jdk
747
748 samples: samples-jdk
749
750 # The "exploded image" is a locally runnable JDK in $(BUILD_OUTPUT)/jdk.
751 exploded-image: $(ALL_MODULES)
752
753 create-buildjdk: create-buildjdk-copy create-buildjdk-interim-image
754
755 mac-bundles: mac-bundles-jdk
756
757 # The $(BUILD_OUTPUT)/images directory contain the resulting deliverables,
758 # and in line with this, our targets for creating these are named *-image[s].
759
760 # This target builds the product images, e.g. the JRE and JDK image
761 # (and possibly other, more specific versions)
762 product-images: product-images-jdk product-images-jre product-images-symbols \
763 zip-security exploded-image
764
765 # The module summary cannot be run when:
766 # * Cross compiling and building a partial BUILDJDK for the build host
767 # * An external buildjdk has been supplied since it may not match the
768 # module selection of the target jdk
769 ifneq ($(CREATE_BUILDJDK), true)
770 ifeq ($(EXTERNAL_BUILDJDK), false)
771 product-images: generate-summary
772 endif
773 endif
774
775 ifeq ($(OPENJDK_TARGET_OS), macosx)
776 product-images: mac-bundles
777 endif
778
779 # This target builds the documentation image
780 docs-image: docs-javadoc docs-jvmtidoc
781
782 # This target builds the test image
783 test-image: prepare-test-image test-image-hotspot-jtreg-native \
|