apache-build/Makefile

260 lines
7.7 KiB
Makefile
Raw Permalink Normal View History

2006-11-04 13:18:42 +01:00
## ############################################################################
## common targets:
## make apache-fe (worker, mod_proxy, mod_rewrite)
## make apache-be (prefork, mod_rpaf, php4)
##
## build-requirements:
## build-essential, bzip2
2009-03-27 20:41:57 +01:00
## libz-dev, libxml2-dev, libpng-dev, libjpeg-dev, libmysqlclient-dev, libfreetype6-dev
2006-11-04 13:18:42 +01:00
DESTDIR=/opt
MAKE_FLAGS=-j2
2006-11-04 13:18:42 +01:00
## ############################################################################
WGET := /usr/bin/wget --passive-ftp -nd
_SRCBASE=$(shell /bin/pwd)
_DOWNLOADS=$(_SRCBASE)/download
_SOURCES=$(_SRCBASE)/source
## ############################################################################
2010-02-22 21:56:27 +01:00
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)
2006-11-04 13:18:42 +01:00
VERSION_RPAF=0.5
PACKAGE_RPAF=mod_rpaf-$(VERSION_RPAF).tar.gz
2006-11-05 16:08:05 +01:00
DOWNLOAD_RPAF=http://stderr.net/apache/rpaf/download/$(PACKAGE_RPAF)
SOURCE_RPAF=$(_SOURCES)/mod_rpaf-$(VERSION_RPAF)
2006-11-04 13:18:42 +01:00
2010-02-22 21:56:27 +01:00
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)
2006-11-04 13:18:42 +01:00
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)
2006-11-04 13:18:42 +01:00
## ############################################################################
2010-02-22 21:56:27 +01:00
all: apache-fe apache-dav apache-be
2006-11-05 16:08:05 +01:00
fetch: $(_DOWNLOADS)/$(PACKAGE_APACHE) \
2006-11-05 16:21:42 +01:00
$(_DOWNLOADS)/$(PACKAGE_RPAF) \
$(_DOWNLOADS)/$(PACKAGE_PHP) \
2006-11-05 16:21:42 +01:00
$(_DOWNLOADS)/$(PACKAGE_EACCELERATOR)
2006-11-04 13:18:42 +01:00
$(_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
2006-11-04 13:18:42 +01:00
touch $@
2006-11-05 16:08:05 +01:00
$(_DOWNLOADS)/$(PACKAGE_RPAF):
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_RPAF)
2006-11-04 13:18:42 +01:00
2006-11-05 16:08:05 +01:00
$(SOURCE_RPAF)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_RPAF)
2006-11-05 16:21:42 +01:00
mkdir -p $(SOURCE_RPAF)
2006-11-05 16:08:05 +01:00
tar -C $(_SOURCES) -xzf $(_DOWNLOADS)/$(PACKAGE_RPAF)
2006-11-04 13:18:42 +01:00
touch $@
$(_DOWNLOADS)/$(PACKAGE_PHP):
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_PHP)
2006-11-04 13:18:42 +01:00
$(SOURCE_PHP)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_PHP)
mkdir -p $(SOURCE_PHP)
tar -C $(_SOURCES) -xjf $(_DOWNLOADS)/$(PACKAGE_PHP)
2006-11-04 13:18:42 +01:00
touch $@
2006-11-05 16:08:05 +01:00
$(_DOWNLOADS)/$(PACKAGE_EACCELERATOR):
2006-11-04 13:18:42 +01:00
$(WGET) -P $(_DOWNLOADS) $(DOWNLOAD_EACCELERATOR)
2006-11-05 16:08:05 +01:00
$(SOURCE_EACCELERATOR)/.unpacked: $(_DOWNLOADS)/$(PACKAGE_EACCELERATOR)
2006-11-05 16:21:42 +01:00
mkdir -p $(SOURCE_EACCELERATOR)
2006-11-05 16:08:05 +01:00
tar -C $(_SOURCES) -xjf $(_DOWNLOADS)/$(PACKAGE_EACCELERATOR)
2006-11-04 13:18:42 +01:00
touch $@
## ############################################################################
2010-02-22 21:56:27 +01:00
_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)
## ############################################################################
2009-03-27 20:41:57 +01:00
_APACHE_FE_BUILD=$(_SOURCES)/apache22-frontend
_APACHE_FE_DEST=$(DESTDIR)/apache22-frontend
_APACHE_FE_CONF=/etc/apache22-fe
2006-11-04 13:18:42 +01:00
2009-03-27 20:41:57 +01:00
apache-fe: $(_APACHE_FE_BUILD)/.installed
2006-11-04 13:18:42 +01:00
2009-03-27 20:41:57 +01:00
$(_APACHE_FE_BUILD)/.configured: $(SOURCE_APACHE)/.unpacked
mkdir -p $(_APACHE_FE_BUILD)
( cd $(_APACHE_FE_BUILD); \
$(SOURCE_APACHE)/configure \
2006-11-05 16:59:07 +01:00
--enable-layout=Frontend \
2006-11-04 13:18:42 +01:00
--with-mpm=worker \
--enable-proxy \
--enable-proxy-http \
--enable-proxy-balancer \
2006-11-04 13:18:42 +01:00
--enable-rewrite \
);
touch $@
2009-03-27 20:41:57 +01:00
$(_APACHE_FE_BUILD)/.compiled: $(_APACHE_FE_BUILD)/.configured
make $(MAKE_FLAGS) -C $(_APACHE_FE_BUILD) all
2006-11-04 13:18:42 +01:00
touch $@
2009-03-27 20:41:57 +01:00
$(_APACHE_FE_BUILD)/.installed: $(_APACHE_FE_BUILD)/.compiled
make -C $(_APACHE_FE_BUILD) install
rm -rf $(_APACHE_FE_CONF)/original
2006-11-04 13:18:42 +01:00
touch $@
apache-fe-clean:
2009-03-27 20:41:57 +01:00
rm -rf $(_APACHE_FE_BUILD)
2006-11-04 13:18:42 +01:00
## ############################################################################
2009-03-27 20:41:57 +01:00
_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
2006-11-04 13:18:42 +01:00
2009-03-27 20:41:57 +01:00
_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 \
2006-11-04 13:18:42 +01:00
$(SOURCE_RPAF)/.installed \
2009-03-27 20:41:57 +01:00
$(_PHP_BE_BUILD)/.installed \
2006-11-04 13:18:42 +01:00
$(SOURCE_EACCELERATOR)/.installed
2009-03-27 20:41:57 +01:00
$(_APACHE_BE_BUILD)/.configured: $(SOURCE_APACHE)/.unpacked
mkdir -p $(_APACHE_BE_BUILD)
( cd $(_APACHE_BE_BUILD); \
$(SOURCE_APACHE)/configure \
2006-11-05 16:59:07 +01:00
--enable-layout=Backend \
2006-11-04 13:18:42 +01:00
--with-mpm=prefork \
--enable-so \
);
touch $@
2009-03-27 20:41:57 +01:00
$(_APACHE_BE_BUILD)/.compiled: $(_APACHE_BE_BUILD)/.configured
make $(MAKE_FLAGS) -C $(_APACHE_BE_BUILD) all
2006-11-04 13:18:42 +01:00
touch $@
2009-03-27 20:41:57 +01:00
$(_APACHE_BE_BUILD)/.installed: $(_APACHE_BE_BUILD)/.compiled
make -C $(_APACHE_BE_BUILD) install
rm -rf $(_APACHE_BE_CONF)/original
2006-11-04 13:18:42 +01:00
touch $@
2009-03-27 20:41:57 +01:00
$(SOURCE_RPAF)/.compiled: $(SOURCE_RPAF)/.unpacked $(_APACHE_BE_BUILD)/.installed
make -C $(SOURCE_RPAF) APXS=$(_APACHE_BE_DEST)/bin/apxs rpaf-2.0
2006-11-04 13:18:42 +01:00
touch $@
$(SOURCE_RPAF)/.installed: $(SOURCE_RPAF)/.compiled
2009-03-27 20:41:57 +01:00
make -C $(SOURCE_RPAF) APXS=$(_APACHE_BE_DEST)/bin/apxs install-2.0
2006-11-04 13:18:42 +01:00
touch $@
2009-03-27 20:41:57 +01:00
$(_PHP_BE_BUILD)/.configured: $(SOURCE_PHP)/.unpacked $(_APACHE_BE_BUILD)/.installed
mkdir -p $(_PHP_BE_BUILD)
( cd $(_PHP_BE_BUILD); \
$(SOURCE_PHP)/configure \
2009-03-27 20:41:57 +01:00
--prefix=$(_PHP_BE_DEST) \
--with-apxs2=$(_APACHE_BE_DEST)/bin/apxs \
--with-config-file-path=$(_PHP_BE_CONF) \
2006-11-04 13:18:42 +01:00
--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 \
2009-03-27 20:41:57 +01:00
--with-freetype-dir=/usr/include/freetype2 \
2006-11-04 13:18:42 +01:00
--with-mysql=/usr \
);
touch $@
2009-03-27 20:41:57 +01:00
$(_PHP_BE_BUILD)/.compiled: $(_PHP_BE_BUILD)/.configured
make $(MAKE_FLAGS) -C $(_PHP_BE_BUILD) all
2006-11-04 13:18:42 +01:00
touch $@
2009-03-27 20:41:57 +01:00
$(_PHP_BE_BUILD)/.installed: $(_PHP_BE_BUILD)/.compiled
make -C $(_PHP_BE_BUILD) install
2006-11-05 17:38:21 +01:00
# copy default php.ini
2009-03-27 20:41:57 +01:00
cp $(SOURCE_PHP)/php.ini-dist $(_PHP_BE_CONF)/php.ini.dist
2006-11-05 17:38:21 +01:00
# set extension-dir
2009-03-27 20:41:57 +01:00
sed -i $(_PHP_BE_CONF)/php.ini.dist \
-e 's:^extension_dir.*$$:extension_dir = $(shell $(_PHP_BE_DEST)/bin/php-config --extension-dir):'
2006-11-04 13:18:42 +01:00
touch $@
2009-03-27 20:41:57 +01:00
$(SOURCE_EACCELERATOR)/.configured: $(SOURCE_EACCELERATOR)/.unpacked $(_PHP_BE_BUILD)/.installed
2006-11-04 13:18:42 +01:00
( cd $(SOURCE_EACCELERATOR); \
2009-03-27 20:41:57 +01:00
$(_PHP_BE_DEST)/bin/phpize; \
./configure \
2006-11-04 13:18:42 +01:00
--with-eaccelerator=shared \
2009-03-27 20:41:57 +01:00
--with-php-config=$(_PHP_BE_DEST)/bin/php-config \
2006-11-04 13:18:42 +01:00
);
touch $@
$(SOURCE_EACCELERATOR)/.compiled: $(SOURCE_EACCELERATOR)/.configured
make $(MAKE_FLAGS) -C $(SOURCE_EACCELERATOR) all
2006-11-04 13:18:42 +01:00
touch $@
$(SOURCE_EACCELERATOR)/.installed: $(SOURCE_EACCELERATOR)/.compiled
make -C $(SOURCE_EACCELERATOR) install
2006-11-05 19:11:09 +01:00
# enable eaccelerator
sed $(SOURCE_EACCELERATOR)/eaccelerator.ini \
-e 's:^zend_extension:;zend_extension:' \
-e 's:;extension="eaccelerator.so":extension="eaccelerator.so":' \
2009-03-27 20:41:57 +01:00
-e 's:^eaccelerator.log_file.*$$:eaccelerator.log_file = "$(_APACHE_BE_LOG)/eaccelerator.log":' \
>> $(_PHP_BE_CONF)/php.ini.dist
2006-11-04 13:18:42 +01:00
touch $@
apache-be-clean:
2009-03-27 20:41:57 +01:00
rm -rf $(_APACHE_BE_BUILD)
2006-11-04 13:18:42 +01:00
rm -rf $(SOURCE_RPAF)
2009-03-27 20:41:57 +01:00
rm -rf $(_PHP_BE_BUILD)
2006-11-04 13:18:42 +01:00
rm -rf $(SOURCE_EACCELERATOR)
## ############################################################################