Commit https://github.com/openjdk/jdk21u-dev/commit/6efa88d40942fe4d451d38b1c4606fba821be30fm removed gmake install support. Add it back. --- jdk21u-jdk-21.0.11-ga/make/Global.gmk.old +++ jdk21u-jdk-21.0.11-ga/make/Global.gmk @@ -52,6 +52,7 @@ $(info $(_) make docs # Create all docs) $(info $(_) make docs-jdk-api # Create just JDK javadocs) $(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK) + $(info $(_) make install # Install the generated images locally) $(info $(_) make check # Run basic testing (currently tier1)) $(info $(_) make test- # Run test, e.g. test-tier1) $(info $(_) make test TEST= # Run test(s) given by TEST specification) --- jdk21u-jdk-21.0.11-ga/make/Main.gmk.old +++ jdk21u-jdk-21.0.11-ga/make/Main.gmk @@ -845,6 +845,14 @@ endif ################################################################################ +# Install targets + +$(eval $(call SetupTarget, install, \ + MAKEFILE := Install, \ + DEPS := product-images, \ +)) + +################################################################################ # # Dependency declarations between targets. # --- jdk21u-jdk-21.0.11-ga/make/autoconf/spec.gmk.in.old +++ jdk21u-jdk-21.0.11-ga/make/autoconf/spec.gmk.in @@ -818,6 +818,58 @@ ENABLE_PANDOC:=@ENABLE_PANDOC@ PANDOC_MARKDOWN_FLAG:=@PANDOC_MARKDOWN_FLAG@ + +#################################################### +# +# INSTALLATION +# + +# Common prefix for all installed files. Defaults to /usr/local, +# but /opt/myjdk is another common version. +INSTALL_PREFIX=@prefix@ + +# Directories containing architecture-dependent files should be relative to exec_prefix +INSTALL_EXECPREFIX=@exec_prefix@ + +# java,javac,javap etc are installed here. +INSTALL_BINDIR=@bindir@ + +# Read only architecture-independent data +INSTALL_DATADIR=@datadir@ + +# Root of above. +INSTALL_DATAROOTDIR=@datarootdir@ + +# Doc files, other than info and man. +INSTALL_DOCDIR=@docdir@ + +# Html documentation +INSTALL_HTMLDIR=@htmldir@ + +# Installing C header files, JNI headers for example. +INSTALL_INCLUDEDIR=@includedir@ + +# Installing library files.... +INSTALL_INCLUDEDIR=@libdir@ + +# Executables that other programs run. +INSTALL_LIBEXECDIR=@libexecdir@ + +# Locale-dependent but architecture-independent data, such as message catalogs. +INSTALL_LOCALEDIR=@localedir@ + +# Modifiable single-machine data +INSTALL_LOCALSTATEDIR=@localstatedir@ + +# Man pages +INSTALL_MANDIR=@mandir@ + +# Modifiable architecture-independent data. +INSTALL_SHAREDSTATEDIR=@sharedstatedir@ + +# Read-only single-machine data +INSTALL_SYSCONFDIR=@sysconfdir@ + #################################################### # # Libraries diff -Naur jdk21u-jdk-21.0.11-ga/make.old/Install.gmk jdk21u-jdk-21.0.11-ga/make/Install.gmk --- jdk21u-jdk-21.0.11-ga/make.old/Install.gmk +++ jdk21u-jdk-21.0.11-ga/make/Install.gmk @@ -0,0 +1,43 @@ +# +# Copyright (c) 2014, 2015, 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 +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +default: install + +include $(SPEC) + +BINARIES := $(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*)) +INSTALLDIR := openjdk-$(VERSION_SHORT) + +# Install the jdk image, in a very crude way. Not taking into +# account, how to install properly on macosx or windows etc. +install: + 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 $(JDK_IMAGE_DIR)/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR) + $(MKDIR) -p $(INSTALL_PREFIX)/bin + $(RM) $(addprefix $(INSTALL_PREFIX)/bin/, $(BINARIES)) + $(foreach b, $(BINARIES), $(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true