automake.mk 4.0 KB

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