Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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-09-18
  10. PKG_SOURCE_VERSION:=81b24e01531ecf0eff12ec9359a555ec3944ec4e
  11. PKG_MIRROR_HASH:=833371c2e8e19a2705f6c9c89b9c7514ec0f4a466a818b6b8063d7dbfc846d4b
  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. --allow-warnings
  34. endef
  35. define Host/Compile
  36. +$(NINJA) -C $(HOST_BUILD_DIR)/out
  37. endef
  38. define Host/Install
  39. $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
  40. $(INSTALL_BIN) $(HOST_BUILD_DIR)/out/gn $(STAGING_DIR_HOSTPKG)/bin/
  41. endef
  42. define Host/Clean
  43. $(RM) $(STAGING_DIR_HOSTPKG)/bin/gn
  44. endef
  45. $(eval $(call HostBuild))
  46. $(eval $(call BuildPackage,gn))