Makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. ##
  2. # Copyright (C) 2020 Alibaba Group Holding Limited
  3. ##
  4. ifneq ($(wildcard ../.param),)
  5. include ../.param
  6. endif
  7. #CONFIG_DEBUG_MODE=1
  8. CONFIG_OUT_ENV=hwlinux
  9. CONFIG_BUILD_DRV_EXTRA_PARAM:=""
  10. DIR_TARGET_BASE=bsp/venc
  11. DIR_TARGET_KO =bsp/venc/ko
  12. MODULE_NAME=VENC
  13. BUILD_LOG_START="\033[47;30m>>> $(MODULE_NAME) $@ begin\033[0m"
  14. BUILD_LOG_END ="\033[47;30m<<< $(MODULE_NAME) $@ end\033[0m"
  15. #
  16. # Do a parallel build with multiple jobs, based on the number of CPUs online
  17. # in this system: 'make -j8' on a 8-CPU system, etc.
  18. #
  19. # (To override it, run 'make JOBS=1' and similar.)
  20. #
  21. ifeq ($(JOBS),)
  22. JOBS := $(shell grep -c ^processor /proc/cpuinfo 2>/dev/null)
  23. ifeq ($(JOBS),)
  24. JOBS := 1
  25. endif
  26. endif
  27. all: info driver install_local_output
  28. .PHONY: info driver install_local_output install_addons install_prepare clean_driver clean_output clean
  29. info:
  30. @echo $(BUILD_LOG_START)
  31. @echo " ====== Build Info from repo project ======"
  32. @echo " BUILDROOT_DIR="$(BUILDROOT_DIR)
  33. @echo " CROSS_COMPILE="$(CROSS_COMPILE)
  34. @echo " LINUX_DIR="$(LINUX_DIR)
  35. @echo " ARCH="$(ARCH)
  36. @echo " BOARD_NAME="$(BOARD_NAME)
  37. @echo " KERNEL_ID="$(KERNELVERSION)
  38. @echo " KERNEL_DIR="$(LINUX_DIR)
  39. @echo " INSTALL_DIR_ROOTFS="$(INSTALL_DIR_ROOTFS)
  40. @echo " INSTALL_DIR_SDK="$(INSTALL_DIR_SDK)
  41. @echo " ====== Build configuration by settings ======"
  42. # @echo " CONFIG_DEBUG_MODE="$(CONFIG_DEBUG_MODE)
  43. @echo " CONFIG_OUT_ENV="$(CONFIG_OUT_ENV)
  44. @echo " JOBS="$(JOBS)
  45. @echo $(BUILD_LOG_END)
  46. driver:
  47. @echo $(BUILD_LOG_START)
  48. make -C linux/kernel_module KDIR=$(LINUX_DIR) ARCH=$(ARCH)
  49. @echo $(BUILD_LOG_END)
  50. clean_driver:
  51. @echo $(BUILD_LOG_START)
  52. make -C linux/kernel_module KDIR=$(LINUX_DIR) clean
  53. @echo $(BUILD_LOG_END)
  54. install_prepare:
  55. mkdir -p ./output/rootfs/$(DIR_TARGET_KO)
  56. install_addons: install_prepare
  57. @if [ -d addons/ko ]; then \
  58. cp -rf addons/ko/* ./output/rootfs/$(DIR_TARGET_KO); \
  59. fi
  60. install_local_output: install_addons install_prepare driver
  61. @echo $(BUILD_LOG_START)
  62. find ./linux -name "*.ko" | xargs -i cp -f {} ./output/rootfs/$(DIR_TARGET_KO)
  63. cp -f ./linux/kernel_module/driver_load.sh ./output/rootfs/$(DIR_TARGET_KO)
  64. chmod +x ./output/rootfs/$(DIR_TARGET_KO)/*.sh
  65. echo "vc8000" > ./output/rootfs/$(DIR_TARGET_KO)/vc8000e.conf
  66. @if [ `command -v tree` != "" ]; then \
  67. tree ./output/rootfs; \
  68. fi
  69. @echo $(BUILD_LOG_END)
  70. clean_output:
  71. @echo $(BUILD_LOG_START)
  72. rm -rf ./output
  73. @echo $(BUILD_LOG_END)
  74. clean: clean_output clean_driver