make/Makefile

Thu, 23 Apr 2009 15:54:45 -0700

author
xdono
date
Thu, 23 Apr 2009 15:54:45 -0700
changeset 67
aa147fe5f386
parent 52
db35452e8965
child 83
2752d8bd4142
permissions
-rw-r--r--

Added tag jdk7-b56 for changeset 553a664b807b

     1 #
     2 # Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.  Sun designates this
     8 # particular file as subject to the "Classpath" exception as provided
     9 # by Sun in the LICENSE file that accompanied this code.
    10 #
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14 # version 2 for more details (a copy is included in the LICENSE file that
    15 # accompanied this code).
    16 #
    17 # You should have received a copy of the GNU General Public License version
    18 # 2 along with this work; if not, write to the Free Software Foundation,
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20 #
    21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    22 # CA 95054 USA or visit www.sun.com if you need additional information or
    23 # have any questions.
    24 #
    26 #
    27 # Makefile for building the corba workspace.
    28 #
    30 BUILDDIR=.
    31 include $(BUILDDIR)/common/Defs.gmk
    32 include $(BUILDDIR)/common/CancelImplicits.gmk
    34 #----- commands
    36 CHMOD = chmod
    37 CP = cp
    38 ECHO = echo # FIXME
    39 FIND = find
    40 MKDIR = mkdir
    41 SED = sed
    42 ZIP = zip
    44 #-----  locations and deliverables
    46 TOPDIR=..
    47 SRC_BIN_DIR = $(TOPDIR)/src/share/bin
    48 SRC_CLASSES_DIR = $(TOPDIR)/src/share/classes
    50 ifdef ALT_OUTPUTDIR
    51   OUTPUTDIR = $(ALT_OUTPUTDIR)
    52   BUILD_DIR = $(ALT_OUTPUTDIR)
    53   DIST_DIR = $(ALT_OUTPUTDIR)/dist
    54 else
    55   OUTPUTDIR = ..
    56   BUILD_DIR = $(TOPDIR)/build/$(PLATFORM)-$(ARCH)
    57   DIST_DIR = $(TOPDIR)/dist
    58 endif
    59 ABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR))
    61 CLASSES_DIR = $(BUILD_DIR)/classes
    62 GENSRC_DIR = $(BUILD_DIR)/gensrc
    64 BIN_DIR = $(DIST_DIR)/bin
    65 LIB_DIR = $(DIST_DIR)/lib
    67 #-----
    69 ifndef JDK_MAJOR_VERSION
    70   JDK_MAJOR_VERSION = 1
    71 endif
    73 ifndef JDK_MINOR_VERSION
    74   JDK_MINOR_VERSION = 7
    75 endif
    77 ifndef JDK_MICRO_VERSION
    78   JDK_MICRO_VERSION = 0
    79 endif
    81 ifndef JDK_VERSION
    82   JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
    83 endif
    85 ifndef MILESTONE
    86   MILESTONE = internal
    87 endif
    89 # RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set
    90 ifneq ($(MILESTONE),fcs)
    91   RELEASE       = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
    92 else
    93   RELEASE       = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
    94 endif
    96 # FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
    97 ifdef BUILD_NUMBER
    98   FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
    99 else
   100   BUILD_NUMBER = b00
   101   USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`)
   102   FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
   103 endif
   105 #----- useful macros
   107 SOURCE_LEVEL = 5
   108 BOOTSTRAP_TARGET_LEVEL = 5
   109 TARGET_LEVEL = 6
   111 ifndef TARGET_JAVA
   112   TARGET_JAVA = java
   113 endif
   115 SELF = $(lastword $(MAKEFILE_LIST))
   117 # for jdk, we generate the following:
   118 # dist/lib/classes.jar:
   119 #       corba recompiled to run on the target JDK,
   120 #       ready for inclusion in rt.jar
   121 # dist/lib/src.zip
   122 #       .properties and .java files for classes in classes.jar,
   123 #       ready for jdk src.zip
   124 # dist/lib/bin.zip
   125 #       corba specific binaries: orb.idl, ir.idl
   127 # Default target
   128 default: all
   130 #----- classes.jar
   132 CLASSES_JAR = $(LIB_DIR)/classes.jar
   133 $(CLASSES_JAR):
   134 	$(MKDIR) -p $(@D)
   135 	$(BOOT_JAR_CMD) -cf $@ -C $(CLASSES_DIR) .
   137 #----- src.zip
   139 SRC_ZIP_FILES = $(shell $(FIND) $(SRC_CLASSES_DIR) \( -name SCCS -o -name \*-template \) -prune -o -type f -print )
   141 SRC_ZIP = $(LIB_DIR)/src.zip
   142 $(SRC_ZIP): $(SRC_ZIP_FILES)
   143 	abs_src_zip=`cd $(@D) ; pwd`/$(@F) ; \
   144 	( cd $(SRC_CLASSES_DIR) ; $(FIND) . \( -name SCCS -o -name \*-template \) -prune -o -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ; \
   145 	( cd $(GENSRC_DIR) ; $(FIND) . -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ;
   147 #----- bin.zip
   149 BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl
   151 BIN_ZIP = $(LIB_DIR)/bin.zip
   152 $(BIN_ZIP): $(BIN_ZIP_FILES)
   153 	abs_bin_zip=`cd $(@D) ; pwd`/$(@F) ; \
   154 	( cd $(BUILD_DIR) ; $(FIND) lib -name "*.idl" -print | $(ZIP) -q $$abs_bin_zip -@ ) ;
   156 #
   157 # CORBA
   158 #
   159 SUBDIRS = tools javax org sun com
   161 build:
   162 	$(SUBDIRS-loop)
   164 all : build $(CLASSES_JAR) $(SRC_ZIP) $(BIN_ZIP)
   166 clean clobber:
   167 	$(RM) -r $(BUILD_DIR)
   168 	$(RM) -r $(DIST_DIR)
   170 #-------------------------------------------------------------------
   171 #
   172 # Targets for Sun's internal JPRT build system
   174 CD = cd
   175 ZIP = zip
   177 JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
   179 jprt_build_product jprt_build_debug jprt_build_fastdebug: all
   180 	( $(CD) $(OUTPUTDIR) && \
   181 	  $(ZIP) -q -r $(JPRT_ARCHIVE_BUNDLE) build dist )
   183 #-------------------------------------------------------------------
   186 #
   187 # Phonies to avoid accidents.
   188 #
   189 .PHONY: all build clean clobber debug jprt_build_product jprt_build_debug jprt_build_fastdebug

mercurial