Makefile revision 239
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# This code is free software; you can redistribute it and/or modify it
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# under the terms of the GNU General Public License version 2 only, as
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# published by the Free Software Foundation. Oracle designates this
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# particular file as subject to the "Classpath" exception as provided
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# by Oracle in the LICENSE file that accompanied this code.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# This code is distributed in the hope that it will be useful, but WITHOUT
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# version 2 for more details (a copy is included in the LICENSE file that
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# accompanied this code).
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# You should have received a copy of the GNU General Public License version
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# 2 along with this work; if not, write to the Free Software Foundation,
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
489b7c4ab76ae8df137fbfcc2214f7baa52883a0Raymond Chen# or visit www.oracle.com if you need additional information or have any
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# questions.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
e2c88f0c2610f16de7b639746b40dea5f3e2256eGarrett D'Amore
e2c88f0c2610f16de7b639746b40dea5f3e2256eGarrett D'Amore#
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# Makefile for building the corba workspace.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzBUILDDIR=.
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzinclude $(BUILDDIR)/common/Defs.gmk
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzinclude $(BUILDDIR)/common/CancelImplicits.gmk
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#----- commands
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzCHMOD = chmod
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzCP = cp
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzECHO = echo # FIXME
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzFIND = find
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzMKDIR = mkdir
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzSED = sed
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzZIP = zip
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#----- locations and deliverables
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsTOPDIR=..
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsSRC_BIN_DIR = $(TOPDIR)/src/share/bin
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzSRC_CLASSES_DIR = $(TOPDIR)/src/share/classes
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifdef ALT_OUTPUTDIR
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz OUTPUTDIR = $(ALT_OUTPUTDIR)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz BUILD_DIR = $(ALT_OUTPUTDIR)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz DIST_DIR = $(ALT_OUTPUTDIR)/dist
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzelse
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz OUTPUTDIR = ..
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz BUILD_DIR = $(TOPDIR)/build/$(PLATFORM)-$(ARCH)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz DIST_DIR = $(TOPDIR)/dist
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzendif
c138f478d2bc94e73ab8f6a084e323bec25e62f5yzABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR))
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzCLASSES_DIR = $(BUILD_DIR)/classes
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzGENSRC_DIR = $(BUILD_DIR)/gensrc
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzLIB_DIR = $(DIST_DIR)/lib
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#-----
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifndef JDK_MAJOR_VERSION
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz JDK_MAJOR_VERSION = 1
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifndef JDK_MINOR_VERSION
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz JDK_MINOR_VERSION = 7
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsendif
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifndef JDK_MICRO_VERSION
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits JDK_MICRO_VERSION = 0
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifndef JDK_VERSION
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifndef MILESTONE
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz MILESTONE = internal
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifneq ($(MILESTONE),fcs)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz RELEASE = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzelse
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz RELEASE = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweendif
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifdef BUILD_NUMBER
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzelse
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz BUILD_NUMBER = b00
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#----- useful macros
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
bf56214c0556fa6864189c826d39dbe156bb22a0stevelSOURCE_LEVEL = 5
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzBOOTSTRAP_TARGET_LEVEL = 5
e2c88f0c2610f16de7b639746b40dea5f3e2256eGarrett D'Amore
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzifdef TARGET_CLASS_VERSION
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz TARGET_LEVEL = $(TARGET_CLASS_VERSION)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzelse
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz TARGET_LEVEL = 7
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsifndef TARGET_JAVA
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz TARGET_JAVA = java
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzendif
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzSELF = $(lastword $(MAKEFILE_LIST))
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits# for jdk, we generate the following:
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits# dist/lib/classes.jar:
bf56214c0556fa6864189c826d39dbe156bb22a0stevel# corba recompiled to run on the target JDK,
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# ready for inclusion in rt.jar
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# dist/lib/src.zip
bf56214c0556fa6864189c826d39dbe156bb22a0stevel# .properties and .java files for classes in classes.jar,
bf56214c0556fa6864189c826d39dbe156bb22a0stevel# ready for jdk src.zip
bf56214c0556fa6864189c826d39dbe156bb22a0stevel# dist/lib/bin.zip
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits# corba specific binaries: orb.idl, ir.idl
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz# Default target
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzdefault: all
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits#----- classes.jar
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997fritsCLASSES_JAR = $(LIB_DIR)/classes.jar
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz$(CLASSES_JAR):
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz $(MKDIR) -p $(@D)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz $(BOOT_JAR_CMD) -cf $@ -C $(CLASSES_DIR) .
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz#----- src.zip
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzSRC_ZIP_FILES = $(shell $(FIND) $(SRC_CLASSES_DIR) \( -name \*-template \) -prune -o -type f -print )
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
60b08185ce63023f22fd6b2ed0db8c0d119b2023yzSRC_ZIP = $(LIB_DIR)/src.zip
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz$(SRC_ZIP): $(SRC_ZIP_FILES)
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz abs_src_zip=`cd $(@D) ; pwd`/$(@F) ; \
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz ( cd $(SRC_CLASSES_DIR) ; $(FIND) . \( -name \*-template \) -prune -o -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ; \
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz ( cd $(GENSRC_DIR) ; $(FIND) . -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ;
60b08185ce63023f22fd6b2ed0db8c0d119b2023yz
#----- bin.zip
BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl
BIN_ZIP = $(LIB_DIR)/bin.zip
$(BIN_ZIP): $(BIN_ZIP_FILES)
abs_bin_zip=`cd $(@D) ; pwd`/$(@F) ; \
( cd $(BUILD_DIR) ; $(FIND) lib -name "*.idl" -print | $(ZIP) -q $$abs_bin_zip -@ ) ;
#
# CORBA
#
SUBDIRS = tools javax org sun com
build:
$(SUBDIRS-loop)
all : build $(CLASSES_JAR) $(SRC_ZIP) $(BIN_ZIP)
clean clobber:
$(RM) -r $(BUILD_DIR)
$(RM) -r $(DIST_DIR)
#-------------------------------------------------------------------
#
# Targets for Sun's internal JPRT build system
CD = cd
ZIP = zip
JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
jprt_build_product jprt_build_debug jprt_build_fastdebug: all
( $(CD) $(OUTPUTDIR) && \
$(ZIP) -q -r $(JPRT_ARCHIVE_BUNDLE) build dist )
#-------------------------------------------------------------------
#
# Phonies to avoid accidents.
#
.PHONY: all build clean clobber debug jprt_build_product jprt_build_debug jprt_build_fastdebug