android telephony 模块Rules.make
2010-08-03 17:01
399 查看
#*****************************************************************************
# BEGIN SECTION (Define)
# Define directory
#
#Project root
PXA_ROOT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
#################### above can locate the current directory ########################################
$(info --------------- $(PXA_ROOT_DIR) -------------)
CONFIG_CC_DEVELOPMENT=n
#Project source
PXA_SRC_DIR := $(PXA_ROOT_DIR)
DUMMY := $(shell if [ ! -e $(PXA_SRC_DIR)/.config ];then touch $(PXA_SRC_DIR)/.config;fi;)
include $(PXA_SRC_DIR)/.config
################# inclue current directory's .config ###################################
################### all patterns such as "CONFIG_PLATFORM_SAAR" used in Makefile are defined in .config #########################
################ where is the below directory? ##################################################################
PXA_SRC_PVK_DIR := $(PXA_SRC_DIR)/preview-kit ############not used in Makefile
PXA_SRC_PVK_LNX_DIR := $(PXA_ROOT_DIR)/../../../../../pxa930-kernel/
PXA_SRC_ANDROID_DEVICE_DIR := $(PXA_SRC_DIR)/../../../../../ #########not used in Makefile
PXA_SRC_IPP_DIR := $(PXA_SRC_DIR)/ipp ###### not used in Makefile
PXA_SRC_GST_DIR := $(PXA_SRC_DIR)/gstreamer ######## not used
PXA_SRC_UM_DIR := $(PXA_SRC_DIR)/usage-model ############# not used
PXA_SRC_GFX_DIR := $(PXA_SRC_DIR)/graphics ###### not used
PXA_SRC_MPDC_DIR := $(PXA_SRC_DIR)/mpdc ######## not used
PXA_SRC_XDB_DIR := $(PXA_SRC_DIR)/xdb ####### not used
############################## all above directory can't be located in telephony root directory ##################################
###### such CONFIG_ defined in .config this one "n" ########################
ifeq "$(CONFIG_CPU_MHNL)" "y"
WTPTP_DIR_SUFFIX=pxa300
endif
ifeq "$(CONFIG_CPU_MHNLV)" "y" ############ also " n" #############################
WTPTP_DIR_SUFFIX=pxa310
endif
ifeq "$(CONFIG_CPU_TAVOR)" "y" ############# CONFIG_CPU_TAVOR "y" #############################
WTPTP_DIR_SUFFIX=pxa930
endif
PXA_SRC_WTPTP_DIR := $(PXA_SRC_DIR)/wtptp_$(WTPTP_DIR_SUFFIX)
### /home/sunrise/TavorVl9.2.003/src/pxalinux/marvell/src/wtptp_pxa930 well not in telephony directory ############################
ifeq "$(CONFIG_GEN_DEBUG)" "y" ####### not set CONFIG_GEN_DEBUG ##########################
DBG_REL_VER := dbg
else
DBG_REL_VER := rel ####### rel maybe means release version ############################
endif
########## locate a rel directory "/home/sunrise/TavorVl9.2.003/src/pxalinux/mavell/rel" ##################
#Host related dir
ifeq "$(CONFIG_CC_DEVELOPMENT)" "y" ##### this CONFIG defines in its own file "n" ###################
DUMMY := $(shell if [ ! -e $$HOME/xscalelinux ];then mkdir -p $$HOME/xscalelinux;/
cp -fr ../dbg $$HOME/xscalelinux;cp -fr ../rel $$HOME/xscalelinux;fi;)
PXA_HOST_DIR := $(HOME)/xscalelinux/$(DBG_REL_VER)/host
else
PXA_HOST_DIR := $(PXA_ROOT_DIR)/$(DBG_REL_VER)/host ##### it takes effect ###########
endif
PXA_HOST_INCLUDE_DIR := $(PXA_HOST_DIR)/include
PXA_HOST_LIB_DIR := $(PXA_HOST_DIR)/lib
#Target related dir
ifeq "$(CONFIG_CC_DEVELOPMENT)" "y" ##### defines in this file " n " #######################################
PXA_TARGET_DIR := $(HOME)/xscalelinux/$(DBG_REL_VER)/target
else
PXA_TARGET_DIR := $(PXA_ROOT_DIR)/output
endif
PXA_TARGET_FS_DIR := $(PXA_TARGET_DIR)/marvell
PXA_TARGET_MOD_DIR := $(PXA_TARGET_FS_DIR)/lib/modules
PXA_TARGET_LIB_DIR := $(PXA_TARGET_FS_DIR)/usr/lib
PXA_TARGET_BIN_DIR := $(PXA_TARGET_FS_DIR)/usr/bin
PXA_TARGET_IMAGE_DIR := $(PXA_TARGET_DIR)/
# END SECTION (Define)
#*****************************************************************************
##############################################################################
# BEGIN SECTION (complier parameter)
#
# Compiler setting
#
export ARCH := arm
ifeq "$(CONFIG_BIONIC)" "y"
export CROSS_COMPILE := arm-eabi- #### this CROSS_COMPILE takes effect ################
else
export CROSS_COMPILE := arm-linux-
endif
#
# Include make variables (CC, etc...)
#
ASM := $(CROSS_COMPILE)as
LD := $(CROSS_COMPILE)ld
CC := $(CROSS_COMPILE)gcc
CPP := $(CROSS_COMPILE)c++
AR := $(CROSS_COMPILE)ar
RANLIB := $(CROSS_COMPILE)ranlib
STRIP := $(CROSS_COMPILE)strip
OBJCOPY := $(CROSS_COMPILE)objcopy
OBJDUMP := $(CROSS_COMPILE)objdump
CCOMPILER=$(CC)
ifeq "$(CONFIG_BIONIC)" "y"
include $(PXA_SRC_DIR)/Bionic.make #### Bionic.make included #########
PXA_HOST_INCLUDE_DIR := $(PXA_SRC_ANDROID_DEVICE_DIR)/vendor/marvell/external/alsa/alsa-lib/include
#PXA_HOST_INCLUDE_DIR := $(PXA_SRC_ANDROID_DEVICE_DIR)/vendor/marvell/external/alsa/alsa-lib
else
LIBDIR := -L$(PXA_HOST_LIB_DIR) -L$(PXA_TARGET_FS_DIR)/lib -L$(PXA_SRC_DIR)
endif
COMMONCFLAGS = $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux -DLINUX -D__linux__ -fno-exceptions
###### what's the above flags ?? #######################################
#
# Flag declare
#
ifeq "$(CONFIG_BIONIC)" "y"
ifeq "$(CONFIG_GEN_DEBUG)" "y" ##### no here just " n " ##############
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR) -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
$(COMMONCFLAGS) $(BIONICS_INCS) -I$(PXA_SRC_PVK_LNX_DIR)/arch/arm/include
AFLAGS = -mcpu=iwmmxt
else
############################ #################################################
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall ##### it takes effect here ##############
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
$(COMMONCFLAGS) $(BIONICS_INCS) -I$(PXA_SRC_PVK_LNX_DIR)/arch/arm/include
AFLAGS = -mcpu=iwmmxt
#WARNINGFLAG = -W
#CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
# -O2 $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
#AFLAGS = -mcpu=iwmmxt
endif
CFLAGS+=-DBIONIC
################# the below will not impement ################################
else
ifeq "$(CONFIG_GEN_DEBUG)" "y"
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
-g $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
AFLAGS = -mcpu=iwmmxt
else
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
-g $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
AFLAGS = -mcpu=iwmmxt
#WARNINGFLAG = -W
#CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
# -O2 $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
#AFLAGS = -mcpu=iwmmxt
endif
endif
##################### the above will not implement #####################################
ifeq "$(CONFIG_INSTRUMENT)" "y"
CFLAGS+=-finstrument-functions -rdynamic
endif
.SUFFIXES : .o .S .s .cpp .c .i
.S.o :
$(ASM) $(AFLAGS) -o $@ $<
.s.o :
$(ASM) $(AFLAGS) -o $@ $<
.cpp.o :
$(CPP) $(CFLAGS) -c -o $@ $<
.c.o :
$(CC) $(CFLAGS) -c -o $@ $<
.c.i :
$(CC) $(CFLAGS) -DDIAG_API_H -C -E -o $@ $<
ifneq ($(shell echo $$UID), 0)
export SUDO=sudo
else
endif
# END SECTION (complier parameter)
#****************************************************************************
# BEGIN SECTION (Define)
# Define directory
#
#Project root
PXA_ROOT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
#################### above can locate the current directory ########################################
$(info --------------- $(PXA_ROOT_DIR) -------------)
CONFIG_CC_DEVELOPMENT=n
#Project source
PXA_SRC_DIR := $(PXA_ROOT_DIR)
DUMMY := $(shell if [ ! -e $(PXA_SRC_DIR)/.config ];then touch $(PXA_SRC_DIR)/.config;fi;)
include $(PXA_SRC_DIR)/.config
################# inclue current directory's .config ###################################
################### all patterns such as "CONFIG_PLATFORM_SAAR" used in Makefile are defined in .config #########################
################ where is the below directory? ##################################################################
PXA_SRC_PVK_DIR := $(PXA_SRC_DIR)/preview-kit ############not used in Makefile
PXA_SRC_PVK_LNX_DIR := $(PXA_ROOT_DIR)/../../../../../pxa930-kernel/
PXA_SRC_ANDROID_DEVICE_DIR := $(PXA_SRC_DIR)/../../../../../ #########not used in Makefile
PXA_SRC_IPP_DIR := $(PXA_SRC_DIR)/ipp ###### not used in Makefile
PXA_SRC_GST_DIR := $(PXA_SRC_DIR)/gstreamer ######## not used
PXA_SRC_UM_DIR := $(PXA_SRC_DIR)/usage-model ############# not used
PXA_SRC_GFX_DIR := $(PXA_SRC_DIR)/graphics ###### not used
PXA_SRC_MPDC_DIR := $(PXA_SRC_DIR)/mpdc ######## not used
PXA_SRC_XDB_DIR := $(PXA_SRC_DIR)/xdb ####### not used
############################## all above directory can't be located in telephony root directory ##################################
###### such CONFIG_ defined in .config this one "n" ########################
ifeq "$(CONFIG_CPU_MHNL)" "y"
WTPTP_DIR_SUFFIX=pxa300
endif
ifeq "$(CONFIG_CPU_MHNLV)" "y" ############ also " n" #############################
WTPTP_DIR_SUFFIX=pxa310
endif
ifeq "$(CONFIG_CPU_TAVOR)" "y" ############# CONFIG_CPU_TAVOR "y" #############################
WTPTP_DIR_SUFFIX=pxa930
endif
PXA_SRC_WTPTP_DIR := $(PXA_SRC_DIR)/wtptp_$(WTPTP_DIR_SUFFIX)
### /home/sunrise/TavorVl9.2.003/src/pxalinux/marvell/src/wtptp_pxa930 well not in telephony directory ############################
ifeq "$(CONFIG_GEN_DEBUG)" "y" ####### not set CONFIG_GEN_DEBUG ##########################
DBG_REL_VER := dbg
else
DBG_REL_VER := rel ####### rel maybe means release version ############################
endif
########## locate a rel directory "/home/sunrise/TavorVl9.2.003/src/pxalinux/mavell/rel" ##################
#Host related dir
ifeq "$(CONFIG_CC_DEVELOPMENT)" "y" ##### this CONFIG defines in its own file "n" ###################
DUMMY := $(shell if [ ! -e $$HOME/xscalelinux ];then mkdir -p $$HOME/xscalelinux;/
cp -fr ../dbg $$HOME/xscalelinux;cp -fr ../rel $$HOME/xscalelinux;fi;)
PXA_HOST_DIR := $(HOME)/xscalelinux/$(DBG_REL_VER)/host
else
PXA_HOST_DIR := $(PXA_ROOT_DIR)/$(DBG_REL_VER)/host ##### it takes effect ###########
endif
PXA_HOST_INCLUDE_DIR := $(PXA_HOST_DIR)/include
PXA_HOST_LIB_DIR := $(PXA_HOST_DIR)/lib
#Target related dir
ifeq "$(CONFIG_CC_DEVELOPMENT)" "y" ##### defines in this file " n " #######################################
PXA_TARGET_DIR := $(HOME)/xscalelinux/$(DBG_REL_VER)/target
else
PXA_TARGET_DIR := $(PXA_ROOT_DIR)/output
endif
PXA_TARGET_FS_DIR := $(PXA_TARGET_DIR)/marvell
PXA_TARGET_MOD_DIR := $(PXA_TARGET_FS_DIR)/lib/modules
PXA_TARGET_LIB_DIR := $(PXA_TARGET_FS_DIR)/usr/lib
PXA_TARGET_BIN_DIR := $(PXA_TARGET_FS_DIR)/usr/bin
PXA_TARGET_IMAGE_DIR := $(PXA_TARGET_DIR)/
# END SECTION (Define)
#*****************************************************************************
##############################################################################
# BEGIN SECTION (complier parameter)
#
# Compiler setting
#
export ARCH := arm
ifeq "$(CONFIG_BIONIC)" "y"
export CROSS_COMPILE := arm-eabi- #### this CROSS_COMPILE takes effect ################
else
export CROSS_COMPILE := arm-linux-
endif
#
# Include make variables (CC, etc...)
#
ASM := $(CROSS_COMPILE)as
LD := $(CROSS_COMPILE)ld
CC := $(CROSS_COMPILE)gcc
CPP := $(CROSS_COMPILE)c++
AR := $(CROSS_COMPILE)ar
RANLIB := $(CROSS_COMPILE)ranlib
STRIP := $(CROSS_COMPILE)strip
OBJCOPY := $(CROSS_COMPILE)objcopy
OBJDUMP := $(CROSS_COMPILE)objdump
CCOMPILER=$(CC)
ifeq "$(CONFIG_BIONIC)" "y"
include $(PXA_SRC_DIR)/Bionic.make #### Bionic.make included #########
PXA_HOST_INCLUDE_DIR := $(PXA_SRC_ANDROID_DEVICE_DIR)/vendor/marvell/external/alsa/alsa-lib/include
#PXA_HOST_INCLUDE_DIR := $(PXA_SRC_ANDROID_DEVICE_DIR)/vendor/marvell/external/alsa/alsa-lib
else
LIBDIR := -L$(PXA_HOST_LIB_DIR) -L$(PXA_TARGET_FS_DIR)/lib -L$(PXA_SRC_DIR)
endif
COMMONCFLAGS = $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux -DLINUX -D__linux__ -fno-exceptions
###### what's the above flags ?? #######################################
#
# Flag declare
#
ifeq "$(CONFIG_BIONIC)" "y"
ifeq "$(CONFIG_GEN_DEBUG)" "y" ##### no here just " n " ##############
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR) -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
$(COMMONCFLAGS) $(BIONICS_INCS) -I$(PXA_SRC_PVK_LNX_DIR)/arch/arm/include
AFLAGS = -mcpu=iwmmxt
else
############################ #################################################
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall ##### it takes effect here ##############
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
$(COMMONCFLAGS) $(BIONICS_INCS) -I$(PXA_SRC_PVK_LNX_DIR)/arch/arm/include
AFLAGS = -mcpu=iwmmxt
#WARNINGFLAG = -W
#CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
# -O2 $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
#AFLAGS = -mcpu=iwmmxt
endif
CFLAGS+=-DBIONIC
################# the below will not impement ################################
else
ifeq "$(CONFIG_GEN_DEBUG)" "y"
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
-g $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
AFLAGS = -mcpu=iwmmxt
else
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
-g $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
AFLAGS = -mcpu=iwmmxt
#WARNINGFLAG = -W
#CFLAGS = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
# -O2 $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
#AFLAGS = -mcpu=iwmmxt
endif
endif
##################### the above will not implement #####################################
ifeq "$(CONFIG_INSTRUMENT)" "y"
CFLAGS+=-finstrument-functions -rdynamic
endif
.SUFFIXES : .o .S .s .cpp .c .i
.S.o :
$(ASM) $(AFLAGS) -o $@ $<
.s.o :
$(ASM) $(AFLAGS) -o $@ $<
.cpp.o :
$(CPP) $(CFLAGS) -c -o $@ $<
.c.o :
$(CC) $(CFLAGS) -c -o $@ $<
.c.i :
$(CC) $(CFLAGS) -DDIAG_API_H -C -E -o $@ $<
ifneq ($(shell echo $$UID), 0)
export SUDO=sudo
else
endif
# END SECTION (complier parameter)
#****************************************************************************
相关文章推荐
- android telephony 模块makefile, .config , Rules.make
- android telephony 模块makefile, .config , Rules.make
- Android模块编译过程中的错误no rules to make target
- [android-telephony]Android_Telephony(基于N&&O版本)模块介绍
- Android Telephony主要模块及功能
- [android-telephony]Android_Telephony(基于N&&O版本)模块介绍
- android telephony模块——serviceStateTracker
- android 单独编译某个模块发生错误:make: *** 没有规则可以创建“out/target/common/obj/APPS/Browser_intermediates/src/R.stamp
- android telephony 模块.config
- android telephony 模块.config
- 近期会花时间来分析下Android Telephony模块,组织上的任务-。-
- Android 编译Settings、Mms等模块,并Push到手机中安装失败
- android常见面试模块
- Android Recovery OTA升级(一)—— make otapackage
- android音视频点/直播模块开发
- nginx_mod_h264_streaming-2.2.7模块遇到不完整MP4文件导致nginx进程死掉( truncated mp4 make nginx crash)
- 怎么将android单个模块源代码导入到eclipse里编译
- Android图片加载框架最全解析(六),探究Glide的自定义模块功能
- Toast--Android 专属浮动小提示 Toast.makeText