Fix bad dependency between generated shared libraries and the corresponding installed module.
Also fixes the "make clean" target by the way.
This commit is contained in:
@@ -54,19 +54,29 @@ $(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS := $(TARGET_LDFLAGS) $(LOCAL_LDFLAGS)
|
||||
$(LOCAL_BUILT_MODULE): PRIVATE_LDLIBS := $(LOCAL_LDLIBS) $(TARGET_LDLIBS)
|
||||
|
||||
$(LOCAL_BUILT_MODULE): PRIVATE_NAME := $(notdir $(LOCAL_BUILT_MODULE))
|
||||
$(LOCAL_BUILT_MODULE): PRIVATE_DEST := $(NDK_APP_DEST)
|
||||
$(LOCAL_BUILT_MODULE): PRIVATE_SRC := $(LOCAL_BUILT_MODULE)
|
||||
$(LOCAL_BUILT_MODULE): PRIVATE_DST := $(PRIVATE_DEST)/$(PRIVATE_NAME)
|
||||
|
||||
$(LOCAL_BUILT_MODULE): $(LOCAL_OBJECTS)
|
||||
@ mkdir -p $(dir $@)
|
||||
@ echo "SharedLibrary : $(PRIVATE_NAME)"
|
||||
$(hide) $(cmd-build-shared-library)
|
||||
|
||||
ALL_SHARED_LIBRARIES += $(LOCAL_BUILT_MODULE)
|
||||
|
||||
# Installed module handling
|
||||
#
|
||||
LOCAL_INSTALLED_MODULE := $(NDK_APP_DEST)/$(notdir $(LOCAL_BUILT_MODULE))
|
||||
|
||||
$(LOCAL_INSTALLED_MODULE): PRIVATE_NAME := $(notdir $(LOCAL_BUILT_MODULE))
|
||||
$(LOCAL_INSTALLED_MODULE): PRIVATE_SRC := $(LOCAL_BUILT_MODULE)
|
||||
$(LOCAL_INSTALLED_MODULE): PRIVATE_DEST := $(NDK_APP_DEST)
|
||||
$(LOCAL_INSTALLED_MODULE): PRIVATE_DST := $(LOCAL_INSTALLED_MODULE)
|
||||
|
||||
$(LOCAL_INSTALLED_MODULE): $(LOCAL_BUILT_MODULE)
|
||||
@ echo "Install : $(PRIVATE_NAME) => $(PRIVATE_DEST)"
|
||||
$(hide) mkdir -p $(PRIVATE_DEST)
|
||||
$(hide) install -p $(PRIVATE_SRC) $(PRIVATE_DST)
|
||||
$(hide) $(call cmd-strip, $(PRIVATE_DST))
|
||||
|
||||
ALL_EXECUTABLES += $(LOCAL_BUILT_MODULE)
|
||||
ALL_INSTALLED_MODULES += $(LOCAL_INSTALLED_MODULE)
|
||||
|
||||
endif # filter LOCAL_MODULE in NDK_APP_MODULES
|
||||
|
||||
@@ -59,6 +59,6 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_OBJECTS)
|
||||
$(hide) rm -rf $@
|
||||
$(hide) $(cmd-build-static-library)
|
||||
|
||||
ALL_EXECUTABLES += $(LOCAL_BUILT_MODULE)
|
||||
ALL_STATIC_LIBRARIES += $(LOCAL_BUILT_MODULE)
|
||||
|
||||
endif # filter LOCAL_MODULE in NDK_APP_MODULES
|
||||
|
||||
@@ -193,9 +193,11 @@ $(call __ndk_info,Building for application '$(NDK_APPS)')
|
||||
# These phony targets are used to control various stages of the build
|
||||
.PHONY: all \
|
||||
host_libraries host_executables \
|
||||
installed_modules \
|
||||
executables libraries static_libraries shared_libraries \
|
||||
clean clean-config clean-objs-dir \
|
||||
clean-executables clean-libraries
|
||||
clean-executables clean-libraries \
|
||||
clean-installed-modules
|
||||
|
||||
# These macros are used in Android.mk to include the corresponding
|
||||
# build script that will parse the LOCAL_XXX variable definitions.
|
||||
@@ -228,9 +230,10 @@ ALL_HOST_STATIC_LIBRARIES :=
|
||||
ALL_STATIC_LIBRARIES :=
|
||||
ALL_SHARED_LIBRARIES :=
|
||||
ALL_EXECUTABLES :=
|
||||
ALL_INSTALLED_MODULES :=
|
||||
|
||||
# the first rule
|
||||
all: libraries executables
|
||||
all: installed_modules host_libraries host_executables
|
||||
|
||||
# ====================================================================
|
||||
#
|
||||
@@ -260,10 +263,11 @@ include build/core/setup-toolchain.mk
|
||||
#
|
||||
# ====================================================================
|
||||
|
||||
clean: clean-intermediates
|
||||
clean: clean-intermediates clean-installed-modules
|
||||
|
||||
distclean: clean clean-config
|
||||
|
||||
installed_modules: libraries $(ALL_INSTALLED_MODULES)
|
||||
host_libraries: $(HOST_STATIC_LIBRARIES)
|
||||
host_executables: $(HOST_EXECUTABLES)
|
||||
|
||||
@@ -274,10 +278,13 @@ executables: $(EXECUTABLES)
|
||||
libraries: static_libraries shared_libraries
|
||||
|
||||
clean-host-intermediates:
|
||||
$(hide) rm -rf $(NDK_HOST_OUT)/objs $(HOST_EXECUTABLES) $(HOST_STATIC_LIBRARIES)
|
||||
$(hide) rm -rf $(HOST_EXECUTABLES) $(HOST_STATIC_LIBRARIES)
|
||||
|
||||
clean-intermediates: clean-host-intermediates
|
||||
$(hide) rm -rf $(NDK_HOST_OUT)/objs $(EXECUTABLES) $(STATIC_LIBRARIES) $(SHARED_LIBRARIES)
|
||||
$(hide) rm -rf $(EXECUTABLES) $(STATIC_LIBRARIES) $(SHARED_LIBRARIES)
|
||||
|
||||
clean-installed-modules:
|
||||
$(hide) rm -rf $(ALL_INSTALLED_MODULES)
|
||||
|
||||
clean-config:
|
||||
$(hide) rm -f $(CONFIG_MAKE) $(CONFIG_H)
|
||||
|
||||
Reference in New Issue
Block a user