# -*- mode: makefile; coding: utf-8 -*- # Copyright (c) 2007-2008 Fabien Tassin # Description: Build system for mozilla-devscripts # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2, or (at # your option) any later version. # # This program 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 # General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. PREFIX ?= /usr BINDIR ?= $(PREFIX)/bin DATADIR = $(PREFIX)/share/mozilla-devscripts VENDOR := $(shell if dpkg-vendor --is Ubuntu || dpkg-vendor --derives-from Ubuntu; then echo "Ubuntu"; else echo "Debian"; fi) subst_files = \ firefox-3.0.mk \ firefox-3.0-full.mk \ firefox-3.1.mk \ firefox-4.0.mk \ fennec.mk \ lightning-sunbird.mk \ nspr.mk \ nss.mk \ seamonkey-2.0.mk \ thunderbird-3.0.mk \ xulrunner-1.8.mk \ xulrunner-1.9.mk \ xulrunner-1.9.1.mk \ xulrunner-2.0.mk \ prism.mk \ flock.mk \ mozclient.mk \ compare.mk \ minefield-packager.mk \ xulapp.mk \ $(NULL) extra_files = \ lp-locale-export.mk \ xpi.mk \ $(NULL) extra_dirs = \ mozclient \ mozclient/patches \ mozclient/lib \ mozclient/lib/MozClient \ minefield-packager/debian \ $(NULL) build: $(subst_files) %.mk: %.mk.in cat $< | sed \ -e "s|^\(include\) \(.*\)\.in|\1 $(DATADIR)/\2|" \ -e "s|^\(MOZCLIENT_EXCLUDE_SCRIPT.*=[ ][ ]*\)\(.*/\)\(.*\)|\1$(DATADIR)/\3|" \ -e "s|^\(MOZCLIENT_PATCHES.*=[ ][ ]*\)\(.*/\)\(.*\)|\1$(DATADIR)/\3|" \ -e "s|^\(MOZDEVSCRIPT_DIR.*=[ ]*\)\(.*\)|\1$(DATADIR)/\2|" \ > $@ chmod 644 $@ install: $(subst_files) $(extra_files) $(foreach dir,$(extra_dirs),$(wildcard $(dir)/*)) python setup.py install --root="$(DESTDIR)" --no-compile --install-layout=deb install -m 755 -d $(DESTDIR)$(DATADIR) $(foreach dir,$(extra_dirs),$(DESTDIR)$(DATADIR)/$(dir)) install -m 644 $(subst_files) $(extra_files) $(DESTDIR)$(DATADIR) for dir in $(extra_dirs) ; do \ install -m 644 `echo $$dir/*` $(DESTDIR)$(DATADIR)/$$dir ; \ done find $(DESTDIR)$(DATADIR) -type f \( -name \*.pl -o -name \*.sh \) -exec chmod -v 755 {} \; chmod 755 $(DESTDIR)$(DATADIR)/minefield-packager.mk install -m 644 xul-app-data.csv.$(VENDOR) $(DESTDIR)$(DATADIR)/xul-app-data.csv install -D -m 644 xul-ext.pm $(DESTDIR)$(PREFIX)/share/perl5/Debian/Debhelper/Sequence/xul_ext.pm install -D -m 644 xul-ext_build.pm $(DESTDIR)$(PREFIX)/share/perl5/Debian/Debhelper/Buildsystem/xul_ext.pm clean: rm -f *.pyc $(subst_files) .PHONY: clean install