# -*- 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 MANDIR ?= $(PREFIX)/share/man 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) bindir_files = \ dh_xul-ext \ install-xpi \ xpi-pack \ xpi-repack \ xpi-unpack \ moz-version extra_dirs = \ mozclient \ mozclient/patches \ mozclient/lib \ mozclient/lib/MozClient \ minefield-packager/debian \ $(NULL) %.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 $@ build: $(subst_files) test: ../tests/test-moz-version install: $(subst_files) $(extra_files) $(foreach dir,$(extra_dirs),$(wildcard $(dir)/*)) install -m 755 -d $(DESTDIR)$(DATADIR) $(foreach dir,$(extra_dirs),$(DESTDIR)$(DATADIR)/$(dir)) install -m 644 $(subst_files) $(extra_files) $(DESTDIR)$(DATADIR) install -m 755 -d $(DESTDIR)$(BINDIR) install -m 755 $(bindir_files) $(DESTDIR)$(BINDIR) for dir in $(extra_dirs) ; do \ install -m 644 `echo $$dir/*` $(DESTDIR)$(DATADIR)/$$dir ; \ done install -m 644 -D moz_version.py $(DESTDIR)$(DATADIR)/moz_version.py for dir in $(shell pyversions -s); do \ mkdir -p $(DESTDIR)$(PREFIX)/lib/$$dir/site-packages/; \ ln -s ../../../share/mozilla-devscripts/moz_version.py $(DESTDIR)$(PREFIX)/lib/$$dir/site-packages/; \ 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)/usr/share/perl5/Debian/Debhelper/Sequence/xul_ext.pm install -D -m 644 xul-ext_build.pm $(DESTDIR)/usr/share/perl5/Debian/Debhelper/Buildsystem/xul_ext.pm clean: rm -f $(subst_files) .PHONY: clean install test