1bin_PROGRAMS = xboard 2 3### if we are compiling with ZIPPY we need some extra source files 4 5if ZIPPY 6 ZPY = zippy.c zippy.h 7else 8 ZPY = 9endif 10 11### define sources for the front-end and backend 12GTKsources = gtk/xboard.c gtk/xboard.h \ 13 gtk/xoptions.c gtk/xtimer.c \ 14 gtk/xengineoutput.c 15 16Xsources = xaw/xboard.c xaw/xboard.h \ 17 xaw/xengineoutput.c \ 18 xaw/xgamelist.c xaw/xgamelist.h \ 19 xaw/xhistory.c xaw/xhistory.h \ 20 xaw/xoptions.c \ 21 bitmaps/checkmark.bm bitmaps/icon_black.bm bitmaps/icon_white.bm 22 23if withGTK 24 FRONTENDsources = $(GTKsources) 25 FRONTENDextras = $(Xsources) 26 headers = -I gtk 27endif 28if withXaw 29 FRONTENDsources = $(Xsources) 30 FRONTENDextras = $(GTKsources) 31 headers = -I xaw -DX11 32endif 33 34xboard_SOURCES = backend.c backend.h backendz.h \ 35 book.c \ 36 childio.c childio.h \ 37 common.h \ 38 frontend.h \ 39 gamelist.c ngamelist.c \ 40 gettext.h \ 41 lists.c lists.h \ 42 moves.c moves.h \ 43 parser.c parser.h \ 44 pgntags.c \ 45 uci.c \ 46 args.h xboard2.h \ 47 board.c board.h \ 48 draw.c draw.h \ 49 dialogs.c dialogs.h \ 50 engineoutput.c nengineoutput.c engineoutput.h \ 51 evalgraph.c nevalgraph.c evalgraph.h \ 52 history.c nhistory.c \ 53 menus.c menus.h \ 54 usounds.c usystem.c usystem.h \ 55 $(ZPY) $(FRONTENDsources) 56 57### 58 59SUBDIRS = po 60xboard_LDADD = -lm @FRONTEND_LIBS@ @X_LIBS@ @LIBINTL@ @PANGOCAIRO_LIBS@ 61 62EXTRA_DIST = pixmaps themes png sounds winboard \ 63 xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop xboard-config.desktop \ 64 xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop xboard.xml \ 65 COPYRIGHT FAQ.html engine-intf.html ics-parsing.txt readme.htm zippy.README \ 66 xboard.conf SHORTLOG DIFFSTAT history.c ABOUT-NLS $(FRONTENDextras) 67 68DISTCLEANFILES = stamp-h 69 70GITVERSION=$(shell sh -c 'git describe --dirty --always 2>/dev/null') 71AM_CPPFLAGS=-DINFODIR='"$(infodir)"' @X_CFLAGS@ @PANGOCAIRO_CFLAGS@ @FRONTEND_CFLAGS@ -DSYSCONFDIR='"$(sysconfdir)"' \ 72 -DLOCALEDIR='"$(localedir)"' -DSVGDIR='"$(svgdir)"' -D__GIT_VERSION='"$(GITVERSION)"' \ 73 -DCONFIGURE_OPTIONS='"@CONFIGURE_OPTIONS@"' -DDATADIR='"$(datadir)/games/xboard"' $(headers) 74 75ACLOCAL_AMFLAGS = -I m4 76 77info_TEXINFOS = xboard.texi 78xboard_TEXINFOS = copyright.texi 79man6_MANS = xboard.man 80 81 82### config file 83 84sysconf_DATA = xboard.conf 85 86### icon files 87 88icondir = @ICONSDIR@ 89dist_icon_DATA = xboard.png 90svgicondir = @SVGICONSDIR@ 91dist_svgicon_DATA = xboard.svg 92 93 94### desktop files for KDE and gnome 95 96Applicationsdir = @DESKTOPDIR@ 97Applications_DATA = xboard.desktop xboard-fen-viewer.desktop xboard-pgn-viewer.desktop xboard-tourney.desktop xboard-config.desktop 98 99### mime file 100mimedir = @MIMEDIR@ 101mime_DATA = xboard.xml 102 103gamedatadir = @GAMEDATADIR@ 104 105### directory and files for svgs 106 107svgdir = $(gamedatadir)/themes/default 108dist_svg_DATA = svg/icon_white.svg svg/icon_black.svg \ 109 svg/BlackAdvisor.svg svg/WhiteAdvisor.svg \ 110 svg/BlackArchbishop.svg svg/WhiteArchbishop.svg \ 111 svg/BlackBishop.svg svg/WhiteBishop.svg \ 112 svg/BlackCanon.svg svg/WhiteCanon.svg \ 113 svg/BlackChancellor.svg svg/WhiteChancellor.svg \ 114 svg/BlackCobra.svg svg/WhiteCobra.svg \ 115 svg/BlackCommoner.svg svg/WhiteCommoner.svg \ 116 svg/BlackCrownedBishop.svg svg/WhiteCrownedBishop.svg \ 117 svg/BlackCrownedRook.svg svg/WhiteCrownedRook.svg \ 118 svg/BlackElephant.svg svg/WhiteElephant.svg \ 119 svg/BlackGoldKnight.svg svg/WhiteGoldKnight.svg \ 120 svg/BlackGoldLance.svg svg/WhiteGoldLance.svg \ 121 svg/BlackGoldPawn.svg svg/WhiteGoldPawn.svg \ 122 svg/BlackGoldSilver.svg svg/WhiteGoldSilver.svg \ 123 svg/BlackGold.svg svg/WhiteGold.svg \ 124 svg/BlackHawk.svg svg/WhiteHawk.svg \ 125 svg/BlackKing.svg svg/WhiteKing.svg \ 126 svg/BlackKnight.svg svg/WhiteKnight.svg \ 127 svg/BlackLance.svg svg/WhiteLance.svg \ 128 svg/BlackMarshall.svg svg/WhiteMarshall.svg \ 129 svg/BlackNightrider.svg svg/WhiteNightrider.svg \ 130 svg/BlackPawn.svg svg/WhitePawn.svg \ 131 svg/BlackPrincess.svg svg/WhitePrincess.svg \ 132 svg/BlackQueen.svg svg/WhiteQueen.svg \ 133 svg/BlackRook.svg svg/WhiteRook.svg \ 134 svg/BlackUnicorn.svg svg/WhiteUnicorn.svg \ 135 svg/BlackSword.svg svg/WhiteSword.svg \ 136 svg/BlackHSword.svg svg/WhiteHSword.svg \ 137 svg/BlackLeopard.svg svg/WhiteLeopard.svg \ 138 svg/BlackLion.svg svg/WhiteLion.svg \ 139 svg/BlackPromoBishop.svg svg/WhitePromoBishop.svg \ 140 svg/BlackPromoRook.svg svg/WhitePromoRook.svg \ 141 svg/BlackPromoHorse.svg svg/WhitePromoHorse.svg \ 142 svg/BlackPromoDragon.svg svg/WhitePromoDragon.svg \ 143 svg/BlackPromoSword.svg svg/WhitePromoSword.svg \ 144 svg/BlackPromoHSword.svg svg/WhitePromoHSword.svg \ 145 svg/BlackHCrown.svg svg/WhiteHCrown.svg \ 146 svg/BlackDolphin.svg svg/WhiteDolphin.svg \ 147 svg/BlackClaw.svg svg/WhiteClaw.svg \ 148 svg/eo_Analyzing.svg svg/eo_Black.svg \ 149 svg/eo_Clear.svg svg/eo_Ponder.svg \ 150 svg/eo_Thinking.svg svg/eo_Unknown.svg \ 151 svg/eo_White.svg 152 153shogidir = $(gamedatadir)/themes/shogi 154dist_shogi_DATA = \ 155 themes/shogi/WhiteGold.svg themes/shogi/WhiteCrownedBishop.svg\ 156 themes/shogi/WhiteBishop.svg themes/shogi/WhiteKing.svg\ 157 themes/shogi/WhiteKnight.svg themes/shogi/WhiteGoldKnight.svg\ 158 themes/shogi/WhiteLance.svg themes/shogi/WhiteGoldLance.svg\ 159 themes/shogi/WhitePawn.svg themes/shogi/WhiteGoldPawn.svg\ 160 themes/shogi/WhiteRook.svg themes/shogi/WhiteCrownedRook.svg\ 161 themes/shogi/WhiteAdvisor.svg themes/shogi/WhiteGoldSilver.svg\ 162 themes/shogi/BlackGold.svg themes/shogi/BlackCrownedBishop.svg\ 163 themes/shogi/BlackBishop.svg themes/shogi/BlackKing.svg\ 164 themes/shogi/BlackKnight.svg themes/shogi/BlackGoldKnight.svg\ 165 themes/shogi/BlackLance.svg themes/shogi/BlackGoldLance.svg\ 166 themes/shogi/BlackPawn.svg themes/shogi/BlackGoldPawn.svg\ 167 themes/shogi/BlackRook.svg themes/shogi/BlackCrownedRook.svg\ 168 themes/shogi/BlackAdvisor.svg themes/shogi/BlackGoldSilver.svg 169 170xiangqidir = $(gamedatadir)/themes/xiangqi 171dist_xiangqi_DATA = themes/xiangqi/BlackAdvisor.svg themes/xiangqi/WhiteAdvisor.svg \ 172 themes/xiangqi/BlackCanon.svg themes/xiangqi/WhiteCanon.svg \ 173 themes/xiangqi/BlackElephant.svg themes/xiangqi/WhiteElephant.svg \ 174 themes/xiangqi/BlackKnight.svg themes/xiangqi/WhiteKnight.svg \ 175 themes/xiangqi/BlackGold.svg themes/xiangqi/WhiteGold.svg \ 176 themes/xiangqi/BlackPawn.svg themes/xiangqi/WhitePawn.svg \ 177 themes/xiangqi/BlackRook.svg themes/xiangqi/WhiteRook.svg 178 179### directory and files for themes (and other) configuration files 180 181themesdir = $(datadir)/games/xboard/themes/conf 182dist_themes_DATA = conf/shogi conf/xq conf/chu conf/ics conf/mini conf/mini.fen conf/sho conf/sho.fen \ 183 conf/judkins conf/judkins.fen conf/xiangqi 184 185### directory and files for pixmaps 186 187pixmapsdir = $(gamedatadir)/pixmaps/textures 188dist_pixmaps_DATA = pixmaps/cross32.png pixmaps/cross48.png pixmaps/board32.png pixmaps/board48.png pixmaps/ini32.png pixmaps/ini48.png 189 190### directory and files for pngs 191 192pngdir = $(gamedatadir)/themes/textures 193dist_png_DATA = png/hatch.png png/wood_d.png png/wood_l.png png/xqboard.png 194 195### directory and files for sound files 196 197soundsdir = $(gamedatadir)/sounds 198dist_sounds_DATA = \ 199 sounds/cymbal.wav sounds/pop2.wav sounds/slap.wav sounds/ding1.wav sounds/laser.wav \ 200 sounds/woodthunk.wav sounds/gong.wav sounds/penalty.wav sounds/honkhonk.wav sounds/phone.wav sounds/roar.wav \ 201 sounds/README sounds/alarm.wav sounds/challenge.wav sounds/channel.wav sounds/channel1.wav \ 202 sounds/ching.wav sounds/click.wav sounds/draw.wav sounds/drip.wav sounds/kibitz.wav \ 203 sounds/lose.wav sounds/move.wav sounds/pop.wav sounds/request.wav sounds/seek.wav \ 204 sounds/shout.wav sounds/squeak.wav sounds/sshout.wav sounds/swish.wav sounds/tell.wav \ 205 sounds/thud.wav sounds/unfinished.wav sounds/whipcrak.wav sounds/win.wav 206 207### the man page depends on several files, so we add a special rule 208 209xboard.man: xboard.texi copyright.texi gpl.texinfo version.texi 210 $(srcdir)/texi2man $(srcdir)/xboard.texi > xboard.man || (rm -f xboard.man ; false) 211 212### install mime-type files and corresponding icons and menu entries if enabled during configure 213 214install-data-hook: install-mime-database 215uninstall-hook: uninstall-mime-database 216 217install-mime-database: 218if ENABLE_UPDATE_MIMEDB 219 -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \ 220 $(XDG_MIME) install --mode system --novendor xboard.xml ;\ 221 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-pgn-viewer.desktop;\ 222 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-fen-viewer.desktop;\ 223 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-tourney.desktop;\ 224 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-config.desktop;\ 225 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/board32.png application-x-chess-pgn;\ 226 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/cross32.png application-x-xboard-trn;\ 227 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/ini32.png application-x-xboard-opt;\ 228 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/board48.png application-x-chess-pgn;\ 229 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/cross48.png application-x-xboard-trn;\ 230 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/ini48.png application-x-xboard-opt;\ 231 fi 232endif 233 234uninstall-mime-database: 235if ENABLE_UPDATE_MIMEDB 236 -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \ 237 $(XDG_MIME) uninstall --mode system --novendor xboard.xml;\ 238 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-pgn-viewer.desktop;\ 239 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-fen-viewer.desktop;\ 240 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-tourney.desktop;\ 241 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-config.desktop;\ 242 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 board32.png application-x-chess-pgn;\ 243 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 cross32.png application-x-xboard-trn;\ 244 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 ini32.png application-x-xboard-opt;\ 245 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 board48.png application-x-chess-pgn;\ 246 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 cross48.png application-x-xboard-trn;\ 247 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 ini48.png application-x-xboard-opt;\ 248 fi 249endif 250 251if OSX_APP 252osxapp: all-recursive install install-recursive 253macportsprefix = $(shell which port | sed s/[/]bin[/]port//) 254 $(MKDIR_P) $(datarootdir)/bin 255 $(MKDIR_P) $(datarootdir)/lib 256 $(MKDIR_P) $(sysconfdir)/gtk-2.0 257 $(MKDIR_P) $(sysconfdir)/pango 258 $(MKDIR_P) $(datadir)/themes 259 $(MKDIR_P) $(datadir)/gtk-engines 260 $(MKDIR_P) $(gamedatadir)/themes 261 $(INSTALL) ./osxapp/Info.plist $(prefix) 262 $(INSTALL) ./osxapp/PkgInfo $(prefix) 263 $(INSTALL) ./osxapp/XBoard.gtklauncher $(bindir)/XBoard 264 $(INSTALL) ./xboard $(bindir)/xboard-bin 265 cp -R ./osxapp/icons/. $(datarootdir) 266 sed -e 's?-soundProgram "aplay -q"?-soundProgram "afplay"?'\ 267 -e 's?-firstChessProgram fairymax?-firstChessProgram "./fairymax"?'\ 268 -e 's?-firstChessProgramNames {fairymax?-firstChessProgramNames {"fairymax" -fcp "./fairymax" -fd "~~/../../bin/fairymax"?'\ 269 -e 's?"Fruit 2.1" -fcp fruit -fUCI?"fruit" -fcp "./fruit" -fd "~~/../../bin/fruit" -fUCI?'\ 270 -e '/"Crafty" -fcp crafty/d'\ 271 -e '/"GNU Chess" -fcp gnuchess/d'\ 272 -e 's?"icc" -icshost chessclub.com -icshelper timestamp?"icc" -icshost 207.99.83.228 -icshelper timestamp?'\ 273 -e 's?"kc" -icshost alanimus.com -icshelper timeseal?"vics" -icshost winboard.nl -icshelper timeseal?'\ 274 -e '/; Save user settings./d'\ 275 -e '/; Must be last in file to make user options prevail over system-wide settings!/d'\ 276 -e '/-saveSettingsOnExit true/d'\ 277 -e '/-saveSettingsFile "~\/.xboardrc"/d'\ 278 -e '/-settingsFile "~\/.xboardrc"/d'<./xboard.conf >$(sysconfdir)/xboard.conf 279 echo '; OSX' >>$(sysconfdir)/xboard.conf 280 echo ';'>>$(sysconfdir)/xboard.conf 281 echo '-clockFont "Sans Bold 26" '>>$(sysconfdir)/xboard.conf 282 echo '-pieceImageDirectory "~~/themes/default"' >>$(sysconfdir)/xboard.conf 283 echo '-autoLogo true' >>$(sysconfdir)/xboard.conf 284 echo '-logoDir "~~/logos"' >>$(sysconfdir)/xboard.conf 285 echo '-logoSize 100' >>$(sysconfdir)/xboard.conf 286 echo '-openCommand "open"' >>$(sysconfdir)/xboard.conf 287 echo '-firstDirectory "~~/../../bin/fairymax"' >>$(sysconfdir)/xboard.conf 288 echo '-secondDirectory "~~/../../bin/fairymax"' >>$(sysconfdir)/xboard.conf 289 echo '-secondChessProgram "./fairymax"' >>$(sysconfdir)/xboard.conf 290 echo '-uxiAdapter "uci2wb -%variant %fcp %fd"' >>$(sysconfdir)/xboard.conf 291 echo ';' >>$(sysconfdir)/xboard.conf 292 echo '; Save user settings.' >>$(sysconfdir)/xboard.conf 293 echo '; Must be last in file to make user options prevail over system-wide settings!' >>$(sysconfdir)/xboard.conf 294 echo ';' >>$(sysconfdir)/xboard.conf 295 echo '-saveSettingsOnExit true' >>$(sysconfdir)/xboard.conf 296 echo '-saveSettingsFile "~/Library/Preferences/XBoard.conf"' >>$(sysconfdir)/xboard.conf 297 echo '-settingsFile "~/Library/Preferences/XBoard.conf"' >>$(sysconfdir)/xboard.conf 298 299 sed 's?$(macportsprefix)/lib?/tmp/skl/XBoard.app/Contents/Resources/lib?' <$(macportsprefix)/etc/gtk-2.0/gdk-pixbuf.loaders >$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders 300 sed -e 's?$(macportsprefix)/lib?/tmp/skl/XBoard.app/Contents/Resources/lib?' -e 's?$(macportsprefix)/share/locale?/tmp/skl/XBoard.app/Contents/Resources/share/locale?' <$(macportsprefix)/etc/gtk-2.0/gtk.immodules >$(sysconfdir)/gtk-2.0/gtk.immodules 301 $(INSTALL) ./osxapp/launcher_rc $(datarootdir)/ 302 $(INSTALL) $(macportsprefix)/etc/gtk-2.0/im-multipress.conf $(sysconfdir)/gtk-2.0 303 $(INSTALL) ./osxapp/gtkrc $(sysconfdir)/gtk-2.0/gtkrc 304 sed -e '/ModuleFiles = .*\/etc\/pango\/pango.modules/d' <$(macportsprefix)/etc/pango/pangorc >$(sysconfdir)/pango/pangorc 305 sed -e 's?$(macportsprefix)/lib/pango/1.8.0/modules/??' <$(macportsprefix)/etc/pango/pango.modules >$(sysconfdir)/pango/pango.modules 306 cp -R $(macportsprefix)/lib/gtk-2.0 $(datarootdir)/lib 307 cp -R $(macportsprefix)/lib/gdk-pixbuf-2.0 $(datarootdir)/lib 308 cp -R $(macportsprefix)/lib/pango $(datarootdir)/lib 309 cp -R $(macportsprefix)/share/themes/Mac $(datadir)/themes 310 cp -R ./osxapp/gtk2-themes/Mac/gtk-2.0 $(datadir)/themes/Mac 311 cp -R ./osxapp/themes/default/. $(gamedatadir)/themes/default 312 cp $(macportsprefix)/share/gtk-engines/murrine.xml $(datadir)/gtk-engines/murrine.xml 313 $(INSTALL) ./png/marble_d.png $(gamedatadir)/themes/textures 314 $(INSTALL) ./png/marble_l.png $(gamedatadir)/themes/textures 315 $(INSTALL) ./png/xqwood.png $(gamedatadir)/themes/textures 316 cp -R ./osxapp/logos $(gamedatadir)/ 317 cp -R $(macportsprefix)/share/strings/. $(datarootdir)/ 318 for i in po/*gmo; do lang=`basename $$i .gmo`; $(INSTALL) $(macportsprefix)/share/locale/$$lang/LC_MESSAGES/gtk20.mo $(localedir)/$$lang/LC_MESSAGES/; done 319 dylibbundler -of -b -x $(bindir)/xboard-bin -d $(datarootdir)/lib -p @executable_path/../Resources/lib 320 dylibbundler -of -b -x $(datarootdir)/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 321 dylibbundler -of -b -x $(datarootdir)/lib/gtk-2.0/2.10.0/immodules/im-quartz.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 322 dylibbundler -of -b -x $(datarootdir)/lib/gtk-2.0/2.10.0/engines/libpixmap.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 323 dylibbundler -of -b -x $(datarootdir)/lib/gtk-2.0/2.10.0/engines/libmurrine.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 324 dylibbundler -of -b -x $(datarootdir)/lib/pango/1.8.0/modules/pango-arabic-lang.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 325 dylibbundler -of -b -x $(datarootdir)/lib/pango/1.8.0/modules/pango-basic-coretext.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 326 dylibbundler -of -b -x $(datarootdir)/lib/pango/1.8.0/modules/pango-basic-fc.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 327 dylibbundler -of -b -x $(datarootdir)/lib/pango/1.8.0/modules/pango-indic-lang.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 328 find ./XBoard.app -name '*.a' -print0 | xargs -0 rm 329 find ./XBoard.app -name '*.la' -print0 | xargs -0 rm 330 rm -r $(datarootdir)/lib/gtk-2.0/include 331 rm -r $(datarootdir)/share/applications 332 rm $(datarootdir)/share/info/dir 333 rm -r $(datarootdir)/share/icons 334 rm -r $(datarootdir)/share/mime 335 mv $(datarootdir)/share/games/xboard/themes/conf $(datarootdir)/share/xboard/conf 336 rm -r $(datarootdir)/share/xboard/pixmaps 337 rm -r $(datarootdir)/share/games 338endif 339 340