Makefile 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. ##
  2. # Copyright (C) 2020 Alibaba Group Holding Limited
  3. ##
  4. test = $(shell if [ -f "../.param" ]; then echo "exist"; else echo "noexist"; fi)
  5. ifeq ("$(test)", "exist")
  6. include ../.param
  7. endif
  8. CONFIG_COMPILE_PLATFORM=RISCV
  9. CONFIG_ISP_BUILD_TYPE=DEBUG
  10. #CONFIG_ISP_BUILD_TYPE=RELEASE
  11. CONFIG_ISP_VERSION=ISP8000L_V2008
  12. CONFIG_ISP_RY_BUILD_TYPE=DEBUG
  13. #CONFIG_ISP_RY_BUILD_TYPE=RELEASE
  14. CONFIG_ISP_RY_VERSION=ISP8000_V2009
  15. CONFIG_MAKE_ISP_DRIVER_CMD:= \
  16. make -C vvcam/native VERSION_CFG=$(CONFIG_ISP_VERSION) \
  17. KERNEL=$(LINUX_DIR) CROSS=$(CROSS_COMPILE) ARCH=$(ARCH) BOARD_NAME=$(BOARD_NAME)
  18. CONFIG_DW200_CMAKE_CMD:= \
  19. cmake -DCMODEL=$(CONFIG_DW200_CMODEL) \
  20. -DV4L2=$(CONFIG_DW200_V4L2) \
  21. -DARM64_LOCAL_CROSS=OFF ..
  22. CONFIG_DEC400_CMAKE_CMD:= \
  23. cmake -Wno-dev ..
  24. CONFIG_MAKE_ISP_RY_DRIVER_CMD:= \
  25. make -C vvcam_ry/native VERSION_CFG=$(CONFIG_ISP_RY_VERSION) \
  26. KERNEL=$(LINUX_DIR) CROSS=$(CROSS_COMPILE) ARCH=$(ARCH) BOARD_NAME=$(BOARD_NAME)
  27. DIR_ISP_TARGET_BASE=bsp/isp
  28. DIR_ISP_TARGET_KO =bsp/isp/ko
  29. DIR_ISP_RY_TARGET_BASE=bsp/isp_ry
  30. DIR_ISP_RY_TARGET_KO =bsp/isp_ry/ko
  31. DIR_DW200_TARGET_BASE=bsp/dw200
  32. DIR_DEC400_TARGET_BASE=bsp/dec400
  33. MODULE_NAME=ISP
  34. BUILD_LOG_START="\033[47;30m>>> $(MODULE_NAME) $@ begin\033[0m"
  35. BUILD_LOG_END ="\033[47;30m<<< $(MODULE_NAME) $@ end\033[0m"
  36. #
  37. # Do a parallel build with multiple jobs, based on the number of CPUs online
  38. # in this system: 'make -j8' on a 8-CPU system, etc.
  39. #
  40. # (To override it, run 'make JOBS=1' and similar.)
  41. #
  42. ifeq ($(JOBS),)
  43. JOBS := $(shell grep -c ^processor /proc/cpuinfo 2>/dev/null)
  44. ifeq ($(JOBS),)
  45. JOBS := 1
  46. endif
  47. endif
  48. all: info isp_driver isp_ry_driver\
  49. install_local_output install_rootfs
  50. .PHONY: info isp_driver isp_ry_driver\
  51. install_local_output install_rootfs \
  52. clean_isp_driver clean_isp_ry_driver \
  53. clean_output clean
  54. info:
  55. @echo $(BUILD_LOG_START)
  56. @echo " ====== Build Info from repo project ======"
  57. @echo " BUILDROOT_DIR="$(BUILDROOT_DIR)
  58. @echo " CROSS_COMPILE="$(CROSS_COMPILE)
  59. @echo " LINUX_DIR="$(LINUX_DIR)
  60. @echo " ARCH="$(ARCH)
  61. @echo " BOARD_NAME="$(BOARD_NAME)
  62. @echo " KERNEL_ID="$(KERNELVERSION)
  63. @echo " KERNEL_DIR="$(LINUX_DIR)
  64. @echo " INSTALL_DIR_ROOTFS="$(INSTALL_DIR_ROOTFS)
  65. @echo " DIR_MODULE_TOP="$(DIR_MODULE_TOP)
  66. @echo " ====== Build configuration by settings ======"
  67. @echo " COMPILE_PLATFORM="$(CONFIG_COMPILE_PLATFORM)
  68. @echo " JOBS="$(JOBS)
  69. @echo " ISP_BUILD_TYPE="$(CONFIG_ISP_BUILD_TYPE)
  70. @echo " ISP_VERSION="$(CONFIG_ISP_VERSION)
  71. @echo " CMAKE_ISP_DRIVER_CMD=" $(CONFIG_MAKE_ISP_DRIVER_CMD)
  72. @echo " DW200_CMODEL="$(CONFIG_DW200_CMODEL)
  73. @echo " DW200_V4L2="$(CONFIG_DW200_V4L2)
  74. @echo " DW200_BUILD_DIR="$(CONFIG_DW200_BUILD_DIR)
  75. @echo " DW200_CMAKE_CMD="$(CONFIG_DW200_CMAKE_CMD)
  76. @echo " DEC400_BUILD_DIR="$(CONFIG_DEC400_BUILD_DIR)
  77. @echo " DEC400_CMAKE_CMD="$(CONFIG_DEC400_CMAKE_CMD)
  78. @echo " ISP_RY_BUILD_TYPE="$(CONFIG_ISP_RY_BUILD_TYPE)
  79. @echo " ISP_RY_VERSION="$(CONFIG_ISP_RY_VERSION)
  80. @echo $(BUILD_LOG_END)
  81. isp_driver:
  82. @echo $(BUILD_LOG_START)
  83. $(CONFIG_MAKE_ISP_DRIVER_CMD)
  84. @echo $(BUILD_LOG_END)
  85. clean_isp_driver:
  86. @echo $(BUILD_LOG_START)
  87. make -C vvcam/native VERSION_CFG=$(CONFIG_ISP_VERSION) clean
  88. #make -C vvcam/v4l2 VERSION_CFG=$(CONFIG_ISP_VERSION) clean
  89. rm -f vvcam/dw200/.*.o.cmd
  90. rm -f vvcam/isp/.*.o.cmd
  91. rm -f vvcam/native/bin/*.ko
  92. @echo $(BUILD_LOG_END)
  93. isp_ry_driver:
  94. @echo $(BUILD_LOG_START)
  95. $(CONFIG_MAKE_ISP_RY_DRIVER_CMD)
  96. @echo $(BUILD_LOG_END)
  97. clean_isp_ry_driver:
  98. @echo $(BUILD_LOG_START)
  99. make -C vvcam_ry/native VERSION_CFG=$(CONFIG_ISP_RY_VERSION) clean
  100. make -C vvcam_ry/v4l2 VERSION_CFG=$(CONFIG_ISP_RY_VERSION) clean
  101. rm -f vvcam_ry/dw200/.*.o.cmd
  102. rm -f vvcam_ry/isp/.*.o.cmd
  103. rm -f vvcam_ry/native/bin/*.ko
  104. @echo $(BUILD_LOG_END)
  105. install_local_output: isp_driver isp_ry_driver
  106. @echo $(BUILD_LOG_START)
  107. # isp driver files
  108. mkdir -p ./output/rootfs/$(DIR_ISP_TARGET_KO)
  109. chmod +x ./vvcam/native/bin/*.sh
  110. cp -f ./vvcam/native/bin/* ./output/rootfs/$(DIR_ISP_TARGET_KO)
  111. # isp ry driver files
  112. mkdir -p ./output/rootfs/$(DIR_ISP_RY_TARGET_KO)
  113. chmod +x ./vvcam_ry/native/bin/*.sh
  114. cp -f ./vvcam_ry/native/bin/vvcam_isp_ry.ko ./output/rootfs/$(DIR_ISP_TARGET_KO)
  115. install_rootfs: install_local_output
  116. @echo $(BUILD_LOG_START)
  117. # cp -rf output/rootfs/* $(INSTALL_DIR_ROOTFS)
  118. @echo $(BUILD_LOG_END)
  119. clean_output:
  120. @echo $(BUILD_LOG_START)
  121. rm -rf ./output
  122. rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_ISP_TARGET_BASE)
  123. rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_ISP_RY_TARGET_BASE)
  124. rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_DW200_TARGET_BASE)
  125. rm -rf $(INSTALL_DIR_ROOTFS)/$(DIR_DEC400_TARGET_BASE)
  126. @echo $(BUILD_LOG_END)
  127. clean_proprietories_include:
  128. @echo $(BUILD_LOG_START)
  129. @echo $(BUILD_LOG_END)
  130. clean: clean_output clean_isp_driver \
  131. clean_isp_ry_driver clean_proprietories_include