corba/make/Makefile
changeset 4 02bb8761fcce
child 2195 280b7d4be00d
equal deleted inserted replaced
0:fd16c54261b3 4:02bb8761fcce
       
     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 #
       
    25 
       
    26 #
       
    27 # Makefile for building the corba workspace.
       
    28 #
       
    29 
       
    30 BUILDDIR=.
       
    31 include $(BUILDDIR)/common/Defs.gmk
       
    32 include $(BUILDDIR)/common/CancelImplicits.gmk
       
    33 
       
    34 #----- commands
       
    35 
       
    36 CHMOD = chmod
       
    37 CP = cp
       
    38 ECHO = echo # FIXME
       
    39 FIND = find
       
    40 MKDIR = mkdir
       
    41 SED = sed
       
    42 ZIP = zip
       
    43 
       
    44 #-----  locations and deliverables
       
    45 
       
    46 TOPDIR=..
       
    47 SRC_BIN_DIR = $(TOPDIR)/src/share/bin
       
    48 SRC_CLASSES_DIR = $(TOPDIR)/src/share/classes
       
    49 
       
    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))
       
    60 
       
    61 CLASSES_DIR = $(BUILD_DIR)/classes
       
    62 GENSRC_DIR = $(BUILD_DIR)/gensrc
       
    63 
       
    64 BIN_DIR = $(DIST_DIR)/bin
       
    65 LIB_DIR = $(DIST_DIR)/lib
       
    66 
       
    67 #-----
       
    68 
       
    69 ifndef JDK_MAJOR_VERSION
       
    70   JDK_MAJOR_VERSION = 1
       
    71 endif
       
    72 
       
    73 ifndef JDK_MINOR_VERSION
       
    74   JDK_MINOR_VERSION = 7
       
    75 endif
       
    76 
       
    77 ifndef JDK_MICRO_VERSION
       
    78   JDK_MICRO_VERSION = 0
       
    79 endif
       
    80 
       
    81 ifndef JDK_VERSION
       
    82   JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
       
    83 endif
       
    84 
       
    85 ifndef MILESTONE
       
    86   MILESTONE = internal
       
    87 endif
       
    88 
       
    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
       
    95 
       
    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
       
   104 
       
   105 #----- useful macros
       
   106 
       
   107 SOURCE_LEVEL = 5
       
   108 BOOTSTRAP_TARGET_LEVEL = 5
       
   109 TARGET_LEVEL = 6
       
   110 
       
   111 ifndef TARGET_JAVA
       
   112   TARGET_JAVA = java
       
   113 endif
       
   114 
       
   115 NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true
       
   116 
       
   117 SELF = $(lastword $(MAKEFILE_LIST))
       
   118 
       
   119 # for jdk, we generate the following:
       
   120 # dist/lib/classes.jar:
       
   121 #       corba recompiled to run on the target JDK,
       
   122 #       ready for inclusion in rt.jar
       
   123 # dist/lib/src.zip
       
   124 #       .properties and .java files for classes in classes.jar,
       
   125 #       ready for jdk src.zip
       
   126 # dist/lib/bin.zip
       
   127 #       corba specific binaries: orb.idl, ir.idl
       
   128 
       
   129 # Default target
       
   130 default: all
       
   131 
       
   132 #----- classes.jar
       
   133 
       
   134 CLASSES_JAR = $(LIB_DIR)/classes.jar
       
   135 $(CLASSES_JAR):
       
   136 	$(MKDIR) -p $(@D)
       
   137 	$(BOOT_JAR_CMD) -cf $@ -C $(CLASSES_DIR) .
       
   138 
       
   139 #----- src.zip
       
   140 
       
   141 SRC_ZIP_FILES = $(shell $(FIND) $(SRC_CLASSES_DIR) \( -name SCCS -o -name \*-template \) -prune -o -type f -print )
       
   142 
       
   143 SRC_ZIP = $(LIB_DIR)/src.zip
       
   144 $(SRC_ZIP): $(SRC_ZIP_FILES)
       
   145 	abs_src_zip=`cd $(@D) ; pwd`/$(@F) ; \
       
   146 	( cd $(SRC_CLASSES_DIR) ; $(FIND) . \( -name SCCS -o -name \*-template \) -prune -o -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ; \
       
   147 	( cd $(GENSRC_DIR) ; $(FIND) . -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ;
       
   148 
       
   149 #----- bin.zip
       
   150 
       
   151 BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl
       
   152 
       
   153 BIN_ZIP = $(LIB_DIR)/bin.zip
       
   154 $(BIN_ZIP): $(BIN_ZIP_FILES)
       
   155 	abs_bin_zip=`cd $(@D) ; pwd`/$(@F) ; \
       
   156 	( cd $(BUILD_DIR) ; $(FIND) lib -name "*.idl" -print | $(ZIP) -q $$abs_bin_zip -@ ) ;
       
   157 
       
   158 #
       
   159 # CORBA
       
   160 #
       
   161 SUBDIRS = tools javax org sun com
       
   162 
       
   163 build:
       
   164 	$(SUBDIRS-loop)
       
   165 
       
   166 all : build $(CLASSES_JAR) $(SRC_ZIP) $(BIN_ZIP)
       
   167 
       
   168 clean clobber:
       
   169 	$(RM) -r $(BUILD_DIR)
       
   170 	$(RM) -r $(DIST_DIR)
       
   171 
       
   172 #-------------------------------------------------------------------
       
   173 #
       
   174 # Targets for Sun's internal JPRT build system
       
   175 
       
   176 CD = cd
       
   177 ZIP = zip
       
   178 
       
   179 JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
       
   180 
       
   181 jprt_build_product jprt_build_debug jprt_build_fastdebug: all
       
   182 	( $(CD) $(OUTPUTDIR) && \
       
   183 	  $(ZIP) -q -r $(JPRT_ARCHIVE_BUNDLE) build dist )
       
   184 
       
   185 #-------------------------------------------------------------------
       
   186 
       
   187 
       
   188 #
       
   189 # Phonies to avoid accidents.
       
   190 #
       
   191 .PHONY: all build clean clobber debug jprt_build_product jprt_build_debug jprt_build_fastdebug