php.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #############################################################
  2. #
  3. # php
  4. #
  5. #############################################################
  6. PHP_VER:=5.2.3
  7. PHP_SOURCE:=php-$(PHP_VER).tar.bz2
  8. PHP_SITE:=http://us.php.net/get/${PHP_SOURCE}/from/us2.php.net/mirror
  9. PHP_DIR:=$(BUILD_DIR)/php-$(PHP_VER)
  10. PHP_CAT=bzcat
  11. PHP_DEPS=
  12. PHP_TARGET_DEPS=
  13. ifneq ($(BR2_PACKAGE_PHP_CLI),y)
  14. PHP_CLI="--disable-cli"
  15. else
  16. PHP_CLI="--enable-cli"
  17. PHP_TARGET_DEPS+=$(TARGET_DIR)/usr/bin/php
  18. endif
  19. ifneq ($(BR2_PACKAGE_PHP_CGI),y)
  20. PHP_CGI="--disable-cgi"
  21. else
  22. PHP_CGI="--enable-cgi"
  23. PHP_TARGET_DEPS+=$(TARGET_DIR)/usr/bin/php-cgi
  24. endif
  25. ifeq ($(BR2_PACKAGE_PHP_OPENSSL),y)
  26. PHP_OPENSSL="--with-openssl=$(STAGING_DIR)/usr"
  27. PHP_DEPS+=openssl
  28. endif
  29. ifeq ($(BR2_PACKAGE_PHP_XML2),y)
  30. PHP_XML=--enable-libxml \
  31. --with-libxml-dir=${STAGING_DIR}/usr \
  32. --enable-xml \
  33. --enable-xmlreader \
  34. --enable-xmlwriter
  35. PHP_DEPS+=libxml2
  36. endif
  37. ifeq ($(BR2_PACKAGE_PHP_ZLIB),y)
  38. PHP_ZLIB="--with-zlib=$(STAGING_DIR)/usr"
  39. PHP_DEPS+=zlib
  40. endif
  41. $(DL_DIR)/$(PHP_SOURCE):
  42. $(WGET) -P $(DL_DIR) $(PHP_SITE)
  43. php-source: $(DL_DIR)/$(PHP_SOURCE)
  44. $(PHP_DIR)/.unpacked: $(DL_DIR)/$(PHP_SOURCE)
  45. $(PHP_CAT) $(DL_DIR)/$(PHP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  46. touch $(PHP_DIR)/.unpacked
  47. $(PHP_DIR)/.configured: $(PHP_DIR)/.unpacked
  48. (cd $(PHP_DIR); rm -rf config.cache; \
  49. $(TARGET_CONFIGURE_OPTS) \
  50. $(TARGET_CONFIGURE_ARGS) \
  51. CC=$(TARGET_CC) \
  52. ./configure \
  53. --target=$(GNU_TARGET_NAME) \
  54. --host=$(GNU_TARGET_NAME) \
  55. --build=$(GNU_HOST_NAME) \
  56. --prefix=/usr \
  57. --exec-prefix=/ \
  58. --bindir=/usr/bin \
  59. --sbindir=/usr/sbin \
  60. --libexecdir=/usr/lib \
  61. --sysconfdir=/etc \
  62. --datadir=/usr/share/misc \
  63. --localstatedir=/var \
  64. --mandir=/usr/man \
  65. --infodir=/usr/info \
  66. --disable-all \
  67. --enable-spl \
  68. --enable-session \
  69. --enable-sockets \
  70. --with-pcre-regex \
  71. --without-pear \
  72. --disable-ipv6 \
  73. $(DISABLE_NLS) \
  74. $(PHP_OPENSSL) \
  75. $(PHP_XML) \
  76. $(PHP_CLI) \
  77. $(PHP_CGI) \
  78. $(PHP_ZLIB) \
  79. );
  80. touch $(PHP_DIR)/.configured
  81. $(PHP_DIR)/.built: $(PHP_DIR)/.configured
  82. $(MAKE) CC=$(TARGET_CC) -C $(PHP_DIR)
  83. touch $(PHP_DIR)/.built
  84. $(PHP_DIR)/.staged: $(PHP_DIR)/.built
  85. $(MAKE) DESTDIR=$(STAGING_DIR) INSTALL_ROOT=$(STAGING_DIR) CC=$(TARGET_CC) -C $(PHP_DIR) install
  86. touch $(PHP_DIR)/.staged
  87. $(TARGET_DIR)/usr/bin/php: $(PHP_DIR)/.staged
  88. cp -dpf $(STAGING_DIR)/usr/bin/php $(TARGET_DIR)/usr/bin/php
  89. chmod 755 $(TARGET_DIR)/usr/bin/php
  90. $(TARGET_DIR)/usr/bin/php-cgi: $(PHP_DIR)/.staged
  91. cp -dpf $(STAGING_DIR)/usr/bin/php-cgi $(TARGET_DIR)/usr/bin/php-cgi
  92. chmod 755 $(TARGET_DIR)/usr/bin/php-cgi
  93. $(TARGET_DIR)/etc/php.ini: $(PHP_DIR)/.staged
  94. cp $(PHP_DIR)/php.ini-dist $(TARGET_DIR)/etc/php.ini
  95. php: uclibc $(PHP_DEPS) $(PHP_TARGET_DEPS) $(TARGET_DIR)/etc/php.ini
  96. php-clean:
  97. rm -f $(PHP_DIR)/.configured $(PHP_DIR)/.built $(PHP_DIR)/.staged
  98. -$(MAKE) -C $(PHP_DIR) clean
  99. php-dirclean:
  100. rm -rf $(PHP_DIR)
  101. #############################################################
  102. #
  103. # Toplevel Makefile options
  104. #
  105. #############################################################
  106. ifeq ($(strip $(BR2_PACKAGE_PHP)),y)
  107. TARGETS+=php
  108. endif