make libcamera showcommands
make 사용 시 어떤 파일들을 include 하고 있는 알고 싶을 경우
make [빌드할name] showcommands
를 사용한다.
분석하게 된 이유
Android Camera 관련 부분을 분석 하다가
/device/samsung/crespo/libcamera/SecCameraHWInterface.h
에서 아래와 같은
#include <camera/CameraHardwareInterface.h>
해더 파일을 include 하는 구문을 만나게 된다.
그런데, Local에 있는 Android.mk 파일에는 어느 곳에도
CameraHardwareInterface.h 를 포함하고 있지 않다.
어디서 가져와서 include 하는지 알고 싶어졌다.
확인 방법
Android 의 경우
find . -type f -name "*.mk" -exec grep -H "TARGET_PROJECT_INCLUDES" {} \;
와 같이 검색을 할 경우
./build/core/config.mk
에서
SRC_HEADERS := \
$(TOPDIR)system/core/include \
$(TOPDIR)hardware/libhardware/include \
$(TOPDIR)hardware/libhardware_legacy/include \
$(TOPDIR)hardware/ril/include \
$(TOPDIR)dalvik/libnativehelper/include \
$(TOPDIR)frameworks/base/include \
$(TOPDIR)frameworks/base/opengl/include \
$(TOPDIR)frameworks/base/native/include \
$(TOPDIR)external/skia/include
와
TARGET_PROJECT_INCLUDES:= $(SRC_HEADERS) $(TARGET_OUT_HEADERS)
부분을 확인 할 수 있다.
make libcamera showcommands 를 실행 시킬 경우
빌드 중에
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-g++ -I kernel/arch/arm/mach-tcc92xx/include -I dalvik/libnativehelper/include/nativehelper -I system/core/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I dalvik/libnativehelper/include -I frameworks/base/include -I frameworks/base/opengl/include -I frameworks/base/native/include -I external/skia/include -I bionic/libc/arch-arm/include -I bionic/libc/include -I bionic/libstdc++/include -I bionic/libc/kernel/common -I bionic/libc/kernel/arch-arm -I bionic/libm/include -I bionic/libm/include/arch/arm -I bionic/libthread_db/include -c -fno-exceptions -Wno-multichar -msoft-float -fpic -ffunction-sections -funwind-tables -fstack-protector -Wa,--noexecstack -Werror=format-security -fno-short-enums -mcpu=arm1136jf-s -mfloat-abi=softfp -mfpu=vfp -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -include system/core/include/arch/linux-arm/AndroidConfig.h -I system/core/include/arch/linux-arm/ -Wno-psabi -mthumb-interwork -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith
...
와 같이 확인 할 수 있다.
make [빌드할name] showcommands
를 사용한다.
분석하게 된 이유
Android Camera 관련 부분을 분석 하다가
/device/samsung/crespo/libcamera/SecCameraHWInterface.h
에서 아래와 같은
#include <camera/CameraHardwareInterface.h>
해더 파일을 include 하는 구문을 만나게 된다.
그런데, Local에 있는 Android.mk 파일에는 어느 곳에도
CameraHardwareInterface.h 를 포함하고 있지 않다.
어디서 가져와서 include 하는지 알고 싶어졌다.
확인 방법
Android 의 경우
find . -type f -name "*.mk" -exec grep -H "TARGET_PROJECT_INCLUDES" {} \;
와 같이 검색을 할 경우
./build/core/config.mk
에서
SRC_HEADERS := \
$(TOPDIR)system/core/include \
$(TOPDIR)hardware/libhardware/include \
$(TOPDIR)hardware/libhardware_legacy/include \
$(TOPDIR)hardware/ril/include \
$(TOPDIR)dalvik/libnativehelper/include \
$(TOPDIR)frameworks/base/include \
$(TOPDIR)frameworks/base/opengl/include \
$(TOPDIR)frameworks/base/native/include \
$(TOPDIR)external/skia/include
와
TARGET_PROJECT_INCLUDES:= $(SRC_HEADERS) $(TARGET_OUT_HEADERS)
부분을 확인 할 수 있다.
make libcamera showcommands 를 실행 시킬 경우
빌드 중에
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-g++ -I kernel/arch/arm/mach-tcc92xx/include -I dalvik/libnativehelper/include/nativehelper -I system/core/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I dalvik/libnativehelper/include -I frameworks/base/include -I frameworks/base/opengl/include -I frameworks/base/native/include -I external/skia/include -I bionic/libc/arch-arm/include -I bionic/libc/include -I bionic/libstdc++/include -I bionic/libc/kernel/common -I bionic/libc/kernel/arch-arm -I bionic/libm/include -I bionic/libm/include/arch/arm -I bionic/libthread_db/include -c -fno-exceptions -Wno-multichar -msoft-float -fpic -ffunction-sections -funwind-tables -fstack-protector -Wa,--noexecstack -Werror=format-security -fno-short-enums -mcpu=arm1136jf-s -mfloat-abi=softfp -mfpu=vfp -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -include system/core/include/arch/linux-arm/AndroidConfig.h -I system/core/include/arch/linux-arm/ -Wno-psabi -mthumb-interwork -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith
...
와 같이 확인 할 수 있다.
댓글
댓글 쓰기