gajim-plural/Makefile

165 lines
5.2 KiB
Makefile

VERSION ?= 0.10
GAJIM_AP = 0 # do we build Autopackage?
MODULES = src src/common po
PREFIX = /usr/local
PYTHON = python
DESTDIR =
OPTFLAGS =
export OPTFLAGS
LIBDIR = /lib
export LIBDIR
MANDIR = $(DESTDIR)$(PREFIX)/share/man
FIND = find . \( -name '*.glade' -o -name '*.py' -o -name '*.xpm' -o -name '*.gif' -o -name '*.png' -o -name '*.wav' -o -name '*.xml' \)
FILES = `$(FIND)`
DIRS = `$(FIND) -exec dirname {} \; | sort -u`
FIND_PO = find ./po \( -name '*.mo' \)
FILES_PO = `$(FIND_PO) | sed -e 's/^\.\/po/\./g'`
DIRS_PO = `$(FIND_PO) -exec dirname {} \; | sort -u | sed -e 's/^\.\/po/\./g'`
FIND_LIB = find . -name '*.so'
FILES_LIB = `$(FIND_LIB)`
SCRIPTS = \
scripts/gajim \
scripts/gajim-remote \
all: translation trayicon gtkspell idle gajim.desktop
translation:
${MAKE} -C po all
trayicon:
${MAKE} -C src trayicon.so;
gtkspell:
${MAKE} -C src gtkspell.so;
idle:
${MAKE} -C src/common all;
distclean: clean
-rm ./tags
clean:
find . -name '*.pyc' -exec rm {} \;
find . -name '*.pyo' -exec rm {} \;
${MAKE} -C po clean
rm -f gajim.desktop
$(foreach sdir, $(MODULES), ${MAKE} -C $(sdir) clean;)
dist:
rm -rf gajim-$(VERSION)
mkdir gajim-$(VERSION)
cp -r data src po gajim-$(VERSION)/
cp AUTHORS gajim.1 gajim-remote.1 gajim.desktop.in COPYING THANKS Makefile Changelog README launch.sh gajim-$(VERSION)
mkdir gajim-$(VERSION)/scripts
for s in $(SCRIPTS) ; do \
cp $$s gajim-$(VERSION)/scripts/; \
done
find gajim-$(VERSION) -name '.svn' -type d | xargs rm -rf
find gajim-$(VERSION) -name '*.pyc' -exec rm {} \;
find gajim-$(VERSION) -name '*.pyo' -exec rm {} \;
find gajim-$(VERSION) -name '.*' -exec rm {} \;
@echo tarring gajim-$(VERSION) ...
@tar czf gajim-$(VERSION).tar.gz gajim-$(VERSION)/
@tar cjf gajim-$(VERSION).tar.bz2 gajim-$(VERSION)/
rm -rf gajim-$(VERSION)
install:
# Remove the old po folder if it exists
if [ -d $(DESTDIR)$(PREFIX)/share/gajim/po ] ; then \
rm -rf $(DESTDIR)$(PREFIX)/share/gajim/po; \
fi
for d in $(DIRS) ; do \
if [ ! -d $(DESTDIR)$(PREFIX)/share/gajim/$$d ] ; then \
mkdir -p "$(DESTDIR)$(PREFIX)/share/gajim/$$d"; \
fi; \
done
for f in $(FILES) ; do \
DST=`dirname "$$f"`; \
cp "$$f" "$(DESTDIR)$(PREFIX)/share/gajim/$$DST/"; \
done
rm "$(DESTDIR)$(PREFIX)/share/gajim/src/systraywin32.py"
for d in $(DIRS_PO) ; do \
if [ ! -d $(DESTDIR)$(PREFIX)/share/locale/$$d ] ; then \
mkdir -p "$(DESTDIR)$(PREFIX)/share/locale/$$d"; \
fi; \
done
if [ ! -z $$(find po -name *.mo) ]; then \
${MAKE} -C po install PREFIX=$(PREFIX) ; \
fi
cp COPYING "$(DESTDIR)$(PREFIX)/share/gajim/";
cp THANKS "$(DESTDIR)$(PREFIX)/share/gajim/";
mkdir -p "$(DESTDIR)$(PREFIX)/share/pixmaps";
cp data/pixmaps/gajim.png "$(DESTDIR)$(PREFIX)/share/pixmaps/";
cp data/pixmaps/gajim_about.png "$(DESTDIR)$(PREFIX)/share/pixmaps/";
mkdir -p "$(DESTDIR)$(PREFIX)/share/applications";
if [ -f gajim.desktop ]; then \
cp gajim.desktop "$(DESTDIR)$(PREFIX)/share/applications/"; \
fi;
mkdir -p "$(MANDIR)/man1";
cp gajim.1 "$(MANDIR)/man1";
cp gajim-remote.1 "$(MANDIR)/man1";
mkdir -p "$(DESTDIR)$(PREFIX)$(LIBDIR)/gajim";
for f in $(FILES_LIB) ; do \
cp "$$f" "$(DESTDIR)$(PREFIX)$(LIBDIR)/gajim/"; \
done
mkdir -p "$(DESTDIR)$(PREFIX)/bin";
for s in $(SCRIPTS) ; do \
BASE=`basename "$$s"`; \
if [ $(GAJIM_AP) -ne 0 ] ; then \
F=`cat "$$s" | sed -e 's!LIB!$(LIBDIR)!g' -e 's!PYTHON_EXEC!$(PYTHON)!g'`; \
else \
F=`cat "$$s" | sed -e 's!PREFIX!$(PREFIX)!g' -e 's!LIB!$(LIBDIR)!g' -e 's!PYTHON_EXEC!$(PYTHON)!g'`; \
fi; \
echo "$$F" > "$(DESTDIR)$(PREFIX)/bin/$$BASE"; \
chmod +x "$(DESTDIR)$(PREFIX)/bin/$$BASE"; \
done
gajim.desktop: gajim.desktop.in
intltool-merge -d po gajim.desktop.in gajim.desktop
#
# show make params we accept
#
help:
@echo Usage:
@echo make - builds all modules
@echo make clean - delete built modules and object files
@echo make distclean - clean plus deletion of all other non-repository files
@echo make install - install binaries into the official directories
@echo make uninstall - uninstall binaries from the official directories
@echo make help - prints this help
@echo
@echo make trayicon - makes only trayicon module
@echo make idle - makes only idle detection module
@echo make translation - makes only translation \(mo files\)
@echo make gtkspell - makes only gtkspell detection module
@echo make tags - makes 'tags' file for use with ctags
@echo
#
# uninstall application from official directories
#
uninstall:
rm -rf "$(DESTDIR)$(PREFIX)/share/gajim" # the main files are here
rm -rf "$(DESTDIR)$(PREFIX)/lib/gajim" # the .so files are here
rm -f "$(DESTDIR)$(PREFIX)/bin/gajim" # the bash script
rm -f "$(DESTDIR)$(PREFIX)/bin/gajim-remote" # remote-control script
rm -f "$(MANDIR)/man1/gajim.1" # the man page
rm -f "$(MANDIR)/man1/gajim-remote.1" # the man page
rm -f "$(DESTDIR)$(PREFIX)/share/pixmaps/gajim.png" # the icon
rm -f "$(DESTDIR)$(PREFIX)/share/pixmaps/gajim_about.png" # the icon
rm -f "$(DESTDIR)$(PREFIX)/share/applications/gajim.desktop" #the desktop
find "$(DESTDIR)$(PREFIX)/share/locale" -name 'gajim.mo' -exec rm {} \; #the .mo files
@echo done uninstalling
tags:
-rm tags
exuberant-ctags -R
.PHONY: all translation trayicon gtkspell idle clean dist distclean install help\
uninstall tags