# -*- 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 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 \ xpi-config.mk \ xulapp.mk \ $(NULL) extra_files = \ lp-locale-export.mk \ xpi.mk \ xpi-data-all.mk \ xpi-data-common.mk \ xpi-data-Debian.mk \ xpi-data-Ubuntu.mk \ $(NULL) bindir_files = \ med-xpi-pack \ med-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|" \ -e "s|@DISTRO@|$(shell lsb_release -si)|" \ > $@ chmod 644 $@ build: $(subst_files) install: $(subst_files) $(extra_files) $(foreach dir,$(extra_dirs),$(wildcard $(dir)/*)) install-man 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 find $(DESTDIR)$(DATADIR) -type f \( -name \*.pl -o -name \*.sh \) -exec chmod -v 755 {} \; chmod 755 $(DESTDIR)$(DATADIR)/minefield-packager.mk install-man: install -D -m 644 ../man/moz-version.1 $(DESTDIR)$(MANDIR)/man1/moz-version.1 install -D -m 644 ../man/med-xpi-pack.1 $(DESTDIR)$(MANDIR)/man1/med-xpi-pack.1 install -D -m 644 ../man/med-xpi-unpack.1 $(DESTDIR)$(MANDIR)/man1/med-xpi-unpack.1 clean: rm -f $(subst_files) .PHONY: clean install install-man