bundle.mk
来自「This is a resource based on j2me embedde」· MK 代码 · 共 655 行 · 第 1/2 页
MK
655 行
## Copyright 1990-2008 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER # # This program 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. # # This program 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 at /legal/license.txt). # # 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 Sun Microsystems, Inc., 4150 Network Circle, Santa # Clara, CA 95054 or visit www.sun.com if you need additional # information or have any questions. ## @(#)bundle.mk 1.34 06/10/25## Makefile for building the source bundle.## Targets (default is src.zip):# src.zip: j2me source bundle. Renamed to <profile>-src.zip.# all: src.zip target## Options - defaults in parenthesis:# J2ME_CLASSLIB(cdc): profile to build source bundle for.# JAVAME_LEGAL_DIR: directory containing legal documents. If not set,# the makefiles will automatically do an svn checkout of the files.# from the respository. This will result in a password prompt if you# haven't already authenticated with the repository.# SRC_BUNDLE_NAME: name of the source bundle, excluding .zip extension.# Defaults to $(J2ME_CLASSLIB)-src# SRC_BUNDLE_DIRNAME: directory name the source bundle will unzip# into. Defaults to $(SRC_BUNDLE_NAME).# SRC_BUNDLE_APPEND_REVISION(true): Appends the repository# revision number to the end of SRC_BUNDLE_NAME.# BUNDLE_PORTS: OS/CPU ports to include (see below)# CVM_PRODUCT(oi): "oi" or "ri".# INCLUDE_JIT: true for oi builds. false for ri builds.# INCLUDE_DUALSTACK(false): Include cdc/cldc dual stack support.# INCLUDE_KNI(false): Include support for KNI methods# INCLUDE_COMMCONNECTION(true): Include CommConnection support.# INCLUDE_JCOV(false): Include support for JCOV# INCLUDE_MTASK: true for oi build. false for ri builds.# INCLUDE_GCI(false): Set true to include GCI makefiles# USE_CDC_COM(false): set true for commericial source bundles# CDC_COM_DIR: directory of cdc-com component## BUNDLE_PORTS lists all the ports to include in the source bundle using# the format <os>-<cpu>-<device>. Wildcards are supported, but you must# specify something for each of the 3 parts that make up the name of the# port. The following are examples of valid port names## BUNDLE_PORTS=linux-arm-netwinder# BUNDLE_PORTS="linux-arm-* linux-mips-*"# BUNDLE_PORTS="*-arm-*"# BUNDLE_PORTS="*-*-*"## Defaults for BUNDLE_PORTS are:## linux-x86-suse: for ri builds.# linux-arm-zaurus: for oi builds.# # Example invocation:# gmake -f bundle.mk all BUNDLE_PORTS="linux-arm-*" \# INCLUDE_DUALSTACK=true J2ME_CLASSLIB=cdc CVM_PRODUCT=oi#default: src.zipall: src.zipempty:=comma:= ,space:= $(empty) $(empty)ABSPATH = $(shell cd $(1); echo `pwd`)CVM_TOP := ../..CVM_TOP_ABS := $(call ABSPATH,$(CVM_TOP))INSTALLDIR := $(CVM_TOP_ABS)/installZIP = zipUSE_VERBOSE_MAKE = falseJ2ME_CLASSLIB = cdcSRC_BUNDLE_NAME = $(J2ME_CLASSLIB)-srcSRC_BUNDLE_DIRNAME = $(SRC_BUNDLE_NAME)# Add the svn revison number to SRC_BUNDLE_NAME if requested.SRC_BUNDLE_APPEND_REVISION = trueifeq ($(SRC_BUNDLE_APPEND_REVISION),true)ifneq ($(wildcard .svn),.svn)REVISION_NUMBER = UNKNOWNelseREVISION_NUMBER = \ $(shell svn info | grep "Revision:" | sed -e 's/Revision: \(.*\)/\1/')override SRC_BUNDLE_DIRNAME := $(SRC_BUNDLE_DIRNAME)-rev$(REVISION_NUMBER)override SRC_BUNDLE_NAME := $(SRC_BUNDLE_NAME)-rev$(REVISION_NUMBER)endifendifCVM_PRODUCT = oiINCLUDE_DUALSTACK = falseINCLUDE_KNI = $(INCLUDE_DUALSTACK)INCLUDE_COMMCONNECTION = trueINCLUDE_JCOV = falseINCLUDE_GCI = falseifeq ($(CVM_PRODUCT),ri)INCLUDE_JIT = falseINCLUDE_MTASK = falseelseINCLUDE_JIT = trueINCLUDE_MTASK = trueendif# If mtask is enabled, include up to basis.ifeq ($(INCLUDE_MTASK), true)ifeq ($(J2ME_CLASSLIB), cdc)override J2ME_CLASSLIB = basisendififeq ($(J2ME_CLASSLIB), foundation)override J2ME_CLASSLIB = basisendifendif# If dualstack is enabled, include up to foundation.ifeq ($(INCLUDE_DUALSTACK), true)ifeq ($(J2ME_CLASSLIB), cdc)override J2ME_CLASSLIB = foundationendifendif ifeq ($(J2ME_CLASSLIB),foundation)INCLUDE_foundation = trueendififeq ($(J2ME_CLASSLIB),basis)INCLUDE_foundation = trueINCLUDE_basis = trueendififeq ($(J2ME_CLASSLIB),personal)INCLUDE_foundation = trueINCLUDE_basis = trueINCLUDE_personal = trueendififneq ($(J2ME_CLASSLIB),cdc)ifneq ($(INCLUDE_foundation),true)$(error "Invalid setting for J2ME_CLASSLIB: \"$(J2ME_CLASSLIB)\"")endifendif## List all the ports you want to include in the source bundle using# the format <os>-<cpu>-<device>. Wildcards are supported, but you must# specify something for each of the 3 parts that makes up the name of the# port. The following are examples of valid port names:## linux-arm-netwinder# linux-arm-*# *-arm-*# *-*-*## If used on the command line and either more than one port is listed# or * is used, then the entire string must be in quotes. For example:## gnumake -f bundle.mk BUNDLE_PORTS="linux-arm-* linux-x86-suse"#ifeq ($(CVM_PRODUCT),ri)BUNDLE_PORTS = linux-x86-*elseBUNDLE_PORTS = linux-x86-*endif# Do wildcard expansion of ports listed in BUNDLE_PORTSoverride BUNDLE_PORTS := \ $(addprefix $(CDC_DIR)/build/, $(BUNDLE_PORTS)) \ $(addprefix $(CVM_TOP)/build/, $(BUNDLE_PORTS))override BUNDLE_PORTS := $(foreach port, $(BUNDLE_PORTS), $(wildcard $(port)))# list of all device ports in the form <os>-<cpu>-<device>BUNDLE_DEVICE_PORTS = $(notdir $(BUNDLE_PORTS))# list of all OS ports in the form <os>BUNDLE_OS_PORTS = \ $(sort $(foreach port, $(BUNDLE_DEVICE_PORTS), \ $(word 1,$(subst -,$(space),$(port)))))# list of all CPU ports in the form <cpu>BUNDLE_CPU_PORTS = \ $(sort $(foreach port, $(BUNDLE_DEVICE_PORTS), \ $(word 2,$(subst -,$(space),$(port)))))# list of all platform ports in the form <os>-<cpu>BUNDLE_PLATFORM_PORTS = \ $(sort $(foreach port, \ $(BUNDLE_DEVICE_PORTS), \ $(word 1,$(subst -,$(space),$(port)))-$(word 2,$(subst -,$(space),$(port)))))##################################################### File and directory patterns to include and exclude####################################################EXCLUDE_PATTERNS += \ *SCCS/* \ */.svn/* \ *gunit*# cvmifneq ($(CVM_PRODUCT),oi)EXCLUDE_PATTERNS += \ *gc/generational-seg/* \ *gc/marksweep/* \ *gc/semispace/* \ */executejava_aligned.c \ */executejava_split1.c \ */executejava_split2.cendifEXCLUDE_PATTERNS += \ */mem_mgr*BUILDDIR_PATTERNS += \ GNUmakefile \ top.mk \ defs.mk \ rules.mk \ jdwp*.mk \ hprof.mkSRCDIR_PATTERNS += \ javavmBUNDLE_INCLUDE_LIST += \ src/portlibs \ build/portlibs/* \ build/share/bundle.mk \ build/share/jcc.mk \ build/share/*_op.mk \ src/share/tools/GenerateCurrencyData \ src/share/tools/javazic \ src/share/tools/xml \ src/share/tools/sha1 \ src/share/lib/security \ src/share/lib/profiles \ $(foreach os,$(BUNDLE_OS_PORTS), \ src/$(os)/bin) \ $(foreach os,$(BUNDLE_OS_PORTS) share, \ src/$(os)/tools/hprof) \ $(foreach os,$(BUNDLE_OS_PORTS) share, \ src/$(os)/tools/jpda) \ $(foreach os,$(BUNDLE_OS_PORTS), \ src/$(os)/lib/tzmappings) \ $(foreach os,$(BUNDLE_OS_PORTS), \ src/$(os)/lib/content-types.properties)# For Windows Buildifeq ($(findstring win32,$(BUNDLE_OS_PORTS)),win32)CVM_INCLUDE_WIN32_HOST_DEFS_MK = trueBUNDLE_INCLUDE_LIST += \ build/win32/ppc*_defs.mk \ build/win32/wm5*_defs.mk \ build/win32/*wince*.mk \ build/win32/vc*_defs.mkendif# For Symbian Buildifeq ($(findstring symbian,$(BUNDLE_OS_PORTS)),symbian)CVM_INCLUDE_WIN32_HOST_DEFS_MK = trueBUNDLE_INCLUDE_LIST += \ build/symbian/fix_project.pl \ build/symbian/root.sh \ build/symbian/winsim.mk \ src/symbian/lib/cvm_exports*endififeq ($(CVM_INCLUDE_WIN32_HOST_DEFS_MK),true)BUNDLE_INCLUDE_LIST += \ build/win32/host_defs.mk endif# dual stackifeq ($(INCLUDE_DUALSTACK), true)BUNDLE_INCLUDE_LIST += \ src/share/lib/dualstack \ src/share/tools/RomConfProcessorBUILDDIR_PATTERNS += \ *_midp.mkelseEXCLUDE_PATTERNS += \ */AuxPreloadClassLoader.c \ */AuxPreloadClassLoader.java \ */auxPreloader.c \ */MemberFilter.c \ */MemberFilter.java \ */MemberFilterConfig.java \ */MIDletClassLoader.java \ */MIDPConfig.java \ */MIDPImplementationClassLoader.java \ */MIDPFilterConfig.txt \ */MIDPPermittedClasses.txt \ */test/dualstack \ */test/dualstack/*endif# kni supportifneq ($(INCLUDE_KNI), true)EXCLUDE_PATTERNS += \ *KNI* \ *kni* \ *sni_impl*endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?