1# Makefile.in for sawfish 2# Copyright (C) 1998 - 2008 John Harper 3# 2008 - 2010 Sawfish Community 4# 5# This file is part of sawfish. 6# 7# sawmfish is free software; you can redistribute it and/or modify it 8# under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 2, or (at your option) 10# any later version. 11# 12# sawfish is distributed in the hope that it will be useful, but 13# WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with sawfish; see the file COPYING. If not, write to 19# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 20 21include ./Makedefs 22 23top_builddir=. 24top_srcdir=@top_srcdir@ 25srcdir=@srcdir@ 26 27SUBDIRS = @SUBDIRS@ 28 29all : build.h DOC 30 for dir in $(SUBDIRS); do \ 31 [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \ 32 done 33 34# this depends on config.status so it's rebuilt if configure is re-run 35build.h : build-info config.status 36 $(SHELL) $< $(version)$(subversion) '$(sawfishdir)' \ 37 '$(lispdir)' '$(sawfishexecdir)' '$(localedir)' 38 39install : all installdirs 40 for dir in $(SUBDIRS); do \ 41 ( cd $$dir && $(MAKE) $@ ) || exit 1; \ 42 done 43 for f in ./DOC*; do \ 44 $(INSTALL_DATA) $$f $(DESTDIR)$(sawfishexecdir); \ 45 done 46 $(INSTALL_DATA) $(srcdir)/data/sawfish.desktop $(DESTDIR)$(datadir)/applications/ 47 $(INSTALL_DATA) $(srcdir)/data/sawfish-config.desktop $(DESTDIR)$(datadir)/applications/ 48 $(INSTALL_DATA) $(top_srcdir)/data/sawfish.pc $(DESTDIR)$(prefix)/libdata/pkgconfig/ 49 # needed for GNOME2 to recognize Sawfish, GConf-Key /desktop/gnome/session/required-components/windowmanager 50 # need to be set to 'sawfish' as well 51 $(INSTALL_DATA) $(top_srcdir)/data/sawfish.desktop $(DESTDIR)$(datadir)/xsessions/sawfish.desktop;\ 52 if test $(GNOME2_SESSION) = "yes"; then \ 53 $(INSTALL_DATA) $(srcdir)/data/sawfish.desktop $(DESTDIR)$(GNOMEDIR)/share/gnome/wm-properties/sawfish-wm.desktop; \ 54 fi 55 if test $(KDE4_SESSION) = "yes"; then \ 56 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-ksm.desktop $(DESTDIR)$(KDE4DIR)/ksmserver/windowmanagers/sawfish.desktop; \ 57 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-kde4.desktop $(DESTDIR)$(datadir)/xsessions/sawfish-kde4.desktop; \ 58 $(INSTALL_SCRIPT) $(top_srcdir)/data/sawfish-kde4-session $(DESTDIR)$(bindir)/sawfish-kde4-session; \ 59 fi 60 if test $(KDE5_SESSION) = "yes"; then \ 61 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-ksm.desktop $(DESTDIR)$(KDE5DIR)/ksmserver/windowmanagers/sawfish.desktop; \ 62 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-kde5.desktop $(DESTDIR)$(datadir)/xsessions/sawfish-kde5.desktop; \ 63 $(INSTALL_SCRIPT) $(top_srcdir)/data/sawfish-kde5-session $(DESTDIR)$(bindir)/sawfish-kde5-session; \ 64 fi 65 if test $(XFCE_SESSION) = "yes"; then \ 66 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-xfce.desktop $(DESTDIR)$(datadir)/xsessions/sawfish-xfce.desktop; \ 67 $(INSTALL_SCRIPT) $(top_srcdir)/data/sawfish-xfce-session $(DESTDIR)$(bindir)/sawfish-xfce-session; \ 68 fi 69 if test $(MATE_SESSION) = "yes"; then \ 70 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-mate.desktop $(DESTDIR)$(datadir)/xsessions/sawfish-mate.desktop; \ 71 $(INSTALL_SCRIPT) $(top_srcdir)/data/sawfish-mate-session $(DESTDIR)$(bindir)/sawfish-mate-session; \ 72 fi 73 if test $(LUMINA_SESSION) = "yes"; then \ 74 $(INSTALL_DATA) $(top_srcdir)/data/sawfish-lumina.desktop $(DESTDIR)$(datadir)/xsessions/sawfish-lumina.desktop; \ 75 $(INSTALL_SCRIPT) $(top_srcdir)/data/sawfish-lumina-session $(DESTDIR)$(bindir)/sawfish-lumina-session; \ 76 fi 77 78installdirs : mkinstalldirs 79 $(SHELL) $< $(DESTDIR)$(sawfishdir) \ 80 $(DESTDIR)$(bindir) $(DESTDIR)$(sawfishexecdir) \ 81 $(DESTDIR)$(datadir)/applications/ \ 82 $(DESTDIR)$(prefix)/libdata/pkgconfig/ \ 83 $(DESTDIR)$(datadir)/xsessions/ 84 if test $(GNOME2_SESSION) = "yes"; then \ 85 $(SHELL) $< $(DESTDIR)$(GNOMEDIR)/share/gnome/wm-properties ; \ 86 fi 87 if test $(KDE4_SESSION) = "yes"; then \ 88 $(SHELL) $< $(DESTDIR)$(KDE4DIR)/ksmserver/windowmanagers/ ; \ 89 fi 90 if test $(KDE5_SESSION) = "yes"; then \ 91 $(SHELL) $< $(DESTDIR)$(KDE5DIR)/ksmserver/windowmanagers/ ; \ 92 fi 93 94uninstall : 95 for dir in $(SUBDIRS); do \ 96 ( cd $$dir && $(MAKE) $@ ) || exit 1; \ 97 done 98 rm -rf $(DESTDIR)$(sawfishdir) 99 rm -f $(DESTDIR)$(prefix)/libdata/pkgconfig/sawfish.pc 100 rm -f $(DESTDIR)$(datadir)/xsessions/sawfish.desktop 101 rm -f $(DESTDIR)$(datadir)/xsessions/sawfish-kde4.desktop 102 rm -f $(DESTDIR)$(datadir)/xsessions/sawfish-kde5.desktop 103 rm -f $(DESTDIR)$(datadir)/xsessions/sawfish-mate.desktop 104 rm -f $(DESTDIR)$(datadir)/xsessions/sawfish-lumina.desktop 105 rm -f $(DESTDIR)$(datadir)/applications/sawfish.desktop 106 rm -f $(DESTDIR)$(GNOMEDIR)/share/gnome/wm-properties/sawfish-wm.desktop 107 rm -f $(DESTDIR)$(KDE5DIR)/ksmserver/windowmanagers/sawfish.desktop 108 rm -f $(DESTDIR)$(KDE4DIR)/ksmserver/windowmanagers/sawfish.desktop 109 rm -f $(DESTDIR)$(bindir)/sawfish-*-session 110 111# At this stage, DOC file omits some docstrings. (Only small portion, 112# though.) Byte compilation makes it complete. 113DOC : 114 repdoc DOC `find $(srcdir) \( -name '*.c' -o -name '*.jl' \) -print|LC_ALL=C sort` 115 116changelog : 117 $(srcdir)/scripts/make-changelog 118 119clean : 120 -for dir in $(SUBDIRS); do \ 121 [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \ 122 done 123 rm -f *~ DOC* TAGS build.h 124 125distclean : clean 126 -for dir in $(SUBDIRS); do \ 127 [ -d $$dir ] && ( cd $$dir && $(MAKE) $@ ) || exit 1; \ 128 done 129 rm -f config.cache config.h config.log config.status \ 130 Makedefs Makefile libtool *~ DOC* TAGS build.h \ 131 data/sawfish.pc aclocal.m4 configure ltmain.sh \ 132 config.h.in 133 rm -rf autom4te.cache m4/ 134 135tarball : 136 git checkout-index --prefix="$$HOME/sawfish-$(version)/" -a 137 138TAGS : 139 etags --language=c `find $(srcdir) -name '*.[ch]' -print` \ 140 --language=lisp `find $(srcdir) -name '*.jl' -print` 141 142.PHONY: install uninstall tar clean distclean tarball TAGS 143