Makefile 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. # $OpenBSD: Makefile,v 1.20 2017/05/09 04:11:18 jsg Exp $
  2. BROKEN-sparc64= Error: the specified option is not accepted in ISB at operand 1 -- isb sy
  3. FLAVORS= aarch64 arm
  4. FLAVOR?= arm
  5. COMMENT= U-Boot firmware
  6. VERSION= 2017.05
  7. DISTNAME= u-boot-${VERSION}
  8. PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//}
  9. FULLPKGNAME= ${PKGNAME}
  10. CATEGORIES= sysutils
  11. HOMEPAGE= http://www.denx.de/wiki/U-Boot
  12. MAINTAINER= Jonathan Gray <jsg@openbsd.org>
  13. # GPLv2
  14. PERMIT_PACKAGE_CDROM= Yes
  15. MASTER_SITES= ftp://ftp.denx.de/pub/u-boot/
  16. EXTRACT_SUFX= .tar.bz2
  17. PKG_ARCH= *
  18. BUILD_DEPENDS= devel/dtc \
  19. devel/swig
  20. MODULES= lang/python
  21. MODPY_RUNDEP= No
  22. MODPY_ADJ_FILES=tools/binman/binman
  23. MAKE_ENV= KBUILD_VERBOSE=1 \
  24. PYTHON="${MODPY_BIN}"
  25. .if "${FLAVOR}" == "aarch64"
  26. BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,aarch64
  27. MAKE_ENV+= CROSS_COMPILE="aarch64-none-elf-"
  28. .elif "${FLAVOR}" == "arm"
  29. BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro
  30. MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-"
  31. .endif
  32. USE_GMAKE= Yes
  33. NO_TEST= Yes
  34. .if "${FLAVOR}" == "aarch64"
  35. BOARDS=\
  36. dragonboard410c \
  37. orangepi_pc2 \
  38. pine64_plus \
  39. rpi_3
  40. .elif "${FLAVOR}" == "arm"
  41. OMAP=\
  42. omap3_beagle \
  43. omap4_panda \
  44. am335x_boneblack \
  45. am57xx_evm
  46. SUNXI=\
  47. A10-OLinuXino-Lime \
  48. A10s-OLinuXino-M \
  49. A20-OLinuXino-Lime \
  50. A20-OLinuXino-Lime2 \
  51. A20-OLinuXino_MICRO \
  52. Bananapi \
  53. Bananapro \
  54. CHIP \
  55. CHIP_pro \
  56. Cubieboard \
  57. Cubieboard2 \
  58. Cubieboard4 \
  59. Cubietruck \
  60. Lamobo_R1 \
  61. Linksprite_pcDuino \
  62. Linksprite_pcDuino3 \
  63. Linksprite_pcDuino3_Nano \
  64. nanopi_neo \
  65. Orangepi \
  66. Orangepi_mini \
  67. orangepi_2 \
  68. orangepi_lite \
  69. orangepi_one \
  70. orangepi_pc \
  71. orangepi_pc_plus \
  72. orangepi_plus \
  73. orangepi_plus2e \
  74. orangepi_zero \
  75. Sinovoip_BPI_M2_plus
  76. IMX=\
  77. cm_fx6 \
  78. mx6cuboxi \
  79. mx6qsabrelite \
  80. nitrogen6q \
  81. novena \
  82. riotboard \
  83. udoo \
  84. usbarmory \
  85. wandboard
  86. BOARDS=\
  87. ${OMAP} \
  88. ${SUNXI} \
  89. ${IMX} \
  90. rpi_2 \
  91. rpi_3_32b \
  92. tinker-rk3288 \
  93. vexpress_ca15_tc2 \
  94. vexpress_ca9x4
  95. .endif
  96. FILES=\
  97. MLO \
  98. SPL \
  99. u-boot \
  100. u-boot.img \
  101. u-boot.bin \
  102. u-boot-sunxi-with-spl.bin \
  103. u-boot.imx \
  104. u-boot-spl.kwb
  105. pre-build:
  106. ${SUBST_CMD} ${WRKBUILD}/tools/Makefile
  107. do-build:
  108. .for BOARD in ${BOARDS}
  109. cd ${WRKSRC} && \
  110. mkdir -p build/${BOARD} && \
  111. ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
  112. O="build/${BOARD}" \
  113. -f ${MAKE_FILE} "${BOARD}"_defconfig && \
  114. ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
  115. O="build/${BOARD}" \
  116. -f ${MAKE_FILE} ${ALL_TARGET}
  117. .endfor
  118. do-install:
  119. ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot
  120. .for BOARD in ${BOARDS}
  121. ${INSTALL_DATA_DIR} ${PREFIX}/share/u-boot/${BOARD}
  122. -cd ${WRKSRC}/build/${BOARD} && \
  123. cp ${FILES} ${PREFIX}/share/u-boot/${BOARD}/
  124. .endfor
  125. .include <bsd.port.mk>