ebbf187f35
2005/01/14 04:12:49 vq 1.1.2.18: #i11424# Change the version to be build by default to 1.7.5 and change the configure switch to enable the build to: --enable-build-mozilla 2005/01/14 03:16:15 vq 1.1.2.17: #i11424# Fix rebuild problem for W32 and remove two hunks from mozilla-source-1.7.5.patch that were accidentally included. 2005/01/10 09:34:06 windly 1.1.2.16: #i11424# add --disable-postscript and --disable-freetype2 to moz/makefile.mk 2005/01/09 06:29:08 vq 1.1.2.15: #i11424# Use "dmake patch" and "dmake create_patch" to create patches. Also try to fix mozilla-source-1.7.5.patch for W32 with only moderate success. 2005/01/08 19:28:55 vq 1.1.2.14: #i11424# Fix (potential) problem with CC/CXX containing DOS paths. 2005/01/06 21:05:06 vq 1.1.2.13: #i11424# Small cleanup. 2004/12/31 19:55:46 vq 1.1.2.12: #i11424# Patches to build with W32-4nt. 2004/12/24 23:18:11 vq 1.1.2.11: #i11424# Enable automatic installation/use of wintools for W32. 2004/11/30 10:56:26 windly 1.1.2.10: #i11424# 2004/11/30 06:23:51 windly 1.1.2.9: #i11424# add MOZILLA_VERSION and DEFAULT_MOZILLA_TOOLKIT options defaults are 1.7b and gtk2 2004/11/28 19:35:51 vq 1.1.2.8: #i11424# Don't ask. 2004/11/28 15:44:52 vq 1.1.2.7: #i11424# Clean-up for the windows part and also disabling the installer build because it is not needed. 2004/11/25 10:20:01 windly 1.1.2.6: #i11424# use xlib 2004/07/14 04:22:36 windly 1.1.2.5: use glib2 and gtk2 when build mozilla 2004/05/17 08:33:43 windly 1.1.2.4: #i11424# disable-activex .... 2004/05/17 07:18:28 windly 1.1.2.3: #i28398# update to mozilla v1.7b 2004/02/04 06:13:48 yl146652 1.1.2.2: #11424# Using a makefile: extractfiles.mk to copy files from mozilla build tree instead of using shell scripts named moz.$(OS).sh 2004/01/07 10:27:53 fs 1.1.2.1: #i11424# prepare building Mozilla tarballs from mozilla source, instead of checking them into CVS thanks to Wind Li (yl146652@openoffice.org) and Volker Quetschke (vq@openoffice.org)
246 lines
8.3 KiB
Makefile
246 lines
8.3 KiB
Makefile
#*************************************************************************
|
|
#
|
|
# $RCSfile: makefile.mk,v $
|
|
#
|
|
# $Revision: 1.2 $
|
|
#
|
|
# last change: $Author: kz $ $Date: 2005-03-01 17:18:37 $
|
|
#
|
|
# The Contents of this file are made available subject to the terms of
|
|
# either of the following licenses
|
|
#
|
|
# - GNU Lesser General Public License Version 2.1
|
|
# - Sun Industry Standards Source License Version 1.1
|
|
#
|
|
# Sun Microsystems Inc., October, 2000
|
|
#
|
|
# GNU Lesser General Public License Version 2.1
|
|
# =============================================
|
|
# Copyright 2000 by Sun Microsystems, Inc.
|
|
# 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License version 2.1, as published by the Free Software Foundation.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
# MA 02111-1307 USA
|
|
#
|
|
#
|
|
# Sun Industry Standards Source License Version 1.1
|
|
# =================================================
|
|
# The contents of this file are subject to the Sun Industry Standards
|
|
# Source License Version 1.1 (the "License"); You may not use this file
|
|
# except in compliance with the License. You may obtain a copy of the
|
|
# License at http://www.openoffice.org/license.html.
|
|
#
|
|
# Software provided under this License is provided on an "AS IS" basis,
|
|
# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
|
# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
|
|
# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
|
|
# See the License for the specific provisions governing your rights and
|
|
# obligations concerning the Software.
|
|
#
|
|
# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
|
|
#
|
|
# Copyright: 2000 by Sun Microsystems, Inc.
|
|
#
|
|
# All Rights Reserved.
|
|
#
|
|
# Contributor(s): _______________________________________
|
|
#
|
|
#
|
|
#
|
|
#*************************************************************************
|
|
|
|
PRJ=.
|
|
|
|
PRJNAME=ooo_mozab
|
|
TARGET=ooo_mozab
|
|
|
|
# --- Settings -----------------------------------------------------
|
|
|
|
.INCLUDE : settings.mk
|
|
|
|
# --- Files --------------------------------------------------------
|
|
|
|
MOZILLA_VERSION*=1.7.5
|
|
.IF "$(MOZILLA_VERSION)"=="1.7b"
|
|
TARFILE_NAME=mozilla-source-1.7b-source
|
|
.ELSE
|
|
TARFILE_NAME=mozilla-source-$(MOZILLA_VERSION)
|
|
.ENDIF
|
|
TARFILE_ROOTDIR=mozilla
|
|
|
|
PATCH_FILE_NAME=mozilla-source-$(MOZILLA_VERSION).patch
|
|
|
|
# These files are needed for the W32 build when BUILD_MOZAB is set
|
|
LIBIDL_VC71_ZIPFILE_NAME*=vc71-libIDL-0.6.8-bin.zip
|
|
LIBGLIB_VC71_ZIPFILE_NAME*=vc71-glib-1.2.10-bin.zip
|
|
WINTOOLS_ZIPFILE_NAME*=wintools.zip
|
|
|
|
ADDITIONAL_FILES=mailnews$/addrbook$/src$/nsAbMD5sum.cpp
|
|
|
|
CONFIGURE_DIR=
|
|
MOZILLA_CONFIGURE_FLAGS= --disable-tests \
|
|
--enable-ldap \
|
|
--enable-crypto \
|
|
--enable-optimize \
|
|
--enable-strip \
|
|
--disable-profilelocking \
|
|
--disable-activex \
|
|
--disable-activex-scripting \
|
|
--disable-gnomevfs \
|
|
--disable-debug \
|
|
--disable-xprint \
|
|
--disable-postscript \
|
|
--disable-freetype2 \
|
|
--without-system-zlib \
|
|
--disable-installer \
|
|
--disable-accessibility
|
|
|
|
#disable profilelocking to share profile with mozilla
|
|
#disable activex and activex-scripting to remove the dependence of Microsoft_SDK\src\mfc\atlbase.h
|
|
#disable gnomevfs to remove the needed of gnome develop files
|
|
#disable others to save build times
|
|
|
|
.IF "$(GUI)"=="UNX"
|
|
#We do not need mozilla ui, but libIDL version are decided by default toolkit.
|
|
#default-toolkit=xlib need libIDL < 0.68
|
|
#default-toolkit=gtk2 need libIDL > 0.8 (know as libIDL2)
|
|
.IF "x$(DEFAULT_MOZILLA_TOOLKIT)"=="x"
|
|
DEFAULT_MOZILLA_TOOLKIT=gtk2
|
|
.ENDIF
|
|
MOZILLA_CONFIGURE_FLAGS+= --enable-default-toolkit=$(DEFAULT_MOZILLA_TOOLKIT)
|
|
.ENDIF
|
|
|
|
CONFIGURE_ACTION=sh -c "./configure $(MOZILLA_CONFIGURE_FLAGS)"
|
|
|
|
|
|
BUILD_DIR=
|
|
.IF "$(USE_SHELL)"!="4nt"
|
|
BUILD_ACTION:=$(GNUMAKE)
|
|
.ELSE
|
|
# This construct is needed because unitools.mk defines GNUMAKE using $ENV_TOOLS.
|
|
# $ENV_TOOLS doesn't exist for OOo builds and the cygwin make is needed.
|
|
BUILD_ACTION:=make
|
|
.ENDIF
|
|
|
|
.IF "$(GUI)"=="UNX"
|
|
.IF "$(COMNAME)"=="sunpro5"
|
|
.IF "$(BUILD_TOOLS)$/cc"=="$(shell +-which cc)"
|
|
CC:=$(COMPATH)$/bin$/cc
|
|
CXX:=$(COMPATH)$/bin$/CC
|
|
CXXFLAGS:=-features=tmplife
|
|
.EXPORT : CXXFLAGS
|
|
.ENDIF # "$(COMNAME)"=="sunpro5"
|
|
.ENDIF # "$(BUILD_TOOLS)$/cc"=="$(shell +-which cc)"
|
|
.ENDIF
|
|
|
|
MOZDIR=$(MISC)$/build$/mozilla
|
|
MOZTARGET=$(OS)$(COM)$(CPU)
|
|
|
|
.IF "$(GUI)"=="WNT"
|
|
# "Our" build environment uses "NO" for the environment variable that
|
|
# indicate if system libraries should be used, the mozilla build uses
|
|
# "" in this case. This conflicts (at least for W32) with mozilla (1.7b)
|
|
# because it disables the library checks for msvc so that
|
|
# --without-system-* is not evaluated. To build the included libraries
|
|
# the affected variables have to be empty and not NO.
|
|
.IF "$(SYSTEM_ZLIB)"=="NO"
|
|
SYSTEM_ZLIB:=
|
|
.EXPORT : SYSTEM_ZLIB
|
|
.ENDIF
|
|
.IF "$(SYSTEM_JPEG)"=="NO"
|
|
SYSTEM_JPEG:=
|
|
.EXPORT : SYSTEM_JPEG
|
|
.ENDIF
|
|
|
|
# For W32-tcsh CC and CXX must not contain the wrapper, and W32-4nt ( in
|
|
# some cases ) doesn't work with DOS path notation when building mozilla.
|
|
CC:=cl.exe
|
|
CXX:=cl.exe
|
|
|
|
# Variables to install/use our own wintools
|
|
MOZTOOLSUNPACK:=$(MISC)$/build$/moztoolsunpack
|
|
MOZTOOLSINST:=$(MISC)$/build$/moztoolsinst
|
|
.IF "$(USE_SHELL)"!="4nt"
|
|
MOZ_TOOLS:=$(shell cygpath -ad "$(MISC)")\build\moztoolsinst
|
|
PATH!:=$(shell cygpath $(MOZ_TOOLS))/vc71/bin:$(shell cygpath $(MOZ_TOOLS))/bin:$(PATH)
|
|
.ELSE # "$(USE_SHELL)"!="4nt"
|
|
# MOZ_TOOLS must contain an absolute path
|
|
MOZ_TOOLS:=$(shell +echo %@SFN[$(MISC)])\build\moztoolsinst
|
|
PATH!:=$(MOZ_TOOLS)\vc71\bin;$(MOZ_TOOLS)\bin;$(PATH)
|
|
.ENDIF # "$(USE_SHELL)"!="4nt"
|
|
GLIB_PREFIX:=$(MOZ_TOOLS)\vc71
|
|
LIBIDL_PREFIX:=$(MOZ_TOOLS)\vc71
|
|
|
|
.EXPORT : PATH MOZ_TOOLS GLIB_PREFIX LIBIDL_PREFIX
|
|
.ENDIF # "$(GUI)"=="WNT"
|
|
|
|
# --- Targets ------------------------------------------------------
|
|
|
|
.IF "$(BUILD_MOZAB)"==""
|
|
all:
|
|
@echo "Never Build Mozilla."
|
|
.ENDIF
|
|
|
|
.INCLUDE : set_ext.mk
|
|
.INCLUDE : target.mk
|
|
.INCLUDE : tg_ext.mk
|
|
|
|
.IF "$(GUI)"=="WNT"
|
|
NEEDWINTOOLSFLAGFILE:=$(MISC)$/build$/wintools.complete
|
|
.ENDIF # "$(GUI)"=="WNT"
|
|
|
|
ALLTAR: $(NEEDWINTOOLSFLAGFILE) \
|
|
$(MISC)$/remove_build.flag \
|
|
extract_mozab_files
|
|
|
|
$(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : $(MISC)$/remove_build.flag
|
|
|
|
# Since you never know what will be in a patch (for example, it may already
|
|
# patch at configure level), we remove the entire package directory if a patch
|
|
# is newer.
|
|
$(MISC)$/remove_build.flag : $(PATCH_FILE_NAME)
|
|
$(REMOVE_PACKAGE_COMMAND)
|
|
+$(TOUCH) $(MISC)$/remove_build.flag
|
|
|
|
# Unpack/setup Windows build tools
|
|
.IF "$(GUI)"=="WNT"
|
|
$(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : $(MISC)$/build$/wintools.complete
|
|
|
|
$(MISC)$/build$/wintools.unpack : $(PRJ)$/download$/$(WINTOOLS_ZIPFILE_NAME)
|
|
+-$(RENAME) $(MOZTOOLSUNPACK) $(MOZTOOLSUNPACK)_removeme
|
|
+-$(RENAME) $(MOZTOOLSINST) $(MOZTOOLSINST)_removeme
|
|
+-rm -rf $(MOZTOOLSUNPACK)_removeme $(MOZTOOLSINST)_removeme
|
|
@+-$(MKDIR) $(MOZTOOLSUNPACK)
|
|
unzip $(PRJ)$/download$/$(WINTOOLS_ZIPFILE_NAME) -d $(MOZTOOLSUNPACK)
|
|
+$(TOUCH) $(MISC)$/build$/wintools.unpack
|
|
|
|
$(MISC)$/build$/wintools.install : $(MISC)$/build$/wintools.unpack
|
|
+cd $(MOZTOOLSUNPACK)$/buildtools$/windows && cmd /c install.bat
|
|
+$(TOUCH) $(MISC)$/build$/wintools.install
|
|
|
|
$(MISC)$/build$/wintools.complete : \
|
|
$(MISC)$/build$/wintools.install \
|
|
$(PRJ)$/download$/$(LIBIDL_VC71_ZIPFILE_NAME) \
|
|
$(PRJ)$/download$/$(LIBGLIB_VC71_ZIPFILE_NAME)
|
|
unzip $(PRJ)$/download$/$(LIBIDL_VC71_ZIPFILE_NAME) -d $(MOZTOOLSINST)
|
|
unzip $(PRJ)$/download$/$(LIBGLIB_VC71_ZIPFILE_NAME) -d $(MOZTOOLSINST)
|
|
# chmod is also needed for W32-4nt build (when cygwin unzip is used)
|
|
-chmod -R +x $(MOZTOOLSINST)$/vc71$/bin
|
|
+$(TOUCH) $(MISC)$/build$/wintools.complete
|
|
.ENDIF # "$(GUI)"=="WNT"
|
|
|
|
zip: \
|
|
$(MISC)$/CREATETARBALL
|
|
|
|
.INCLUDE : extractfiles.mk
|