作用:
1.遍历C/C++源文件中的每个目录
2.再遍历每个目录下的C/C++文件,加入到LOCAL_SRC_FILES
3.include需要引用的头文件目录
4.链接必须的lib文件
5.生成动态/静态库
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := dlna APP_SUBDIRS := $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage -type d)) APP_SUBDIRS := $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/http -type d)) APP_SUBDIRS := $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/io -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/net -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/net -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/soap -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/util -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/xml -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/xml/libxml2 -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/control -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/device -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/event -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/media -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/media/server -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/media/server/object -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/ssdp -type d)) APP_SUBDIRS += $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src/cybergarage/upnp/xml -type d)) # Add more subdirs here, like src/subdir1 src/subdir2 LOCAL_CFLAGS := $(foreach D, $(APP_SUBDIRS), -I$(LOCAL_PATH)/$(D)) \ -I$(LOCAL_PATH)/include -I$(LOCAL_PATH)"/libxml2-2.7.2/include" -DHAVE_CONFIG_H -fexceptions #Change C++ file extension as appropriate LOCAL_CPP_EXTENSION := .cpp LOCAL_SRC_FILES := $(foreach F, $(APP_SUBDIRS), $(addprefix $(F)/,$(notdir $(wildcard $(LOCAL_PATH)/$(F)/*.cpp)))) # Uncomment to also add C sources LOCAL_SRC_FILES += $(foreach F, $(APP_SUBDIRS), $(addprefix $(F)/,$(notdir $(wildcard $(LOCAL_PATH)/$(F)/*.c)))) LOCAL_SHARED_LIBRARIES := LOCAL_STATIC_LIBRARIES := LOCAL_LDLIBS :=-ldl -llog -lpthread include $(BUILD_SHARED_LIBRARY)