Makefile 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #
  2. # Copyright (C) 2009-2017 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. include $(TOPDIR)/rules.mk
  7. PKG_NAME:=bird2
  8. PKG_VERSION:=2.0.2
  9. PKG_RELEASE:=1
  10. PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz
  11. PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird
  12. PKG_HASH:=035f91d6f568f8ed438a0814235ac4c5c79147cd2acf201322c307732883480f
  13. PKG_BUILD_DEPENDS:=ncurses readline
  14. PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
  15. PKG_BUILD_DIR:=$(BUILD_DIR)/bird-$(PKG_VERSION)
  16. PKG_LICENSE:=GPL-2.0
  17. include $(INCLUDE_DIR)/package.mk
  18. define Package/bird2/Default/description
  19. BIRD is an internet routing daemon which manages TCP/IP routing tables
  20. with support of modern routing protocols, easy to use configuration
  21. interface and powerful route filtering language. It is lightweight and
  22. efficient and therefore appropriate for small embedded routers.
  23. endef
  24. define Package/bird2
  25. TITLE:=The BIRD Internet Routing Daemon (v2)
  26. URL:=http://bird.network.cz/
  27. SECTION:=net
  28. CATEGORY:=Network
  29. SUBMENU:=Routing and Redirection
  30. DEPENDS:=+libpthread
  31. CONFLICTS:=bird1-ipv4 bird1-ipv6 bird4 bird6
  32. endef
  33. define Package/bird2c
  34. TITLE:=The BIRD command-line client (v2)
  35. URL:=http://bird.network.cz/
  36. SECTION:=net
  37. CATEGORY:=Network
  38. SUBMENU:=Routing and Redirection
  39. DEPENDS:=+bird2 +libreadline +libncurses
  40. CONFLICTS:=bird1c-ipv4 bird1c-ipv6 birdc4 birdc6
  41. endef
  42. define Package/bird2cl
  43. TITLE:=The BIRD lightweight command-line client (v2)
  44. URL:=http://bird.network.cz/
  45. SECTION:=net
  46. CATEGORY:=Network
  47. SUBMENU:=Routing and Redirection
  48. DEPENDS:=+bird2
  49. CONFLICTS:=bird1cl-ipv4 bird1cl-ipv6 birdcl4 birdcl6
  50. endef
  51. define Package/bird2/description
  52. $(call Package/bird2/Default/description)
  53. BIRD supports OSPFv2, RIPv2, Babel and BGP protocols for IPv4 and
  54. OSPFv3, RIPng, Babel and BGP protocols for IPv6.
  55. In BGP, BIRD supports communities, multiprotocol extensions, MD5
  56. authentication, 32bit AS numbers and could act as a route server or a
  57. route reflector. BIRD also supports multiple RIBs, multiple kernel
  58. routing tables and redistribution between the protocols with a powerful
  59. configuration syntax.
  60. This is the 2.0 branch of Bird which integrates support for IPv4 and IPv6
  61. into a single branch, and also adds support for the Babel routing protocol.
  62. endef
  63. define Package/bird2c/description
  64. $(call Package/bird2/Default/description)
  65. This is a BIRD command-line client. It is used to send commands to BIRD,
  66. commands can perform simple actions such as enabling/disabling of
  67. protocols, telling BIRD to show various information, telling it to show
  68. a routing table filtered by a filter, or asking BIRD to reconfigure.
  69. Unless you can't afford dependency on ncurses and readline, you
  70. should install BIRD command-line client together with BIRD.
  71. endef
  72. define Package/bird2cl/description
  73. $(call Package/bird2/Default/description)
  74. This is a BIRD lightweight command-line client. It is used to send commands
  75. to BIRD, commands can perform simple actions such as enabling/disabling of
  76. protocols, telling BIRD to show various information, telling it to show
  77. a routing table filtered by a filter, or asking BIRD to reconfigure.
  78. endef
  79. CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
  80. define Package/bird2/conffiles
  81. /etc/bird.conf
  82. /etc/bird4.conf
  83. /etc/bird6.conf
  84. endef
  85. define Package/bird2/install
  86. $(INSTALL_DIR) $(1)/usr/sbin
  87. $(INSTALL_BIN) $(PKG_BUILD_DIR)/bird $(1)/usr/sbin/
  88. $(INSTALL_DIR) $(1)/etc
  89. $(INSTALL_DATA) ./files/bird.conf $(1)/etc/
  90. $(INSTALL_DIR) $(1)/etc/init.d
  91. $(INSTALL_BIN) ./files/bird.init $(1)/etc/init.d/bird
  92. endef
  93. define Package/bird2c/install
  94. $(INSTALL_DIR) $(1)/usr/sbin
  95. $(INSTALL_BIN) $(PKG_BUILD_DIR)/birdc $(1)/usr/sbin/
  96. endef
  97. define Package/bird2cl/install
  98. $(INSTALL_DIR) $(1)/usr/sbin
  99. $(INSTALL_BIN) $(PKG_BUILD_DIR)/birdcl $(1)/usr/sbin/
  100. endef
  101. $(eval $(call BuildPackage,bird2))
  102. $(eval $(call BuildPackage,bird2c))
  103. $(eval $(call BuildPackage,bird2cl))