7074397: Build infrastructure changes (makefile re-write)
Summary: New makefiles transition, old and new living side by side for now.
Reviewed-by: ohair, jjg, dholmes, ohrstrom, erikj, ihse, tgranat, ykantser
Contributed-by: ohrstrom <fredrik.ohrstrom@oracle.com>, erikj <erik.joelsson@oracle.com>, ihse <magnus.ihse.bursie@oracle.com>, tgranat <torbjorn.granat@oracle.com>, ykantser <yekaterina.kantserova@oracle.com>
## Copyright (c) 1995, 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# 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: allinclude $(SPEC)include MakeBase.gmkinclude JavaCompilation.gmkinclude NativeCompilation.gmk# Setup the java compilers for the JDK build.include Setup.gmk# Setup the build tools.include Tools.gmkall: $(BUILD_TOOLS) +make -f GenerateJavaSources.gmk# Drop back to the old makefiles for# packages/libs that have not yet been converted. +make -f LegacyMakefiles.gmk# Ok, now gensrc is fully populated. +make -f GenerateData.gmk +make -f CompileJavaClasses.gmk# The classes have been built, now generate# classes that have other sources. +make -f GenerateClasses.gmk# The classes are now built and# any javah files have now been generated. +make -f CompileNativeLibraries.gmk# Finally compile the launchers. +make -f CompileLaunchers.gmk# 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.gmkendif# Now copy the sample sources into the jdk.ifndef NO_SAMPLES +make -f CopySamples.gmkendif# Create the final jdk and jre images, to be wrapped up# into packages, or instealled.images: all +make $(IMAGES_MAKE_ARGS) -f Images.gmk 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# Create the deb,rpm,tgz,zip, packages.packages: images echo Creating packages...well, in the future. $(MKDIR) -p $(OUTPUT_ROOT)/packages.PHONY: all install