2
1

php.mk 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. ifeq ($(BR2_PACKAGE_PHP_FASTCGI),y)
  25. PHP_CGI+=--enable-fastcgi
  26. endif
  27. endif
  28. ifeq ($(BR2_PACKAGE_PHP_OPENSSL),y)
  29. PHP_OPENSSL="--with-openssl=$(STAGING_DIR)/usr"
  30. PHP_DEPS+=openssl
  31. endif
  32. ifeq ($(BR2_PACKAGE_PHP_XML2),y)
  33. PHP_XML=--enable-libxml \
  34. --with-libxml-dir=${STAGING_DIR}/usr \
  35. --enable-xml \
  36. --enable-xmlreader \
  37. --enable-xmlwriter
  38. PHP_DEPS+=libxml2
  39. endif
  40. ifeq ($(BR2_PACKAGE_PHP_ZLIB),y)
  41. PHP_ZLIB="--with-zlib=$(STAGING_DIR)/usr"
  42. PHP_DEPS+=zlib
  43. endif
  44. $(DL_DIR)/$(PHP_SOURCE):
  45. $(WGET) -P $(DL_DIR) $(PHP_SITE)
  46. php-source: $(DL_DIR)/$(PHP_SOURCE)
  47. $(PHP_DIR)/.unpacked: $(DL_DIR)/$(PHP_SOURCE)
  48. $(PHP_CAT) $(DL_DIR)/$(PHP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  49. touch $@
  50. $(PHP_DIR)/.configured: $(PHP_DIR)/.unpacked
  51. (cd $(PHP_DIR); rm -rf config.cache; \
  52. $(TARGET_CONFIGURE_OPTS) \
  53. $(TARGET_CONFIGURE_ARGS) \
  54. CC=$(TARGET_CC) \
  55. ./configure \
  56. --target=$(GNU_TARGET_NAME) \
  57. --host=$(GNU_TARGET_NAME) \
  58. --build=$(GNU_HOST_NAME) \
  59. --prefix=/usr \
  60. --exec-prefix=/ \
  61. --bindir=/usr/bin \
  62. --sbindir=/usr/sbin \
  63. --libexecdir=/usr/lib \
  64. --sysconfdir=/etc \
  65. --with-config-file-path=/etc \
  66. --datadir=/usr/share/misc \
  67. --localstatedir=/var \
  68. --mandir=/usr/man \
  69. --infodir=/usr/info \
  70. --disable-all \
  71. --enable-spl \
  72. --enable-session \
  73. --enable-sockets \
  74. --enable-posix \
  75. --with-pcre-regex \
  76. --without-pear \
  77. --disable-ipv6 \
  78. $(DISABLE_NLS) \
  79. $(PHP_OPENSSL) \
  80. $(PHP_XML) \
  81. $(PHP_CLI) \
  82. $(PHP_CGI) \
  83. $(PHP_ZLIB) \
  84. )
  85. touch $@
  86. $(PHP_DIR)/.built: $(PHP_DIR)/.configured
  87. $(MAKE) CC=$(TARGET_CC) -C $(PHP_DIR)
  88. touch $@
  89. $(PHP_DIR)/.staged: $(PHP_DIR)/.built
  90. $(MAKE) DESTDIR=$(STAGING_DIR) INSTALL_ROOT=$(STAGING_DIR) CC=$(TARGET_CC) -C $(PHP_DIR) install
  91. touch $@
  92. $(TARGET_DIR)/usr/bin/php: $(PHP_DIR)/.staged
  93. cp -dpf $(STAGING_DIR)/usr/bin/php $(TARGET_DIR)/usr/bin/php
  94. chmod 755 $(TARGET_DIR)/usr/bin/php
  95. $(STRIP) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/php
  96. $(TARGET_DIR)/usr/bin/php-cgi: $(PHP_DIR)/.staged
  97. cp -dpf $(STAGING_DIR)/usr/bin/php-cgi $(TARGET_DIR)/usr/bin/php-cgi
  98. chmod 755 $(TARGET_DIR)/usr/bin/php-cgi
  99. $(STRIP) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/php-cgi
  100. $(TARGET_DIR)/etc/php.ini: $(PHP_DIR)/.staged
  101. cp -f $(PHP_DIR)/php.ini-dist $(TARGET_DIR)/etc/php.ini
  102. php: uclibc $(PHP_DEPS) $(PHP_TARGET_DEPS) $(TARGET_DIR)/etc/php.ini
  103. php-clean:
  104. rm -f $(PHP_DIR)/.configured $(PHP_DIR)/.built $(PHP_DIR)/.staged
  105. rm -f $(TARGET_DIR)/usr/bin/php $(TARGET_DIR)/usr/bin/php-cgi
  106. rm -f $(STAGING_DIR)/usr/bin/php* $(STAGING_DIR)/usr/man/man1/php*
  107. rm -rf $(STAGING_DIR)/usr/include/php
  108. -$(MAKE) -C $(PHP_DIR) clean
  109. php-dirclean:
  110. rm -rf $(PHP_DIR)
  111. #############################################################
  112. #
  113. # Toplevel Makefile options
  114. #
  115. #############################################################
  116. ifeq ($(strip $(BR2_PACKAGE_PHP)),y)
  117. TARGETS+=php
  118. endif