Projekat

Općenito

Profil

Podrška #13847 » Makefile

modified makefile for thirdparty - Ernad Husremović, 04.07.2008 19:24

 
THIRDPARTY_ROOT := $(shell pwd)
P4_ROOT ?= $(shell cd $(THIRDPARTY_ROOT)/..; pwd)

BUILD_PLATFORM ?= $(shell sh $(P4_ROOT)/ZimbraBuild/rpmconf/Build/get_plat_tag.sh)

MAKE := make
ECHO := /bin/echo
MAKEARGS ?= -j2

ifeq ($(BUILD_PLATFORM), )
BUILD_PLATFORM := "UNKNOWN"
endif

ZIMBRA_HOME ?= /opt/zimbra
LDAP_VERSION ?= 2.3.41.7z

BDB_VERSION ?= 4.2.52.6
BDB_LIB_DIR ?= $(ZIMBRA_HOME)/sleepycat-$(BDB_VERSION)/lib

BDB_ROOT ?= $(P4_ROOT)/ThirdParty/sleepycat

CYRUS_VERSION ?= 2.1.22.3z
CYRUS_LIB_DIR ?= $(ZIMBRA_HOME)/cyrus-sasl-$(CYRUS_VERSION)/lib

ASPELL_VERSION ?= aspell-0.60.6
CLAMAV_VERSION ?= 0.93

MYSQL_VERSION_STRING ?= 5.0.51a
MYSQL_VERSION ?= standard-$(MYSQL_VERSION_STRING)-pc-linux-gnu-i686
MYSQL_CLIENT_VERSION ?= standard-$(MYSQL_VERSION_STRING)-clientlibs

ifeq ($(BUILD_PLATFORM), MACOSX)
MYSQL_VERSION := standard-$(MYSQL_VERSION_STRING)-apple-darwin8.2.0-powerpc
MYSQL_CLIENT_VERSION := standard-$(MYSQL_VERSION_STRING)-apple-darwin8.2.0-powerpc
endif

ifeq (MACOSXx86,$(findstring MACOSXx86,$(BUILD_PLATFORM)))
MYSQL_VERSION := standard-$(MYSQL_VERSION_STRING)-apple-darwin8.2.0-i686
MYSQL_CLIENT_VERSION := standard-$(MYSQL_VERSION_STRING)-apple-darwin8.2.0-i686
endif

MYSQL_VERSION ?= standard-$(MYSQL_VERSION_STRING)-pc-linux-gnu-i686
MYSQL_CLIENT_VERSION ?= standard-$(MYSQL_VERSION_STRING)-clientlibs

OPENSSL_VERSION ?= 0.9.8g
OPENSSL_LIB_DIR ?= $(ZIMBRA_HOME)/openssl-$(OPENSSL_VERSION)/lib

OPENSSH_VERSION ?= 4.7p1

HEIMDAL_VERSION ?= 1.0.2
HEIMDAL_LIB_DIR ?= $(ZIMBRA_HOME)/heimdal-$(HEIMDAL_VERSION)/lib

HTTPD_VERSION ?= 2.2.8

POSTFIX_VERSION ?= 2.4.7.5z

DIRS := openssl \
mysql \
sleepycat \
libxml2 \
heimdal \
curl \
cyrus-sasl \
openldap \
aspell \
clamav \
apache-httpd \
php \
pcre \
expat \
popt \
PostFix \
dspam \
rrdtool \
snmp

LOGFILE := /tmp/ThirdParty.make.log

all: $(ZIMBRA_HOME) build

$(ZIMBRA_HOME):
mkdir -p $@

build:
@(for dir in $(DIRS); do \
$(ECHO) -n "*** Building in $@dir "; \
$(MAKE) -C $@dir >> $(LOGFILE) 2>&1; \
if [ $@? -ne 0 ]; then $(ECHO) "FAILED."; else $(ECHO) "SUCCEEDED."; fi ; \
if [ -x /sbin/ldconfig ]; then /sbin/ldconfig; fi ;\
done)
@($(ECHO) -n "*** Building in Perl "; $(MAKE) -C Perl )
@($(MAKE) -C apache-httpd tar >> $(LOGFILE) 2>&1)

clean:
for dir in $(DIRS); do \
$(ECHO) "*** Building clean in $@dir"; \
$(MAKE) -C $@dir clean; \
done
@($(ECHO) "*** Building clean in Perl"; $(MAKE) -C Perl clean )

allclean:
for dir in $(DIRS); do \
$(ECHO) "*** Building allclean in $@dir"; \
$(MAKE) -C $@dir allclean; \
done
@($(ECHO) "*** Building allclean in Perl"; $(MAKE) -C Perl allclean )
rm -f $(LOGFILE)
rm -rf $(ZIMBRA_HOME)/conf
rm -rf $(ZIMBRA_HOME)/log
rm -rf $(ZIMBRA_HOME)/zimbramon

mysql: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

sleepycat: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

heimdal: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

curl: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

libxml2: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

openldap: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

openssl: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

cyrus-sasl: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

apache-httpd: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

php: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

aspell: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

clamav: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

dspam: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

rrdtool: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

snmp: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

memcached: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

nginx: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

tcmalloc: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

postfix: PostFix

PostFix: force
(cd $@; $(MAKE) > $(LOGFILE).$@ 2>&1)

perl: Perl

Perl:
(cd $@; $(MAKE) > $(LOGFILE),$@ 2>&1)

p4edit:
for dir in $(DIRS); do \
$(ECHO) "*** p4 editing in $@dir"; \
$(MAKE) -C $@dir p4edit; \
done
@($(ECHO) -n "*** p4 editing in Perl "; $(MAKE) -C Perl p4edit )


force: ;
(1-1/3)