Makefile 2.4 KB

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