260 lines
7.7 KiB
Makefile
260 lines
7.7 KiB
Makefile
## ############################################################################
|
|
## common targets:
|
|
## make apache-fe (worker, mod_proxy, mod_rewrite)
|
|
## make apache-be (prefork, mod_rpaf, php4)
|
|
##
|
|
## build-requirements:
|
|
## build-essential, bzip2
|
|
## libz-dev, libxml2-dev, libpng-dev, libjpeg-dev, libmysqlclient-dev, libfreetype6-dev
|
|
|
|
DESTDIR=/opt
|
|
|
|
MAKE_FLAGS=-j2
|
|
|
|
## ############################################################################
|
|
|
|
WGET := /usr/bin/wget --passive-ftp -nd
|
|
|
|
_SRCBASE=$(shell /bin/pwd)
|
|
_DOWNLOADS=$(_SRCBASE)/download
|
|
_SOURCES=$(_SRCBASE)/source
|
|
|
|
## ############################################################################
|
|
|
|
VERSION_APACHE=2.2.14
|
|
PACKAGE_APACHE=httpd-$(VERSION_APACHE).tar.bz2
|
|
DOWNLOAD_APACHE=http://apache.speedbone.de/httpd/$(PACKAGE_APACHE)
|
|
SOURCE_APACHE=$(_SOURCES)/httpd-$(VERSION_APACHE)
|
|
|
|
VERSION_RPAF=0.5
|
|
PACKAGE_RPAF=mod_rpaf-$(VERSION_RPAF).tar.gz
|
|
DOWNLOAD_RPAF=http://stderr.net/apache/rpaf/download/$(PACKAGE_RPAF)
|
|
SOURCE_RPAF=$(_SOURCES)/mod_rpaf-$(VERSION_RPAF)
|
|
|
|
VERSION_PHP=5.2.12
|
|
PACKAGE_PHP=php-$(VERSION_PHP).tar.bz2
|
|
DOWNLOAD_PHP=http://de3.php.net/get/$(PACKAGE_PHP)/from/this/mirror
|
|
SOURCE_PHP=$(_SOURCES)/php-$(VERSION_PHP)
|
|
|
|
VERSION_EACCELERATOR=0.9.5.3
|
|
PACKAGE_EACCELERATOR=eaccelerator-$(VERSION_EACCELERATOR).tar.bz2
|
|
DOWNLOAD_EACCELERATOR=http://bart.eaccelerator.net/source/$(VERSION_EACCELERATOR)/$(PACKAGE_EACCELERATOR)
|
|
SOURCE_EACCELERATOR=$(_SOURCES)/eaccelerator-$(VERSION_EACCELERATOR)
|
|
|
|
## ############################################################################
|
|
|
|
all: apache-fe apache-dav apache-be
|
|
|
|
fetch: $(_DOWNLOADS)/$(PACKAGE_APACHE) \
|
|
$(_DOWNLOADS)/$(PACKAGE_RPAF) \
|
|
$(_DOWNLOADS)/$(PACKAGE_PHP) \
|
|
$(_DOWNLOADS)/$(PACKAGE_EACCELERATOR)
|
|
|
|
$(_DOWNLOADS)/$(PACKAGE_APACHE):
|
|
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_APACHE)
|
|
|
|
$(SOURCE_APACHE)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_APACHE)
|
|
mkdir -p $(SOURCE_APACHE)
|
|
tar -C $(_SOURCES) -xjf $(_DOWNLOADS)/$(PACKAGE_APACHE)
|
|
cat apache-layouts >> $(SOURCE_APACHE)/config.layout
|
|
touch $@
|
|
|
|
$(_DOWNLOADS)/$(PACKAGE_RPAF):
|
|
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_RPAF)
|
|
|
|
$(SOURCE_RPAF)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_RPAF)
|
|
mkdir -p $(SOURCE_RPAF)
|
|
tar -C $(_SOURCES) -xzf $(_DOWNLOADS)/$(PACKAGE_RPAF)
|
|
touch $@
|
|
|
|
$(_DOWNLOADS)/$(PACKAGE_PHP):
|
|
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_PHP)
|
|
|
|
$(SOURCE_PHP)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_PHP)
|
|
mkdir -p $(SOURCE_PHP)
|
|
tar -C $(_SOURCES) -xjf $(_DOWNLOADS)/$(PACKAGE_PHP)
|
|
touch $@
|
|
|
|
$(_DOWNLOADS)/$(PACKAGE_EACCELERATOR):
|
|
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_EACCELERATOR)
|
|
|
|
$(SOURCE_EACCELERATOR)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_EACCELERATOR)
|
|
mkdir -p $(SOURCE_EACCELERATOR)
|
|
tar -C $(_SOURCES) -xjf $(_DOWNLOADS)/$(PACKAGE_EACCELERATOR)
|
|
touch $@
|
|
|
|
## ############################################################################
|
|
|
|
_APACHE_DAV_BUILD=$(_SOURCES)/apache22-webdav
|
|
_APACHE_DAV_DEST=$(DESTDIR)/apache22-webdav
|
|
_APACHE_DAV_CONF=/etc/apache22-dav
|
|
|
|
apache-dav: $(_APACHE_DAV_BUILD)/.installed
|
|
|
|
$(_APACHE_DAV_BUILD)/.configured: $(SOURCE_APACHE)/.unpacked
|
|
mkdir -p $(_APACHE_DAV_BUILD)
|
|
( cd $(_APACHE_DAV_BUILD); \
|
|
$(SOURCE_APACHE)/configure \
|
|
--enable-layout=Webdav \
|
|
--with-mpm=worker \
|
|
--enable-dav \
|
|
--enable-dav-fs \
|
|
);
|
|
touch $@
|
|
|
|
$(_APACHE_DAV_BUILD)/.compiled: $(_APACHE_DAV_BUILD)/.configured
|
|
make $(MAKE_FLAGS) -C $(_APACHE_DAV_BUILD) all
|
|
touch $@
|
|
|
|
$(_APACHE_DAV_BUILD)/.installed: $(_APACHE_DAV_BUILD)/.compiled
|
|
make -C $(_APACHE_DAV_BUILD) install
|
|
rm -rf $(_APACHE_DAV_CONF)/original
|
|
touch $@
|
|
|
|
apache-dav-clean:
|
|
rm -rf $(_APACHE_DAV_BUILD)
|
|
|
|
## ############################################################################
|
|
|
|
_APACHE_FE_BUILD=$(_SOURCES)/apache22-frontend
|
|
_APACHE_FE_DEST=$(DESTDIR)/apache22-frontend
|
|
_APACHE_FE_CONF=/etc/apache22-fe
|
|
|
|
apache-fe: $(_APACHE_FE_BUILD)/.installed
|
|
|
|
$(_APACHE_FE_BUILD)/.configured: $(SOURCE_APACHE)/.unpacked
|
|
mkdir -p $(_APACHE_FE_BUILD)
|
|
( cd $(_APACHE_FE_BUILD); \
|
|
$(SOURCE_APACHE)/configure \
|
|
--enable-layout=Frontend \
|
|
--with-mpm=worker \
|
|
--enable-proxy \
|
|
--enable-proxy-http \
|
|
--enable-proxy-balancer \
|
|
--enable-rewrite \
|
|
);
|
|
touch $@
|
|
|
|
$(_APACHE_FE_BUILD)/.compiled: $(_APACHE_FE_BUILD)/.configured
|
|
make $(MAKE_FLAGS) -C $(_APACHE_FE_BUILD) all
|
|
touch $@
|
|
|
|
$(_APACHE_FE_BUILD)/.installed: $(_APACHE_FE_BUILD)/.compiled
|
|
make -C $(_APACHE_FE_BUILD) install
|
|
rm -rf $(_APACHE_FE_CONF)/original
|
|
touch $@
|
|
|
|
apache-fe-clean:
|
|
rm -rf $(_APACHE_FE_BUILD)
|
|
|
|
## ############################################################################
|
|
|
|
_APACHE_BE_BUILD=$(_SOURCES)/apache22-backend
|
|
_APACHE_BE_DEST=$(DESTDIR)/apache22-backend
|
|
_APACHE_BE_CONF=/etc/apache22-be
|
|
_APACHE_BE_LOG=/var/log/apache22-be
|
|
|
|
_PHP_BE_BUILD=$(_SOURCES)/apache22-backend-php
|
|
_PHP_BE_DEST=$(DESTDIR)/apache22-backend-php
|
|
_PHP_BE_CONF=/etc/apache22-be
|
|
|
|
apache-be: $(_APACHE_BE_BUILD)/.installed \
|
|
$(SOURCE_RPAF)/.installed \
|
|
$(_PHP_BE_BUILD)/.installed \
|
|
$(SOURCE_EACCELERATOR)/.installed
|
|
|
|
$(_APACHE_BE_BUILD)/.configured: $(SOURCE_APACHE)/.unpacked
|
|
mkdir -p $(_APACHE_BE_BUILD)
|
|
( cd $(_APACHE_BE_BUILD); \
|
|
$(SOURCE_APACHE)/configure \
|
|
--enable-layout=Backend \
|
|
--with-mpm=prefork \
|
|
--enable-so \
|
|
);
|
|
touch $@
|
|
|
|
$(_APACHE_BE_BUILD)/.compiled: $(_APACHE_BE_BUILD)/.configured
|
|
make $(MAKE_FLAGS) -C $(_APACHE_BE_BUILD) all
|
|
touch $@
|
|
|
|
$(_APACHE_BE_BUILD)/.installed: $(_APACHE_BE_BUILD)/.compiled
|
|
make -C $(_APACHE_BE_BUILD) install
|
|
rm -rf $(_APACHE_BE_CONF)/original
|
|
touch $@
|
|
|
|
$(SOURCE_RPAF)/.compiled: $(SOURCE_RPAF)/.unpacked $(_APACHE_BE_BUILD)/.installed
|
|
make -C $(SOURCE_RPAF) APXS=$(_APACHE_BE_DEST)/bin/apxs rpaf-2.0
|
|
touch $@
|
|
|
|
$(SOURCE_RPAF)/.installed: $(SOURCE_RPAF)/.compiled
|
|
make -C $(SOURCE_RPAF) APXS=$(_APACHE_BE_DEST)/bin/apxs install-2.0
|
|
touch $@
|
|
|
|
$(_PHP_BE_BUILD)/.configured: $(SOURCE_PHP)/.unpacked $(_APACHE_BE_BUILD)/.installed
|
|
mkdir -p $(_PHP_BE_BUILD)
|
|
( cd $(_PHP_BE_BUILD); \
|
|
$(SOURCE_PHP)/configure \
|
|
--prefix=$(_PHP_BE_DEST) \
|
|
--with-apxs2=$(_APACHE_BE_DEST)/bin/apxs \
|
|
--with-config-file-path=$(_PHP_BE_CONF) \
|
|
--disable-cgi \
|
|
--with-layout=GNU \
|
|
--disable-rpath \
|
|
--disable-ipv6 \
|
|
--disable-static \
|
|
--enable-sockets \
|
|
--enable-inline-optimization \
|
|
--with-zlib \
|
|
--with-regex=system \
|
|
--with-gd \
|
|
--with-png-dir=/usr \
|
|
--with-jpeg-dir=/usr \
|
|
--with-freetype-dir=/usr/include/freetype2 \
|
|
--with-mysql=/usr \
|
|
);
|
|
touch $@
|
|
|
|
$(_PHP_BE_BUILD)/.compiled: $(_PHP_BE_BUILD)/.configured
|
|
make $(MAKE_FLAGS) -C $(_PHP_BE_BUILD) all
|
|
touch $@
|
|
|
|
$(_PHP_BE_BUILD)/.installed: $(_PHP_BE_BUILD)/.compiled
|
|
make -C $(_PHP_BE_BUILD) install
|
|
# copy default php.ini
|
|
cp $(SOURCE_PHP)/php.ini-dist $(_PHP_BE_CONF)/php.ini.dist
|
|
# set extension-dir
|
|
sed -i $(_PHP_BE_CONF)/php.ini.dist \
|
|
-e 's:^extension_dir.*$$:extension_dir = $(shell $(_PHP_BE_DEST)/bin/php-config --extension-dir):'
|
|
touch $@
|
|
|
|
$(SOURCE_EACCELERATOR)/.configured: $(SOURCE_EACCELERATOR)/.unpacked $(_PHP_BE_BUILD)/.installed
|
|
( cd $(SOURCE_EACCELERATOR); \
|
|
$(_PHP_BE_DEST)/bin/phpize; \
|
|
./configure \
|
|
--with-eaccelerator=shared \
|
|
--with-php-config=$(_PHP_BE_DEST)/bin/php-config \
|
|
);
|
|
touch $@
|
|
|
|
$(SOURCE_EACCELERATOR)/.compiled: $(SOURCE_EACCELERATOR)/.configured
|
|
make $(MAKE_FLAGS) -C $(SOURCE_EACCELERATOR) all
|
|
touch $@
|
|
|
|
$(SOURCE_EACCELERATOR)/.installed: $(SOURCE_EACCELERATOR)/.compiled
|
|
make -C $(SOURCE_EACCELERATOR) install
|
|
# enable eaccelerator
|
|
sed $(SOURCE_EACCELERATOR)/eaccelerator.ini \
|
|
-e 's:^zend_extension:;zend_extension:' \
|
|
-e 's:;extension="eaccelerator.so":extension="eaccelerator.so":' \
|
|
-e 's:^eaccelerator.log_file.*$$:eaccelerator.log_file = "$(_APACHE_BE_LOG)/eaccelerator.log":' \
|
|
>> $(_PHP_BE_CONF)/php.ini.dist
|
|
touch $@
|
|
|
|
apache-be-clean:
|
|
rm -rf $(_APACHE_BE_BUILD)
|
|
rm -rf $(SOURCE_RPAF)
|
|
rm -rf $(_PHP_BE_BUILD)
|
|
rm -rf $(SOURCE_EACCELERATOR)
|
|
|
|
## ############################################################################
|