2
1

autoconf.mk 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #############################################################
  2. #
  3. # autoconf
  4. #
  5. #############################################################
  6. AUTOCONF_VERSION:=2.61
  7. AUTOCONF_SOURCE:=autoconf-$(AUTOCONF_VERSION).tar.bz2
  8. AUTOCONF_SITE:=http://ftp.gnu.org/pub/gnu/autoconf
  9. AUTOCONF_CAT:=$(BZCAT)
  10. AUTOCONF_SRC_DIR:=$(TOOL_BUILD_DIR)/autoconf-$(AUTOCONF_VERSION)
  11. AUTOCONF_DIR:=$(BUILD_DIR)/autoconf-$(AUTOCONF_VERSION)
  12. AUTOCONF_HOST_DIR:=$(TOOL_BUILD_DIR)/autoconf-$(AUTOCONF_VERSION)-host
  13. AUTOCONF_BINARY:=autoconf
  14. AUTOCONF_TARGET_BINARY:=usr/bin/autoconf
  15. AUTOCONF:=$(STAGING_DIR)/usr/bin/autoconf
  16. # variables used by other packages
  17. AUTORECONF=$(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" autoreconf -v -f -i -I "$(ACLOCAL_DIR)"
  18. $(DL_DIR)/$(AUTOCONF_SOURCE):
  19. $(WGET) -P $(DL_DIR) $(AUTOCONF_SITE)/$(AUTOCONF_SOURCE)
  20. autoconf-source: $(DL_DIR)/$(AUTOCONF_SOURCE)
  21. $(AUTOCONF_SRC_DIR)/.unpacked: $(DL_DIR)/$(AUTOCONF_SOURCE)
  22. $(AUTOCONF_CAT) $(DL_DIR)/$(AUTOCONF_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  23. touch $@
  24. #############################################################
  25. #
  26. # autoconf for the host
  27. #
  28. #############################################################
  29. $(AUTOCONF_DIR)/.configured: $(AUTOCONF_SRC_DIR)/.unpacked
  30. mkdir -p $(AUTOCONF_DIR)
  31. (cd $(AUTOCONF_DIR); rm -rf config.cache; \
  32. $(TARGET_CONFIGURE_OPTS) \
  33. $(TARGET_CONFIGURE_ARGS) \
  34. EMACS="no" \
  35. $(AUTOCONF_SRC_DIR)/configure \
  36. --target=$(GNU_TARGET_NAME) \
  37. --host=$(GNU_TARGET_NAME) \
  38. --build=$(GNU_HOST_NAME) \
  39. --prefix=/usr \
  40. --exec-prefix=/usr \
  41. --bindir=/usr/bin \
  42. --sbindir=/usr/sbin \
  43. --libdir=/lib \
  44. --libexecdir=/usr/lib \
  45. --sysconfdir=/etc \
  46. --datadir=/usr/share \
  47. --localstatedir=/var \
  48. --mandir=/usr/share/man \
  49. --infodir=/usr/share/info \
  50. )
  51. touch $@
  52. $(AUTOCONF_DIR)/bin/$(AUTOCONF_BINARY): $(AUTOCONF_DIR)/.configured
  53. $(MAKE1) -C $(AUTOCONF_DIR)
  54. $(TARGET_DIR)/$(AUTOCONF_TARGET_BINARY): $(AUTOCONF_DIR)/bin/$(AUTOCONF_BINARY)
  55. $(MAKE) \
  56. prefix=$(TARGET_DIR)/usr \
  57. exec_prefix=$(TARGET_DIR)/usr \
  58. bindir=$(TARGET_DIR)/usr/bin \
  59. sbindir=$(TARGET_DIR)/usr/sbin \
  60. libexecdir=$(TARGET_DIR)/usr/lib \
  61. datadir=$(TARGET_DIR)/usr/share \
  62. sysconfdir=$(TARGET_DIR)/etc \
  63. localstatedir=$(TARGET_DIR)/var \
  64. libdir=$(TARGET_DIR)/usr/lib \
  65. infodir=$(TARGET_DIR)/usr/share/info \
  66. mandir=$(TARGET_DIR)/usr/share/man \
  67. includedir=$(TARGET_DIR)/usr/include \
  68. -C $(AUTOCONF_DIR) install
  69. ifneq ($(BR2_HAVE_INFOPAGES),y)
  70. rm -rf $(TARGET_DIR)/usr/share/info
  71. endif
  72. ifneq ($(BR2_HAVE_MANPAGES),y)
  73. rm -rf $(TARGET_DIR)/usr/share/man
  74. endif
  75. rm -rf $(TARGET_DIR)/share/locale
  76. rm -rf $(TARGET_DIR)/usr/share/doc
  77. touch -c $@
  78. autoconf: uclibc $(TARGET_DIR)/$(AUTOCONF_TARGET_BINARY)
  79. autoconf-clean:
  80. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(AUTOCONF_DIR) uninstall
  81. -$(MAKE) -C $(AUTOCONF_DIR) clean
  82. autoconf-dirclean:
  83. rm -rf $(AUTOCONF_DIR)
  84. #############################################################
  85. #
  86. # autoconf for the host
  87. #
  88. #############################################################
  89. $(AUTOCONF_HOST_DIR)/.configured: $(AUTOCONF_SRC_DIR)/.unpacked
  90. mkdir -p $(AUTOCONF_HOST_DIR)
  91. (cd $(AUTOCONF_HOST_DIR); rm -rf config.cache; \
  92. $(HOST_CONFIGURE_OPTS) \
  93. CFLAGS="$(HOST_CFLAGS)" \
  94. LDFLAGS="$(HOST_LDFLAGS)" \
  95. EMACS="no" \
  96. $(AUTOCONF_SRC_DIR)/configure \
  97. --prefix=$(STAGING_DIR)/usr \
  98. )
  99. touch $@
  100. $(AUTOCONF_HOST_DIR)/bin/$(AUTOCONF_BINARY): $(AUTOCONF_HOST_DIR)/.configured
  101. $(MAKE1) -C $(AUTOCONF_HOST_DIR)
  102. $(AUTOCONF): $(AUTOCONF_HOST_DIR)/bin/$(AUTOCONF_BINARY)
  103. $(MAKE) -C $(AUTOCONF_HOST_DIR) install
  104. host-autoconf: host-m4 host-libtool $(AUTOCONF)
  105. host-autoconf-clean:
  106. $(MAKE) CC=$(HOST_CC) -C $(AUTOCONF_HOST_DIR) uninstall
  107. -$(MAKE) -C $(AUTOCONF_HOST_DIR) clean
  108. host-autoconf-dirclean:
  109. rm -rf $(AUTOCONF_HOST_DIR)
  110. #############################################################
  111. #
  112. # Toplevel Makefile options
  113. #
  114. #############################################################
  115. ifeq ($(strip $(BR2_PACKAGE_AUTOCONF)),y)
  116. TARGETS+=autoconf
  117. endif