--- a/jdk/makefiles/Makefile Wed Jul 05 18:26:51 2017 +0200
+++ b/jdk/makefiles/Makefile Fri Oct 26 14:23:29 2012 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,102 +23,27 @@
# questions.
#
-# 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
-include NativeCompilation.gmk
-
-# Setup the java compilers for the JDK build.
-include Setup.gmk
-
-# Setup the build tools.
-include Tools.gmk
-
-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.
+# Locate this Makefile
+ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
+ makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
+else
+ makefile_path:=$(lastword $(MAKEFILE_LIST))
+endif
+repo_dir:=$(patsubst %/makefiles/Makefile,%,$(makefile_path))
-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
+# What is the name of this subsystem (langtools, corba, etc)?
+subsystem_name:=$(notdir $(repo_dir))
-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
+# Try to locate top-level makefile
+top_level_makefile:=$(repo_dir)/../common/makefiles/Makefile
+ifneq ($(wildcard $(top_level_makefile)),)
+ $(info Will run $(subsystem_name) target on top-level Makefile)
+ $(info WARNING: This is a non-recommended way of building!)
+ $(info ===================================================)
+else
+ $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?)
+ $(error Build from top-level Makefile instead)
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)
-
-# Install the jdk image, in a very crude way. Not taking into
-# account, how to install properly on macosx or windows etc.
-install: images
- echo Installing jdk image into $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
- echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk.
- $(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
- $(RM) -r $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/*
- $(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
+all:
+ @$(MAKE) -f $(top_level_makefile) $(subsystem_name)