2
0

Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # SPDX-License-Identifier: GPL-3.0-only
  2. #
  3. # Copyright (C) 2022 ImmortalWrt.org
  4. include $(TOPDIR)/rules.mk
  5. PKG_NAME:=gn
  6. PKG_RELEASE:=1
  7. PKG_SOURCE_PROTO:=git
  8. PKG_SOURCE_URL:=https://gn.googlesource.com/gn.git
  9. PKG_SOURCE_DATE:=2023-04-05
  10. PKG_SOURCE_VERSION:=28b7b6c507eb808567e3aea446cd259f7691fddc
  11. PKG_MIRROR_HASH:=5b112442eabea4b906cc409237fac13b8efb4f5acb25989b1883d5ce96deebd2
  12. PKG_LICENSE:=BSD 3-Clause
  13. PKG_LICENSE_FILES:=LICENSE
  14. PKG_MAINTAINER:=Tianling Shen <[email protected]>
  15. ifneq ($(wildcard $(TOPDIR)/feeds/packages/devel/ninja/ninja.mk),)
  16. PKG_BUILD_DEPENDS+= ninja/host
  17. endif
  18. PKG_HOST_ONLY:=1
  19. HOST_BUILD_PARALLEL:=1
  20. include $(INCLUDE_DIR)/host-build.mk
  21. include $(INCLUDE_DIR)/package.mk
  22. define Package/gn
  23. SECTION:=devel
  24. CATEGORY:=Development
  25. TITLE:=A meta-build system that generates build files for Ninja
  26. URL:=https://gn.googlesource.com/gn/
  27. BUILDONLY:=1
  28. endef
  29. define Package/gn/description
  30. GN can generate Ninja build files for C, C++, Rust, Objective C,
  31. and Swift source on most popular platforms.
  32. endef
  33. define Host/Configure
  34. $(PYTHON) $(HOST_BUILD_DIR)/build/gen.py \
  35. --no-last-commit-position
  36. endef
  37. define Host/Compile
  38. ninja -C $(HOST_BUILD_DIR)/out
  39. endef
  40. define Host/Install
  41. $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
  42. $(INSTALL_BIN) $(HOST_BUILD_DIR)/out/gn $(STAGING_DIR_HOSTPKG)/bin/
  43. endef
  44. define Host/Clean
  45. $(RM) $(STAGING_DIR_HOSTPKG)/bin/gn
  46. endef
  47. $(eval $(call HostBuild))
  48. $(eval $(call BuildPackage,gn))