Makefile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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:=2025-04-29
  10. PKG_SOURCE_VERSION:=487f8353f15456474437df32bb186187b0940b45
  11. PKG_MIRROR_HASH:=9f017a7404faff9ba1896a2e22f96960e4976386b13dd4869d0c13a3e72c3581
  12. PKG_LICENSE:=BSD 3-Clause
  13. PKG_LICENSE_FILES:=LICENSE
  14. PKG_MAINTAINER:=Tianling Shen <[email protected]>
  15. PKG_HOST_ONLY:=1
  16. HOST_BUILD_PARALLEL:=1
  17. include $(INCLUDE_DIR)/host-build.mk
  18. include $(INCLUDE_DIR)/package.mk
  19. define Package/gn
  20. SECTION:=devel
  21. CATEGORY:=Development
  22. TITLE:=A meta-build system that generates build files for Ninja
  23. URL:=https://gn.googlesource.com/gn/
  24. BUILDONLY:=1
  25. endef
  26. define Package/gn/description
  27. GN can generate Ninja build files for C, C++, Rust, Objective C,
  28. and Swift source on most popular platforms.
  29. endef
  30. define Host/Configure
  31. $(PYTHON) $(HOST_BUILD_DIR)/build/gen.py \
  32. --no-last-commit-position
  33. endef
  34. define Host/Compile
  35. +$(NINJA) -C $(HOST_BUILD_DIR)/out
  36. endef
  37. define Host/Install
  38. $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
  39. $(INSTALL_BIN) $(HOST_BUILD_DIR)/out/gn $(STAGING_DIR_HOSTPKG)/bin/
  40. endef
  41. define Host/Clean
  42. $(RM) $(STAGING_DIR_HOSTPKG)/bin/gn
  43. endef
  44. $(eval $(call HostBuild))
  45. $(eval $(call BuildPackage,gn))