Android中Android.mk循环编译多个模块

没想到Android.mk也如此强大,也支持使用foreach循环编译多目标

方法如下:

假设有两个模块需要编译,原来是这样写:

# =====================================================
include $(CLEAR_VARS)
LOCAL_MODULE := echo_usbhost_test
LOCAL_SRC_FILES := echo_usbhost_test.c
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/data
LOCAL_CFLAGS += $(PCBA_FLAG)
LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(BUILD_EXECUTABLE)

# =====================================================
include $(CLEAR_VARS)
LOCAL_MODULE := echo_auto_test
LOCAL_SRC_FILES := echo_auto_test.c
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/data
LOCAL_CFLAGS += $(PCBA_FLAG)
LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(BUILD_EXECUTABLE)

使用循环后是:

############################################################
MY_SRCS := echo_usbhost_test.c \
	echo_auto_test.c

$(foreach module,$(MY_SRCS), \
   $(eval include $(CLEAR_VARS)) \
   $(eval LOCAL_MODULE := $(basen

猜你喜欢

转载自blog.csdn.net/u013463707/article/details/97375382