jdk/makefiles/Makefile
changeset 13702 efd6a05935b2
parent 13164 72c5d01a857d
child 14231 a0c23c1c010f
--- a/jdk/makefiles/Makefile	Wed Jul 05 18:22:17 2017 +0200
+++ b/jdk/makefiles/Makefile	Tue Sep 18 11:29:24 2012 -0700
@@ -26,6 +26,11 @@
 # This must be the first rule
 default: all
 
+# Inclusion of this pseudo-target will cause make to execute this file
+# serially, regardless of -j. Recursively called makefiles will not be
+# affected, however. This is required for correct dependency management.
+.NOTPARALLEL:
+
 include $(SPEC)
 include MakeBase.gmk
 include JavaCompilation.gmk
@@ -37,39 +42,72 @@
 # Setup the build tools.
 include Tools.gmk
 
-all: $(BUILD_TOOLS)
+import: $(BUILD_TOOLS) import-only
+import-only:
 #       Import (corba jaxp jaxws langtools hotspot)
 	+$(MAKE) -f Import.gmk
-#
+
+gensrc: import gensrc-only
+gensrc-only:
 	+$(MAKE) -f GenerateJavaSources.gmk
 #       Ok, now gensrc is fully populated.
+
+gendata: gensrc gendata-only
+gendata-only:
 	+$(MAKE) -f GenerateData.gmk
+
+classes: gendata classes-only
+classes-only:
 	+$(MAKE) -f CompileJavaClasses.gmk
 #       The classes are now built and
 #       any javah files have now been generated.
+
+libs: classes libs-only
+libs-only:
 	+$(MAKE) -f CompileNativeLibraries.gmk
+
+launchers: libs launchers-only
+launchers-only:
 #       Finally compile the launchers.
 	+$(MAKE) -f CompileLaunchers.gmk
+
+genclasses: launchers genclasses-only
+genclasses-only:
 #	Generate classes that have other sources. Needs
 #       to execute launchers.
 	+$(MAKE) -f GenerateClasses.gmk
+
+demos: genclasses demos-only
+demos-only:
 #       Now we have a complete jdk, which you can run.
 #       It is not yet wrapped up as an installed image.
 #       The demos are compiled against this jdk.
 ifndef NO_DEMOS
 	+$(MAKE) -f CompileDemos.gmk
 endif
+
+samples: demos samples-only
+samples-only:
 #	Now copy the sample sources into the jdk.
 ifndef NO_SAMPLES
 	+$(MAKE) -f CopySamples.gmk
 endif
 
+# The all target builds the JDK, but not the images
+all: import gensrc gendata classes libs launchers genclasses demos samples
+
+.PHONY: all images install overlay-images import-only gensrc-only gendata-only classes-only 
+.PHONY: libs-only launchers-only genclasses-only demos-only samples-only
+
 # Create the final jdk and jre images, to be wrapped up
 # into packages, or installed.
 images:
 	+$(MAKE) -f CreateJars.gmk
 	+$(MAKE) -f Images.gmk 
 
+overlay-images:
+	+$(MAKE) -f CompileLaunchers.gmk OVERLAY_IMAGES=true
+	+$(MAKE) -f Images.gmk overlay-images
 
 BINARIES:=$(shell if test -d $(IMAGES_OUTPUTDIR)/j2sdk-image/bin; then cd $(IMAGES_OUTPUTDIR)/j2sdk-image/bin && $(LS) ; fi)
 INSTALLDIR:=openjdk-$(RELEASE)
@@ -84,5 +122,3 @@
 	$(CP) -rp $(IMAGES_OUTPUTDIR)/j2sdk-image/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
 	$(RM) $(addprefix $(INSTALL_PREFIX)/bin/,$(BINARIES))
 	$(foreach b,$(BINARIES),$(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true
-
-.PHONY: all install images