📄 defs.gmk
字号:
## ## Copyright 1990-2007 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.######################################################################## GLOBAL defines. This file should not contain rules.## The following variables must be defined prior to including this# file:## CLDC_DIR - Top of CLDC tree# MIDP_DIR - Top of MIDP tree# MIDP_OUTPUT_DIR - Directory where all results should be in# JSR_177_DIR - Workspace for JSR 177 SATSA 1.0 source.# This has no effect if USE_JSR_177 is false.# JSR_205_DIR - Workspace for JSR 205 WMA 2.0 source.# This has no effect if USE_JSR_205 is false.# JSR_211_DIR - Workspace for JSR 211 (CHAPI) source# This has no effect if USE_JSR_211 is false.# PCSL_OUTPUT_DIR - Output directory for PCSL libraries / include files# JPEG_DIR - Workspace for JPEG source when USE_JPEG is true## Other variables that must be defined elsewhere:## TARGET_PLATFORM - Platform to build# PATHSEP - Path separator for '-classpath' argument# CC_OUTPUT - Argument used w/ compiler to generate .o file# LINKER_OUTPUT - Argument used w/ linker to generate executable# OBJ_SUFFIX - Suffix of object files# g - Suffix of debug-enabled object directory# EXE - Suffix of executable programs# LIBS - Libraries to append at link stage# LD - Linker command# CC - Compiler command# KDP_CMD - Command for the CLDC Debug Proxy# MEMPROF_CMD - Command for the CLDC memory profiler client## Other variables that may be defined elsewhere:## JDK_DIR - Directory containing the Java Development Kit# EXTRA_INCLUDES - Additional search directories for .h files# EXTRA_CFLAGS - Additional arguments for compiler# CMDLINE_CFLAGS - Compiler arguments that are defined on the # makefile command-line. This must not be set# or modified directly within the makefiles.# USE_MIDP_MALLOC - Use internal memory management for native# heap allocations. (default value is false)# USE_IMAGE_CACHE - At MIDlet install time, search the jar for images, # convert them to a platform native representation, # and cache the converted image for faster loading# at runtime of the MIDlet.# USE_ICON_CACHE - Store icons of all installed midlet suites in one# file that will be read during the system startup# to speed up displaying the icons in the AMS.# USE_JAVA_DEBUGGER - Include the CLDC debugger hooks to communicate# with an external proxy agent. (default value is false)# USE_JAVA_PROFILER - Compile MIDP with the VMs Java profiler# enbabled. The VM must support this feature.# (default is false )# USE_NATIVE_PROFILER - Compile MIDP so that it is profiler enabled# currently for GCC only# (default is false )# USE_CLDC_RELEASE - In the case of non-debug build link MIDP with # release version of CLDC (default is false)###################################################################### This default is redefined during a release build.#RELEASE := $(shell echo `$(WHOAMI)`:`date '+%m.%d.%y-%H:%M'`)FULL_VERSION := $(shell echo `$(WHOAMI)`:`date '+%m.%d.%y-%H:%M'`)# Directory for different modules#SUBSYSTEM_DIR = $(MIDP_DIR)/srcPROJECT_SUBSYSTEM_DIR = $(PROJECT_MIDP_DIR)/src# Defines variable definitions -- need to define prior to 'vpath'#VERIFYDIR = $(MIDP_OUTPUT_DIR)/tmpclassesCLASSBINDIR = $(MIDP_OUTPUT_DIR)/classesLIBDIR = $(MIDP_OUTPUT_DIR)/libOBJ_DIR = $(MIDP_OUTPUT_DIR)/obj$(g)/$(TARGET_CPU)BINDIR = $(MIDP_OUTPUT_DIR)/bin/$(TARGET_CPU)STORAGEDIR = $(MIDP_OUTPUT_DIR)/appdbifneq ($(TARGET_VM), cdc_vm)EXTSTORAGEDIR= $(MIDP_OUTPUT_DIR)/memory_cardendifGENERATED_DIR= $(MIDP_OUTPUT_DIR)/generatedMIDP_CLASSES_ZIP ?= $(MIDP_OUTPUT_DIR)/classes.zipifeq ($(TARGET_VM), cdc_vm) ifneq ($(CVM_STATICLINK_LIBS), true) MIDP_SHARED_LIB ?= $(BINDIR)/libmidp$(g)$(p)$(SHARED_LIB_SUFFIX) MIDP_SHARED_LIB_FILES += $(OBJLIB) CREATE_MIDP_SHARED_LIB = true endifelse MIDP_LIB_NAME ?= $(LIB_PREFIX)midp ifeq ($(CREATE_MIDP_SHARED_LIB),true) MIDP_SHARED_LIB = $(BINDIR)/$(MIDP_LIB_NAME)$(SHARED_LIB_SUFFIX) MIDP_SHARED_LIB_FILES += $(OBJLIB) $(AMS_RUNMIDLET_OBJ_FILES) endif ifeq ($(CREATE_MIDP_LIB),true) MIDP_LIB = $(BINDIR)/$(MIDP_LIB_NAME)$(LIB_SUFFIX) MIDP_LIB_FILES += $(OBJLIB) $(AMS_RUNMIDLET_OBJ_FILES) endifendif# Use "_" since it will be used by other modulesBUILD_COMMON_CONFIG_DIR = $(MIDP_DIR)/build/common/config# Logging output for makefile commands## NOTE: Be very careful when logging two types of commands:# * commands that cause the shell to terminate via 'exit'# * commands that attempt to output to a file## In both of these cases, do not simply append "$(LOG)" to# command. Instead, surround the command with parens and then# append "$(LOG)":## foo: BAD_USAGE# @echo "incorrect usage" > $@ $(LOG)## foo: GOOD_USAGE# @(echo "correct usage" > $@) $(LOG)#ifeq ($(USE_VERBOSE_MAKE),true) LOG_FILE := $(shell mkdir -p $(MIDP_OUTPUT_DIR); \ rm -f $(MIDP_OUTPUT_DIR)/make.out; \ echo $(MIDP_OUTPUT_DIR)/make.out) define LOG > $(MIDP_OUTPUT_DIR)/makelog.out 2>&1; \ status=$$?; \ cat $(MIDP_OUTPUT_DIR)/makelog.out | tee -a $(LOG_FILE); \ if [ $$status -ne 0 ]; then \ false; \ else \ true; \ fi endef A =else LOG_FILE = /dev/null LOG = A = @endifLOG_ONLY = >> $(LOG_FILE)# Java tools#JAR_CMD = $(JDK_DIR)/bin/jar$(EXE)JAVA_CMD = $(JDK_DIR)/bin/java$(EXE)JAVAC_CMD = $(JDK_DIR)/bin/javac$(EXE) -source 1.3 -target 1.3JAVADOC_CMD = $(JDK_DIR)/bin/javadoc$(EXE)# MIDP tools#ifeq ($(TARGET_VM), cldc_vm) PREVERIFY_CMD = $(BINDIR)/preverify$(EXE) KDP_CMD = $(BINDIR)/kdp.jar ifeq ($(ENABLE_MEMORY_PROFILER), true) MEMPROF_CMD = $(BINDIR)/memprof_client.jar endif J2ME_CONFIGURATION = cldc EXTRA_CFLAGS += -DENABLE_CDC=0else J2ME_CONFIGURATION = cdc EXTRA_CFLAGS += -DENABLE_CDC=1 JPP_DEFS += -DENABLE_CDCendif# Make options#ifeq ($(USE_MIDP_MALLOC), true) EXTRA_CFLAGS += -DENABLE_MIDP_MALLOC=1else EXTRA_CFLAGS += -DENABLE_MIDP_MALLOC=0endififeq ($(USE_IMAGE_CACHE), true) EXTRA_CFLAGS += -DENABLE_IMAGE_CACHE=1else EXTRA_CFLAGS += -DENABLE_IMAGE_CACHE=0endififeq ($(TARGET_VM), cdc_vm) USE_ICON_CACHE = falseendififeq ($(USE_ICON_CACHE), true) EXTRA_CFLAGS += -DENABLE_ICON_CACHE=1else EXTRA_CFLAGS += -DENABLE_ICON_CACHE=0endififeq ($(USE_I3_TEST), true) EXTRA_CFLAGS += -DENABLE_I3_TEST=1 JPP_DEFS += -DENABLE_I3_TESTelse EXTRA_CFLAGS += -DENABLE_I3_TEST=0 endififeq ($(USE_NUTS_FRAMEWORK), true) EXTRA_CFLAGS += -DENABLE_NUTS_FRAMEWORK=1 override NUTS_CMD = $(BINDIR)/nuts_main$(g)$(p)$(EXE)else EXTRA_CFLAGS += -DENABLE_NUTS_FRAMEWORK=0 override NUTS_CMD =endififeq ($(USE_NETWORK_INDICATOR), true) EXTRA_CFLAGS += -DENABLE_NETWORK_INDICATOR=1else EXTRA_CFLAGS += -DENABLE_NETWORK_INDICATOR=0endififeq ($(USE_MULTIPLE_ISOLATES), true) EXTRA_CFLAGS += -DENABLE_MULTIPLE_ISOLATES=1 JPP_DEFS += -DENABLE_MULTIPLE_ISOLATESelse EXTRA_CFLAGS += -DENABLE_MULTIPLE_ISOLATES=0endififeq ($(USE_MULTIPLE_DISPLAYS), true) EXTRA_CFLAGS += -DENABLE_MULTIPLE_DISPLAYS=1else EXTRA_CFLAGS += -DENABLE_MULTIPLE_DISPLAYS=0endififeq ($(USE_JAVA_DEBUGGER), true) EXTRA_CFLAGS += -DENABLE_JAVA_DEBUGGER=1else EXTRA_CFLAGS += -DENABLE_JAVA_DEBUGGER=0endififeq ($(USE_NATIVE_APP_MANAGER), true) EXTRA_CFLAGS += -DENABLE_NATIVE_APP_MANAGER=1 JPP_DEFS += -DENABLE_NATIVE_APP_MANAGERifeq ($(USE_NAMS_TEST_SERVICE), true) EXTRA_CFLAGS += -DENABLE_NAMS_TEST_SERVICE=1 JPP_DEFS += -DENABLE_NAMS_TEST_SERVICEelse EXTRA_CFLAGS += -DENABLE_NAMS_TEST_SERVICE=0endif# Remove the WTK dependency when building with Native App. Managerifeq ($(MIDP_BIN_TARGET), wtk) MIDP_BIN_TARGET=endifelse EXTRA_CFLAGS += -DENABLE_NATIVE_APP_MANAGER=0 -DENABLE_NAMS_TEST_SERVICE=0endififeq ($(USE_NATIVE_INSTALLER), true) EXTRA_CFLAGS += -DENABLE_NATIVE_INSTALLER=1 JPP_DEFS += -DENABLE_NATIVE_INSTALLERelse EXTRA_CFLAGS += -DENABLE_NATIVE_INSTALLER=0endififeq ($(USE_NATIVE_SUITE_STORAGE), true) EXTRA_CFLAGS += -DENABLE_NATIVE_SUITE_STORAGE=1 JPP_DEFS += -DENABLE_NATIVE_SUITE_STORAGEelse EXTRA_CFLAGS += -DENABLE_NATIVE_SUITE_STORAGE=0endififeq ($(USE_NATIVE_RMS), true) EXTRA_CFLAGS += -DENABLE_NATIVE_RMS=1 JPP_DEFS += -DENABLE_NATIVE_RMSelse EXTRA_CFLAGS += -DENABLE_NATIVE_RMS=0endififeq ($(USE_NATIVE_PTI), true) EXTRA_CFLAGS += -DENABLE_NATIVE_PTI=1else EXTRA_CFLAGS += -DENABLE_NATIVE_PTI=0endififeq ($(USE_MESSAGE_STRINGS), true) EXTRA_CFLAGS += -DENABLE_MESSAGE_STRINGS=1else EXTRA_CFLAGS += -DENABLE_MESSAGE_STRINGS=0endififeq ($(USE_CLDC_11), true) EXTRA_CFLAGS += -DENABLE_CLDC_11=1 JPP_DEFS += -DENABLE_CLDC_11else EXTRA_CFLAGS += -DENABLE_CLDC_11=0endififeq ($(USE_VM_PROFILES), true)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -