0
我正在使用ndk-build构建库的bucnh。在某些时候,一个MK文件可能被包含两次,因为它进口的第三方库,我保护的双进口使用全局变量:Android makefiles:如何“提前回归”?
# Importing nlopt!
# Prevent warnings reporting module was imported twice:
ifneq ($(imported_nlopt_$(TARGET_ARCH_ABI)),true)
imported_nlopt_$(TARGET_ARCH_ABI) := true
ifeq ($(APP_OPTIM),debug)
# Importing static library nlopt_debug:
include $(CLEAR_VARS)
LOCAL_MODULE := nlopt_debug
LOCAL_SRC_FILES := nlopt/nlopt-2.4.2/lib/$(PLATFORM)/$(COMPILER)/Debug/$(LIB_PREFIX)nlopt$(DEBUG_INFIX)$(DYNAMIC_LINK_EXT)
include $(PREBUILT_SHARED_LIBRARY)
else
# Importing static library nlopt_release:
include $(CLEAR_VARS)
LOCAL_MODULE := nlopt_release
LOCAL_SRC_FILES := nlopt/nlopt-2.4.2/lib/$(PLATFORM)/$(COMPILER)/Release/$(LIB_PREFIX)nlopt$(DYNAMIC_LINK_EXT)
include $(PREBUILT_SHARED_LIBRARY)
endif
else
$(info "NLOPT already imported!")
endif
我需要做到这一点在许多地方,它开始是烦人我整个文件在if
声明中。
makefile中支持“早期回报”吗?我可以做些什么:
ifeq ($(imported_nlopt_$(TARGET_ARCH_ABI)),true)
return
endif
imported_nlopt_$(TARGET_ARCH_ABI) := true
...
return
当我执行此操作时无法识别。
AFAIK nope。没有这样的东西在做。 – Hayt