package-defaults.mk 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. #
  2. # Copyright (C) 2006 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. PKG_DEFAULT_DEPENDS = +libc +USE_EGLIBC:librt +USE_EGLIBC:libpthread
  8. ifneq ($(PKG_NAME),toolchain)
  9. PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2)))
  10. else
  11. PKG_FIXUP_DEPENDS = $(2)
  12. endif
  13. PKG_MAINTAINER ?= OpenWrt Developers Team <[email protected]>
  14. define Package/Default
  15. CONFIGFILE:=
  16. SECTION:=opt
  17. CATEGORY:=Extra packages
  18. DEPENDS:=
  19. MDEPENDS:=
  20. PROVIDES:=
  21. EXTRA_DEPENDS:=
  22. MAINTAINER:=$(PKG_MAINTAINER)
  23. SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR))
  24. ifneq ($(PKG_VERSION),)
  25. ifneq ($(PKG_RELEASE),)
  26. VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
  27. else
  28. VERSION:=$(PKG_VERSION)
  29. endif
  30. else
  31. VERSION:=$(PKG_RELEASE)
  32. endif
  33. ifneq ($(PKG_FLAGS),)
  34. PKGFLAGS:=$(PKG_FLAGS)
  35. else
  36. PKGFLAGS:=
  37. endif
  38. ifneq ($(ARCH_PACKAGES),)
  39. PKGARCH:=$(ARCH_PACKAGES)
  40. else
  41. PKGARCH:=$(BOARD)
  42. endif
  43. PRIORITY:=optional
  44. DEFAULT:=
  45. MENU:=
  46. SUBMENU:=
  47. SUBMENUDEP:=
  48. TITLE:=
  49. KCONFIG:=
  50. BUILDONLY:=
  51. HIDDEN:=
  52. URL:=
  53. VARIANT:=
  54. endef
  55. Build/Patch:=$(Build/Patch/Default)
  56. ifneq ($(strip $(PKG_UNPACK)),)
  57. define Build/Prepare/Default
  58. $(PKG_UNPACK)
  59. $(Build/Patch)
  60. endef
  61. endif
  62. EXTRA_CXXFLAGS = $(EXTRA_CFLAGS)
  63. CONFIGURE_PREFIX:=/usr
  64. CONFIGURE_ARGS = \
  65. --target=$(GNU_TARGET_NAME) \
  66. --host=$(GNU_TARGET_NAME) \
  67. --build=$(GNU_HOST_NAME) \
  68. --program-prefix="" \
  69. --program-suffix="" \
  70. --prefix=$(CONFIGURE_PREFIX) \
  71. --exec-prefix=$(CONFIGURE_PREFIX) \
  72. --bindir=$(CONFIGURE_PREFIX)/bin \
  73. --sbindir=$(CONFIGURE_PREFIX)/sbin \
  74. --libexecdir=$(CONFIGURE_PREFIX)/lib \
  75. --sysconfdir=/etc \
  76. --datadir=$(CONFIGURE_PREFIX)/share \
  77. --localstatedir=/var \
  78. --mandir=$(CONFIGURE_PREFIX)/man \
  79. --infodir=$(CONFIGURE_PREFIX)/info \
  80. $(DISABLE_NLS) \
  81. $(DISABLE_LARGEFILE) \
  82. $(DISABLE_IPV6)
  83. CONFIGURE_VARS = \
  84. $(TARGET_CONFIGURE_OPTS) \
  85. CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
  86. CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CFLAGS)" \
  87. CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
  88. LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \
  89. CONFIGURE_PATH = .
  90. CONFIGURE_CMD = ./configure
  91. replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp $(SCRIPT_DIR)/$(2);
  92. define Build/Configure/Default
  93. (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \
  94. if [ -x $(CONFIGURE_CMD) ]; then \
  95. $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \
  96. $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \
  97. $(CONFIGURE_VARS) \
  98. $(2) \
  99. $(CONFIGURE_CMD) \
  100. $(CONFIGURE_ARGS) \
  101. $(1); \
  102. fi; \
  103. )
  104. endef
  105. MAKE_VARS = \
  106. CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
  107. CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
  108. LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)"
  109. MAKE_FLAGS = \
  110. $(TARGET_CONFIGURE_OPTS) \
  111. CROSS="$(TARGET_CROSS)" \
  112. ARCH="$(ARCH)"
  113. MAKE_INSTALL_FLAGS = \
  114. $(MAKE_FLAGS) \
  115. DESTDIR="$(PKG_INSTALL_DIR)"
  116. MAKE_PATH = .
  117. define Build/Compile/Default
  118. +$(MAKE_VARS) \
  119. $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
  120. $(MAKE_FLAGS) \
  121. $(1);
  122. endef
  123. define Build/Install/Default
  124. $(MAKE_VARS) \
  125. $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
  126. $(MAKE_INSTALL_FLAGS) \
  127. $(if $(1), $(1), install);
  128. endef
  129. define Build/Dist/Default
  130. $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist)
  131. endef
  132. define Build/DistCheck/Default
  133. $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck)
  134. endef