简体   繁体   English

android-ndk makefile中常见的预定义变量是什么,如何查看?

[英]What are common predefined variables in an android-ndk makefile, and how can I see these?

What are common predefined variables in an android-ndk makefile, and how can I see these? android-ndk makefile中常见的预定义变量是什么,如何查看?

For example, TARGET_PLATFORM . 例如, TARGET_PLATFORM

What others are there, and how can I output the value? 还有其他什么,我该如何输出值?

You can output a string $(warning "FOO") or $(info "FOO") 您可以输出字符串$(warning "FOO")$(info "FOO")

Using warning , file and line-number is included in output. 使用warning ,文件和行号包含在输出中。

With info , only the string is printed. 使用info ,仅打印字符串。


Many of the predefined android-ndk variables are documented in 许多预定义的android-ndk变量记录在

  • [ANDROID_NDK_DIR]/docs/ANDROID-MK.html
  • [ANDROID_NDK_DIR]/docs/APPLICATION-MK.html . [ANDROID_NDK_DIR]/docs/APPLICATION-MK.html

Others are undocumented. 其他未记录。 For example NDK_MAX_PLATFORM_LEVEL 例如NDK_MAX_PLATFORM_LEVEL

To print most variables: 要打印大多数变量:

$(info "---------- ANDROID.MK VARS --------------")
$(info "TARGET_ARCH: $(TARGET_ARCH)")
$(info "TARGET_PLATFORM: $(TARGET_PLATFORM)")
$(info "TARGET_ARCH_ABI: $(TARGET_ARCH_ABI)")
$(info "TARGET_ABI: $(TARGET_ABI)")
$(info "LOCAL_PATH: $(LOCAL_PATH)")
$(info "LOCAL_MODULE: $(LOCAL_MODULE)")
$(info "LOCAL_MODULE_FILENAME: $(LOCAL_MODULE_FILENAME)")
$(info "LOCAL_SRC_FILES: $(LOCAL_SRC_FILES)")
$(info "LOCAL_CPP_EXTENSION: $(LOCAL_CPP_EXTENSION)")
$(info "LOCAL_CPP_FEATURES: $(LOCAL_CPP_FEATURES)")
$(info "LOCAL_C_INCLUDES: $(LOCAL_C_INCLUDES)")
$(info "LOCAL_CFLAGS: $(LOCAL_CFLAGS)")
$(info "LOCAL_CXXFLAGS: $(LOCAL_CXXFLAGS)")
$(info "LOCAL_CPPFLAGS: $(LOCAL_CPPFLAGS)")
$(info "LOCAL_STATIC_LIBRARIES: $(LOCAL_STATIC_LIBRARIES)")
$(info "LOCAL_SHARED_LIBRARIES: $(LOCAL_SHARED_LIBRARIES)")
$(info "LOCAL_WHOLE_STATIC_LIBRARIES: $(LOCAL_WHOLE_STATIC_LIBRARIES)")
$(info "LOCAL_LDLIBS: $(LOCAL_LDLIBS)")
$(info "LOCAL_LDFLAGS: $(LOCAL_LDFLAGS)")
$(info "LOCAL_ALLOW_UNDEFINED_SYMBOLS: $(LOCAL_ALLOW_UNDEFINED_SYMBOLS)")
$(info "LOCAL_ARM_MODE: $(LOCAL_ARM_MODE)")
$(info "LOCAL_ARM_NEON: $(LOCAL_ARM_NEON)")
$(info "LOCAL_DISABLE_NO_EXECUTE: $(LOCAL_DISABLE_NO_EXECUTE)")
$(info "LOCAL_DISABLE_RELRO: $(LOCAL_DISABLE_RELRO)")
$(info "LOCAL_DISABLE_FORMAT_STRING_CHECKS: $(LOCAL_DISABLE_FORMAT_STRING_CHECKS)")
$(info "LOCAL_EXPORT_CFLAGS: $(LOCAL_EXPORT_CFLAGS)")
$(info "LOCAL_EXPORT_CPPFLAGS: $(LOCAL_EXPORT_CPPFLAGS)")
$(info "LOCAL_EXPORT_C_INCLUDES: $(LOCAL_EXPORT_C_INCLUDES)")
$(info "LOCAL_EXPORT_LDFLAGS: $(LOCAL_EXPORT_LDFLAGS)")
$(info "LOCAL_EXPORT_LDLIBS: $(LOCAL_EXPORT_LDLIBS)")
$(info "LOCAL_SHORT_COMMANDS: $(LOCAL_SHORT_COMMANDS)")
$(info "LOCAL_THIN_ARCHIVE: $(LOCAL_THIN_ARCHIVE)")
$(info "LOCAL_FILTER_ASM: $(LOCAL_FILTER_ASM)")

$(info "---------- APPLICATION.MK VARS --------------")
$(info "APP_PROJECT_PATH: $(APP_PROJECT_PATH)")
$(info "APP_MODULES: $(APP_MODULES)")
$(info "APP_OPTIM: $(APP_OPTIM)")
$(info "APP_CFLAGS: $(APP_CFLAGS)")
$(info "APP_CXXFLAGS: $(APP_CXXFLAGS)")
$(info "APP_CPPFLAGS: $(APP_CPPFLAGS)")
$(info "APP_LDFLAGS: $(APP_LDFLAGS)")
$(info "APP_BUILD_SCRIPT: $(APP_BUILD_SCRIPT)")
$(info "APP_ABI: $(APP_ABI)")
$(info "APP_PLATFORM: $(APP_PLATFORM)")
$(info "APP_STL: $(APP_STL)")
$(info "APP_GNUSTL_FORCE_CPP_FEATURES: $(APP_GNUSTL_FORCE_CPP_FEATURES)")
$(info "APP_SHORT_COMMANDS: $(APP_SHORT_COMMANDS)")
$(info "NDK_TOOLCHAIN_VERSION: $(NDK_TOOLCHAIN_VERSION)")
$(info "APP_PIE: $(APP_PIE)")
$(info "APP_THIN_ARCHIVE: $(APP_THIN_ARCHIVE)")

$(info "---------- OTHER VARS --------------")
$(info "NDK_PLATFORMS_ROOT: $(NDK_PLATFORMS_ROOT)")
$(info "NDK_ROOT: $(NDK_ROOT)")
$(info "NDK_ALL_PLATFORMS: $(NDK_ALL_PLATFORMS)")
$(info "BUILD_SYSTEM: $(BUILD_SYSTEM)")
$(info "NDK_ALL_PLATFORM_LEVELS: $(NDK_ALL_PLATFORM_LEVELS)")
$(info "NDK_MAX_PLATFORM_LEVEL: $(NDK_MAX_PLATFORM_LEVEL)")
$(info "NDK_KNOWN_DEVICE_ABIS: $(NDK_KNOWN_DEVICE_ABIS)")
$(info "NDK_KNOWN_ABIS: $(NDK_KNOWN_ABIS)")
$(info "NDK_KNOWN_ARCHS: $(NDK_KNOWN_ARCHS)")
$(info "NDK_FOUND_ARCHS: $(NDK_FOUND_ARCHS)")
$(info "NDK_APP_ABI_ALL_EXPANDED: $(NDK_APP_ABI_ALL_EXPANDED)")
$(info "NDK_ALL_TOOLCHAINS: $(NDK_ALL_TOOLCHAINS)")
$(info "NDK_ALL_ABIS: $(NDK_ALL_ABIS)")
$(info "NDK_ALL_ARCHS: $(NDK_ALL_ARCHS)")
$(info "TOOLCHAIN_CONFIGS: $(TOOLCHAIN_CONFIGS)")
$(info "NDK_TOOLCHAIN: $(NDK_TOOLCHAIN)")

If your "make" program is GNU make , it recognizes a "-p" option which shows all of the variables in effect. 如果您的“ make”程序是GNU make ,它将识别一个“ -p”选项,该选项显示所有有效的变量。 You can do this for a given makefile by 您可以通过以下方式对给定的makefile执行此操作

make -n -p

Here is a tutorial which mentions the most common variables: The Developer's Guide 这是一个教程,其中提到了最常见的变量: 开发人员指南

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM