modified configure and makefile for handling mimedb update
[xboard.git] / Makefile.am
index 54a74ef..50cf922 100644 (file)
@@ -25,7 +25,7 @@ xboard_SOURCES = backend.c backend.h backendz.h \
                 xengineoutput.c \
                 evalgraph.c evalgraph.h xevalgraph.c xevalgraph.h\
                 xgamelist.c xgamelist.h\
-                xhistory.c  xhistory.h \
+                history.c xhistory.c xhistory.h \
                 xoptions.c \
                 filebrowser/selfile.c filebrowser/selfile.h \
                 filebrowser/draw.c filebrowser/path.c \
@@ -35,6 +35,7 @@ SUBDIRS = po
 xboard_LDADD = -lm @XAW_LIBS@ @X_LIBS@ @LIBINTL@
 EXTRA_DIST = pixmaps bitmaps sounds winboard filebrowser/README \
        xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop \
+       xboard-fen-viewer.desktop  xboard-pgn-viewer.desktop  xboard-tourney.desktop xboard.xml \
        COPYRIGHT FAQ.html engine-intf.html ics-parsing.txt readme.htm zippy.README \
        xboard.conf.in SHORTLOG DIFFSTAT history.c ABOUT-NLS
 
@@ -67,8 +68,11 @@ dist_svgicon_DATA = xboard.svg
 ### desktop files for KDE and gnome
 
 Applicationsdir = $(datadir)/applications
-Applications_DATA = xboard.desktop
+Applications_DATA = xboard.desktop xboard-fen-viewer.desktop  xboard-pgn-viewer.desktop  xboard-tourney.desktop
 
+### mime file
+mimedir = $(datadir)/mime/packages
+mime_DATA = xboard.xml
 
 ### directory and files for bitmaps
 
@@ -144,7 +148,6 @@ dist_bitmaps_DATA = \
 pixmapsdir = $(datadir)/games/xboard/pixmaps/textures
 dist_pixmaps_DATA = pixmaps/wood_d.xpm pixmaps/wood_l.xpm
 
-
 ### directory and files for sound files
 
 soundsdir = $(datadir)/games/xboard/sounds
@@ -171,3 +174,36 @@ distclean-local:
 
 xboard.man: xboard.texi copyright.texi gpl.texinfo version.texi
        $(srcdir)/texi2man $(srcdir)/xboard.texi > xboard.man || (rm -f xboard.man ; false)
+
+### install mime-type files and corresponding icons and menu entries if enabled during configure
+
+install-data-hook: install-mime-database
+uninstall-hook: uninstall-mime-database
+
+install-mime-database:
+if ENABLE_UPDATE_MIMEDB        
+       -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \
+               $(XDG_MIME) install --mode system --novendor xboard.xml ;\
+               $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-pgn-viewer.desktop;\
+               $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-fen-viewer.desktop;\
+               $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-tourney.desktop;\
+               $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/board32.xpm application-x-chess-pgn;\
+               $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/cross32.xpm application-x-xboard-trn;\
+               $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/board48.xpm application-x-chess-pgn;\
+               $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/cross48.xpm application-x-xboard-trn;\
+       fi
+endif
+
+uninstall-mime-database:
+if ENABLE_UPDATE_MIMEDB        
+       -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \
+               $(XDG-MIME) uninstall --mode system --novendor xboard.xml;\
+               $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-pgn-viewer.desktop;\
+               $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-fen-viewer.desktop;\
+               $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-tourney.desktop;\
+               $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 board32.xpm application-x-chess-pgn;\
+               $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 cross32.xpm application-x-xboard-trn;\
+               $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 board48.xpm application-x-chess-pgn;\
+               $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 cross48.xpm application-x-xboard-trn;\
+       fi
+endif