# # 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: all 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 all: $(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.gmk endif # Now copy the sample sources into the jdk. ifndef NO_SAMPLES +make -f CopySamples.gmk endif # 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