pjs/camino/Makefile.in

156 строки
5.7 KiB
Makefile

# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public 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.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications.
# Portions created by the Initial Developer are Copyright (C) 2003
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Brian Ryner <bryner@brianryner.com>
# Mark Mentovai <mark@moxienet.com>
# Smokey Ardisson <alqahira@ardisson.org>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = \
IBPalette \
flashblock \
$(NULL)
APP_NAME = Camino
PYTHON ?= python
FOX_APP_VERSION_FILE = $(topsrcdir)/browser/config/version.txt
FOX_APP_VERSION := $(shell cat $(FOX_APP_VERSION_FILE))
PLATFORM_VERSION_FILE = $(topsrcdir)/config/milestone.txt
PLATFORM_VERSION := $(shell egrep "^[^\#]+" $(PLATFORM_VERSION_FILE))
PLATFORM_BUILD_ID_FILE = generated/platform_build_id
PLATFORM_BUILD_ID := $(shell $(PYTHON) $(topsrcdir)/toolkit/xre/make-platformini.py --print-buildid)
PLATFORM_INI_FILE = ../toolkit/xre/platform.ini
ifdef MOZ_DEBUG
BUILDSTYLE = Development
else
BUILDSTYLE = Deployment
endif
ifdef BUILD_STATIC_LIBS
TARGET = CaminoStatic
else
TARGET = Camino
endif
GARBAGE_DIRS += build
include $(topsrcdir)/config/rules.mk
unexport CC CXX
ABS_topsrcdir := $(shell cd $(topsrcdir); pwd)
export::
mkdir -p ./wallet/tables && ln -sf $(ABS_topsrcdir)/extensions/wallet/src/*.tbl ./wallet/tables
ifneq ($(ABS_topsrcdir),$(MOZ_BUILD_ROOT))
rsync -a --exclude .DS_Store --exclude "CVS/" --exclude "*.mode1" --exclude "*.pbxuser" $(srcdir)/Camino.xcode .
ln -fs $(srcdir)/src
ln -fs $(srcdir)/resources
ln -fs $(srcdir)/PreferencePanes
ln -fs $(srcdir)/Info-*.plist .
endif
clean clobber repackage::
rm -rf $(DIST)/$(APP_NAME).app
rm -rf embed-replacements.tmp
rm -rf generated
rm -rf $(PLATFORM_INI_FILE) $(DIST)/bin/platform.ini
generated:
mkdir -p $@
# Generate files which need to pull version numbers from elsewhere in the tree
generated/all-camino.js: $(srcdir)/resources/application/all-camino.js.in $(FOX_APP_VERSION_FILE) generated
sed -e "s/%FOX_APP_VERSION%/$(FOX_APP_VERSION)/" $< > $@
# This will only touch the build ID file if the build ID has changed. The
# file's timestamp will be preserved when the build ID hasn't changed,
# reducing unnecessary build activity.
$(PLATFORM_BUILD_ID_FILE): FORCE
grep -lFx "$(PLATFORM_BUILD_ID)" $@ >& /dev/null || \
echo $(PLATFORM_BUILD_ID) > $@
# Put platform.ini into toolkit/xre and dist/bin, because that's where
# Tinderbox looks to figure out the build ID. It currently doesn't need
# to be distributed with the application.
$(PLATFORM_INI_FILE): $(PLATFORM_BUILD_ID_FILE) $(PLATFORM_VERSION_FILE)
mkdir -p `dirname $@`
echo [Build] > $@
echo BuildID=$(PLATFORM_BUILD_ID) >> $@
echo Milestone=$(PLATFORM_VERSION) >> $@
$(INSTALL) $@ $(DIST)/bin
generated/CmXULAppData.h: $(srcdir)/src/embedding/CmXULAppData.h.in $(PLATFORM_BUILD_ID_FILE) $(PLATFORM_VERSION_FILE)
sed -e "s/%PLATFORM_BUILD_ID%/$(PLATFORM_BUILD_ID)/" \
-e "s/%PLATFORM_VERSION%/$(PLATFORM_VERSION)/" $< > $@
# The embed-replacements rsync is done for both srcdir and objdir builds
# to avoid adding CVS stuff to embed.jar.
libs:: generated/all-camino.js generated/CmXULAppData.h $(PLATFORM_INI_FILE)
rsync -aC --delete $(srcdir)/embed-replacements/ embed-replacements.tmp
cd embed-replacements.tmp && $(ZIP) -r0DX ../../dist/Embed/chrome/embed.jar *
$(PBBUILD) -project Camino.xcode -target $(TARGET) -buildstyle $(BUILDSTYLE) $(PBBUILD_SETTINGS)
libs repackage::
rsync -a --copy-unsafe-links $(XCODE_PRODUCT_DIR)/Camino.app/ $(DIST)/$(APP_NAME).app
$(RM) $(DIST)/$(APP_NAME).app/Contents/MacOS/components/camino.xpt
$(XPIDL_LINK) $(DIST)/$(APP_NAME).app/Contents/MacOS/camino.xpt $(DIST)/$(APP_NAME).app/Contents/MacOS/components/*.xpt
$(RM) $(DIST)/$(APP_NAME).app/Contents/MacOS/components/*.xpt
mv $(DIST)/$(APP_NAME).app/Contents/MacOS/camino.xpt $(DIST)/$(APP_NAME).app/Contents/MacOS/components/camino.xpt
# convenience target for PB script build phases
echo_srcdir:
@echo $(srcdir)
# XXX the parts below are a hack to make old tinderbox scripts find a non-zero, executable mozilla-bin
libs:: $(PROGRAM)
mkdir -p $(DIST)/Mozilla.app/Contents/MacOS
echo "I'm just fooling an old tinderbox script" > $(DIST)/Mozilla.app/Contents/MacOS/mozilla-bin
chmod a+x $(DIST)/Mozilla.app/Contents/MacOS/mozilla-bin
clean clobber::
rm -rf $(DIST)/Mozilla.app