📄 defs.gmk
字号:
EXTRA_CFLAGS += -DENABLE_VM_PROFILES=1 JPP_DEFS += -DENABLE_VM_PROFILESelse EXTRA_CFLAGS += -DENABLE_VM_PROFILES=0endififeq ($(USE_MONET), true) EXTRA_CFLAGS += -DENABLE_MONET=1else EXTRA_CFLAGS += -DENABLE_MONET=0endififeq ($(USE_SERVER_SOCKET), true) EXTRA_CFLAGS += -DENABLE_SERVER_SOCKET=1else EXTRA_CFLAGS += -DENABLE_SERVER_SOCKET=0endififeq ($(USE_JPEG), true) EXTRA_CFLAGS += -DENABLE_JPEG=1else EXTRA_CFLAGS += -DENABLE_JPEG=0endififeq ($(USE_DIRECTDRAW), true) EXTRA_CFLAGS += -DENABLE_DIRECT_DRAW=1else EXTRA_CFLAGS += -DENABLE_DIRECT_DRAW=0endififeq ($(USE_FILE_SYSTEM), true) EXTRA_CFLAGS += -DENABLE_FILE_SYSTEM=1else EXTRA_CFLAGS += -DENABLE_FILE_SYSTEM=0endififeq ($(USE_ON_DEVICE_DEBUG), true) EXTRA_CFLAGS += -DENABLE_ON_DEVICE_DEBUG=1else EXTRA_CFLAGS += -DENABLE_ON_DEVICE_DEBUG=0endififeq ($(USE_WTK_DEBUG), true) EXTRA_CFLAGS += -DENABLE_WTK_DEBUG=1else EXTRA_CFLAGS += -DENABLE_WTK_DEBUG=0endififeq ($(USE_AMS_FOLDERS), true) EXTRA_CFLAGS += -DENABLE_AMS_FOLDERS=1else EXTRA_CFLAGS += -DENABLE_AMS_FOLDERS=0endififeq ($(USE_OCSP), true) EXTRA_CFLAGS += -DENABLE_OCSP=1else EXTRA_CFLAGS += -DENABLE_OCSP=0endififeq ($(USE_DYNAMIC_COMPONENTS), true) EXTRA_CFLAGS += -DENABLE_DYNAMIC_COMPONENTS=1else EXTRA_CFLAGS += -DENABLE_DYNAMIC_COMPONENTS=0endifEXTRA_CFLAGS += -DPROJECT_NAME='"$(PROJECT_NAME)"'ifeq ($(USE_NATIVE_PROFILER), true) p = _pelse p =endififeq ($(USE_CLDC_RELEASE), true) r = _relse r = endif ifeq ($(USE_DEBUG), true) EXTRA_CFLAGS += -DAZZERT=1 -DENABLE_DEBUG=1 JPP_DEFS += -DENABLE_DEBUG JAVAC_DEBUG = g = _g r = else ifneq ($(USE_CLDC_RELEASE), true) EXTRA_CFLAGS += -DPRODUCT endif EXTRA_CFLAGS += -DENABLE_DEBUG=0 JAVAC_DEBUG = :none g = endififeq ($(USE_CONTROL_ARGS_FROM_JAD), true) EXTRA_CFLAGS += -DENABLE_CONTROL_ARGS_FROM_JAD=1 JPP_DEFS += -DENABLE_CONTROL_ARGS_FROM_JADelse EXTRA_CFLAGS += -DENABLE_CONTROL_ARGS_FROM_JAD=0endif# Default compile flags#EXTRA_CFLAGS += \ -DRELEASE='"$(RELEASE)"' \ -DIMPL_VERSION='"$(VERSION)"' \ -DFULL_VERSION='"$(FULL_VERSION)"'EXTRA_INCLUDES += \ $(VM_INCLUDES) \ -I$(MIDP_OUTPUT_DIR)# Uses 'override' to prevent setting CFLAGS in another makefile#override CFLAGS = $(DEBUG_CFLAGS) $(EXTRA_CFLAGS) $(EXTRA_INCLUDES) \ $(CMDLINE_CFLAGS)override CPPFLAGS = $(EXTRA_CPPFLAGS) $(CFLAGS)# Adds .c files#OBJ_FILES = $(patsubst %.c,$(OBJ_DIR)/%.o,$(filter %.c,$(JTWI_NATIVE_FILES)))# Adds .cpp files#OBJ_FILES += $(patsubst %.cpp,$(OBJ_DIR)/%.o,$(filter %.cpp,$(JTWI_NATIVE_FILES)))# Name of Java file list# (Generated file list's def. can be found in configuration# subsystem)#override REBUILD_JAVA_LIST=$(MIDP_OUTPUT_DIR)/javalist.txtoverride SUBSET_API_JAVA_LIST=$(MIDP_OUTPUT_DIR)/subsetjavalist.txtoverride SUPERSET_API_JAVA_LIST=$(MIDP_OUTPUT_DIR)/supersetjavalist.txtoverride ALL_JAVA_LIST=$(MIDP_OUTPUT_DIR)/alljavalist.txtoverride GENERATED_JAVA_LIST=$(MIDP_OUTPUT_DIR)/genjavalist.txt# Add changed java files to REBUILD_JAVA_LIST# Some subsystems have no Java files. The dependency on classes.zip# could become empty, ie. unconditional. Need to filter out# this case.# Implementation note: in order to keep Java files list from hitting command # line length limit on cygwin, we split it into 100 words length chunks. # This is not guaranteed to help in all cases, but at least reduce the # possibility of it happening.define appendfiles @if [ $(words $?) -gt 250 ]; then \ echo "ERROR: Java files list exceeds 250 words limit."; \ echo "To increase the limit, edit appendfiles variable definition in Defs.gmk"; \ exit 1; \ fi @_javalist="$(wordlist 1,125,$?)"; \ if [ -n "$$_javalist" ]; then \ echo "$$_javalist" >> $(1); \ fi @_javalist="$(wordlist 126,250,$?)"; \ if [ -n "$$_javalist" ]; then \ echo "$$_javalist" >> $(1); \ fiendefdefine appendjavafiles @$(call appendfiles,$(REBUILD_JAVA_LIST)) @$(call appendfiles,$(ALL_JAVA_LIST)) endefdefine appendsubsetjavafiles @$(call appendfiles,$(SUBSET_API_JAVA_LIST)) @$(call appendfiles,$(ALL_JAVA_LIST)) endefdefine appendsupersetjavafiles @$(call appendfiles,$(SUPERSET_API_JAVA_LIST)) @$(call appendfiles,$(ALL_JAVA_LIST)) endef# Distinguish between normal java files from generated one #define countjavafiles if [ -f $(REBUILD_JAVA_LIST) ]; then \ filenames=$(REBUILD_JAVA_LIST); \ fi; \ if [ -f $(SUBSET_API_JAVA_LIST) ]; then \ filenames="$$filenames $(SUBSET_API_JAVA_LIST)"; \ fi; \ if [ -f $(SUPERSET_API_JAVA_LIST) ]; then \ filenames="$$filenames $(SUPERSET_API_JAVA_LIST)"; \ fi; \ if [ -n "$$filenames" ]; then \ num=`cat $$filenames | wc -w`; \ fi; \ if [ -f $(GENERATED_JAVA_LIST) ]; then \ num4=`cat $(GENERATED_JAVA_LIST) | wc -w`; \ else \ num4=0; \ fi; \ echo " ... compiling $$num .java files and $$num4 generated .java files";endef# Macro to compile Java sources with preverifier and then to build# the zip file from the compiled class files.#BOOTCLASSPATH = $(VM_BOOTCLASSPATH)$(PATHSEP)$(CLASSBINDIR)VERIFYCLASSPATH = $(VERIFYDIR)$(PATHSEP)$(CLASSBINDIR)ifeq ($(TARGET_VM), cldc_vm)JAVAC_OUT_DIR = $(VERIFYDIR)elseJAVAC_OUT_DIR = $(CLASSBINDIR)endifdefine compilefiles $(A)if [ '!' -d $(VERIFYDIR) ]; then \ rm -rf $(VERIFYDIR); \ mkdir $(VERIFYDIR); \ fi $(LOG) $(A)(if [ -f $(REBUILD_JAVA_LIST) -o -f $(GENERATED_JAVA_LIST) \ -o -f $(SUBSET_API_JAVA_LIST) \ -o -f $(SUPERSET_API_JAVA_LIST) ]; then\ if test "$(TARGET_VM)" = "cldc_vm"; then \ chmod +x $(PREVERIFY_CMD); \ fi; \ $(countjavafiles) \ if [ -f $(REBUILD_JAVA_LIST) ] ; then \ f1=@$(REBUILD_JAVA_LIST) ; \ else \ f1= ; \ fi ; \ if [ -f $(GENERATED_JAVA_LIST) ] ; then \ f2=@$(GENERATED_JAVA_LIST) ; \ else \ f2= ; \ fi ; \ if [ -f $(SUBSET_API_JAVA_LIST) ] ; then \ f3=@$(SUBSET_API_JAVA_LIST) ; \ else \ f3= ; \ fi ; \ if [ -n "$$f1$$f2$$f3" ]; then \ echo " ... compiling subset API java files..."; \ $(JAVAC_CMD) -g$(JAVAC_DEBUG) -d $(JAVAC_OUT_DIR) \ -bootclasspath "$(BOOTCLASSPATH)" \ -classpath $(CLASSBINDIR) $$f1 $$f2 $$f3 || exit 1; \ fi ; \ if [ -f $(SUPERSET_API_JAVA_LIST) ] ; then \ f4=@$(SUPERSET_API_JAVA_LIST) ; \ else \ f4= ; \ fi ; \ if [ -n "$$f4" ]; then \ echo " ... compiling superset API java files..."; \ $(JAVAC_CMD) -g$(JAVAC_DEBUG) -d $(JAVAC_OUT_DIR) \ -bootclasspath "$(BOOTCLASSPATH)$(PATHSEP)$(JAVAC_OUT_DIR)" \ -classpath $(CLASSBINDIR) $$f1 $$f2 $$f4 || exit 1; \ fi ; \ if test "$(TARGET_VM)" = "cldc_vm"; then \ num=`find $(VERIFYDIR) -type f -print | wc -l`; \ num=`echo $$num | cut -f1 -d' '` ; \ echo " ... preverifying $$num .class files" ; \ $(PREVERIFY_CMD) -classpath $(VERIFYCLASSPATH)\ -d $(CLASSBINDIR) $(VERIFYDIR) || exit 1; \ rm -rf $(VERIFYDIR); \ fi; \ else \ echo " ... no need to recompile .java files"; \ fi) $(LOG) @if [ -f $(REBUILD_JAVA_LIST) -o -f $(GENERATED_JAVA_LIST) \ -o -f $(SUBSET_API_JAVA_LIST) \ -o -f $(SUPERSET_API_JAVA_LIST) -o ! -f $@ ]; then \ echo " ... $@"; \ rm -f $@; \ $(JAR_CMD) -cf $@ -C $(CLASSBINDIR) .; \ fi $(LOG)endef# Rules to split $(MIDP_CLASSES_ZIP) into $(MIDP_PUB_CLASSES_ZIP) and # $(MIDP_PRIV_CLASSES_ZIP) for proper romization so that midp classes # packed in $(MIDP_PRIV_CLASSES_ZIP) be available at bootclasspath.#ifeq ($(TARGET_VM), cldc_vm)split_midpclasses_zip :=elsebootclasspath_zip_entries = \ $(addsuffix /, $(subst .,/,$(MIDP_BOOTCLASSPATH_PACKAGES_LIST))) \ $(addsuffix /\*, $(subst .,/,$(MIDP_BOOTCLASSPATH_PACKAGES_LIST))) \ $(addsuffix .class, $(subst .,/,$(MIDP_BOOTCLASSPATH_CLASSES_LIST))) \ $(addsuffix \$$*.class, $(subst .,/,$(MIDP_BOOTCLASSPATH_CLASSES_LIST)))build_midp_pub_classes_zip = \ $(if $(1), zip -qd $(MIDP_PUB_CLASSES_ZIP) $(1), true)build_midp_priv_classes_zip = \ $(if $(1), zip -qr $(MIDP_PRIV_CLASSES_ZIP) $(subst \*,*,$(1)), \ zip -q $(MIDP_PRIV_CLASSES_ZIP) com)define split_midpclasses_zip_impl $(AT)if [ ! -f $(MIDP_PUB_CLASSES_ZIP) -o \ ! -f $(MIDP_PRIV_CLASSES_ZIP) -o \ $(MIDP_PUB_CLASSES_ZIP) -ot $@ -o \ $(MIDP_PRIV_CLASSES_ZIP) -ot $@ ]; then \ echo splitting $@...; \ cp $@ $(MIDP_PUB_CLASSES_ZIP); \ (cd $(MIDP_OUTPUT_DIR)/classes && \ $(build_midp_pub_classes_zip) && \ $(build_midp_priv_classes_zip)); \ fiendefsplit_midpclasses_zip = $(call split_midpclasses_zip_impl, $(bootclasspath_zip_entries))endif# Macro to clean up file list#define remove_filelist -@(rm -f $(REBUILD_JAVA_LIST) $(SUBSET_API_JAVA_LIST) $(SUPERSET_API_JAVA_LIST)) $(LOG)endef# Macro to clean up generated file list#define remove_genfilelist -@(rm -f $(GENERATED_JAVA_LIST)) $(LOG)endef
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -