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 = -ldl -lm @FRONTEND_LIBS@ @X_LIBS@ @LIBINTL@ @CAIRO_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@ @CAIRO_CFLAGS@ @FRONTEND_CFLAGS@ -DSYSCONFDIR='"$(sysconfdir)"' \ 72 -DLOCALEDIR='"$(localedir)"' -DSVGDIR='"$(svgdir)"' -D__GIT_VERSION='"$(GITVERSION)"' \ 73 -DCONFIGURE_OPTIONS='"@CONFIGURE_OPTIONS@"' -DDATADIR='"$(datadir)/games/xboard"' -DMANDIR='"$(mandir)"' $(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/BlackWolf.svg svg/WhiteWolf.svg \ 149 svg/BlackCamel.svg svg/WhiteCamel.svg \ 150 svg/BlackZebra.svg svg/WhiteZebra.svg \ 151 svg/BlackGnu.svg svg/WhiteGnu.svg \ 152 svg/BlackWizard.svg svg/WhiteWizard.svg \ 153 svg/BlackViking.svg svg/WhiteViking.svg \ 154 svg/BlackIron.svg svg/WhiteIron.svg \ 155 svg/BlackCopper.svg svg/WhiteCopper.svg \ 156 svg/BlackTower.svg svg/WhiteTower.svg \ 157 svg/BlackDragon.svg svg/WhiteDragon.svg \ 158 svg/BlackCub.svg svg/WhiteCub.svg \ 159 svg/BlackButterfly.svg svg/WhiteButterfly.svg \ 160 svg/BlackLeft.svg svg/WhiteLeft.svg \ 161 svg/BlackRight.svg svg/WhiteRight.svg \ 162 svg/BlackHat.svg svg/WhiteHat.svg \ 163 svg/BlackRShield.svg svg/WhiteRShield.svg \ 164 svg/BlackLShield.svg svg/WhiteLShield.svg \ 165 svg/BlackAxe.svg svg/WhiteAxe.svg \ 166 svg/BlackFlag.svg svg/WhiteFlag.svg \ 167 svg/BlackDuck.svg svg/WhiteDuck.svg \ 168 svg/BlackPegasus.svg svg/WhitePegasus.svg \ 169 svg/eo_Analyzing.svg svg/eo_Black.svg \ 170 svg/eo_Clear.svg svg/eo_Ponder.svg \ 171 svg/eo_Thinking.svg svg/eo_Unknown.svg \ 172 svg/eo_White.svg 173 174shogidir = $(gamedatadir)/themes/shogi 175dist_shogi_DATA = \ 176 themes/shogi/WhiteGold.svg themes/shogi/WhiteCrownedBishop.svg\ 177 themes/shogi/WhiteBishop.svg themes/shogi/WhiteKing.svg\ 178 themes/shogi/WhiteKnight.svg themes/shogi/WhiteGoldKnight.svg\ 179 themes/shogi/WhiteLance.svg themes/shogi/WhiteGoldLance.svg\ 180 themes/shogi/WhitePawn.svg themes/shogi/WhiteGoldPawn.svg\ 181 themes/shogi/WhiteRook.svg themes/shogi/WhiteCrownedRook.svg\ 182 themes/shogi/WhiteAdvisor.svg themes/shogi/WhiteGoldSilver.svg\ 183 themes/shogi/BlackGold.svg themes/shogi/BlackCrownedBishop.svg\ 184 themes/shogi/BlackBishop.svg themes/shogi/BlackKing.svg\ 185 themes/shogi/BlackKnight.svg themes/shogi/BlackGoldKnight.svg\ 186 themes/shogi/BlackLance.svg themes/shogi/BlackGoldLance.svg\ 187 themes/shogi/BlackPawn.svg themes/shogi/BlackGoldPawn.svg\ 188 themes/shogi/BlackRook.svg themes/shogi/BlackCrownedRook.svg\ 189 themes/shogi/BlackAdvisor.svg themes/shogi/BlackGoldSilver.svg 190 191xiangqidir = $(gamedatadir)/themes/xiangqi 192dist_xiangqi_DATA = themes/xiangqi/BlackAdvisor.svg themes/xiangqi/WhiteAdvisor.svg \ 193 themes/xiangqi/BlackCanon.svg themes/xiangqi/WhiteCanon.svg \ 194 themes/xiangqi/BlackElephant.svg themes/xiangqi/WhiteElephant.svg \ 195 themes/xiangqi/BlackKnight.svg themes/xiangqi/WhiteKnight.svg \ 196 themes/xiangqi/BlackGold.svg themes/xiangqi/WhiteGold.svg \ 197 themes/xiangqi/BlackPawn.svg themes/xiangqi/WhitePawn.svg \ 198 themes/xiangqi/BlackRook.svg themes/xiangqi/WhiteRook.svg 199 200### directory and files for themes (and other) configuration files 201 202themesdir = $(datadir)/games/xboard/themes/conf 203dist_themes_DATA = conf/shogi conf/xq conf/ics conf/mini conf/mini.fen conf/sho conf/sho.fen 204 205### directory and files for pixmaps 206 207pixmapsdir = $(gamedatadir)/pixmaps/textures 208dist_pixmaps_DATA = pixmaps/cross32.png pixmaps/cross48.png pixmaps/board32.png pixmaps/board48.png pixmaps/ini32.png pixmaps/ini48.png 209 210### directory and files for pngs 211 212pngdir = $(gamedatadir)/themes/textures 213dist_png_DATA = png/hatch.png png/wood_d.png png/wood_l.png png/xqboard-9x10.png 214 215### directory and files for sound files 216 217soundsdir = $(gamedatadir)/sounds 218dist_sounds_DATA = \ 219 sounds/cymbal.wav sounds/pop2.wav sounds/slap.wav sounds/ding1.wav sounds/laser.wav \ 220 sounds/woodthunk.wav sounds/gong.wav sounds/penalty.wav sounds/honkhonk.wav sounds/phone.wav sounds/roar.wav 221 222### the man page depends on several files, so we add a special rule 223 224xboard.man: xboard.texi copyright.texi gpl.texinfo version.texi 225 $(srcdir)/texi2man $(srcdir)/xboard.texi > xboard.man || (rm -f xboard.man ; false) 226 227### install mime-type files and corresponding icons and menu entries if enabled during configure 228 229install-data-hook: install-mime-database 230uninstall-hook: uninstall-mime-database 231 232install-mime-database: 233if ENABLE_UPDATE_MIMEDB 234 -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \ 235 $(XDG_MIME) install --mode system --novendor xboard.xml ;\ 236 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-pgn-viewer.desktop;\ 237 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-fen-viewer.desktop;\ 238 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-tourney.desktop;\ 239 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-config.desktop;\ 240 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/board32.png application-x-chess-pgn;\ 241 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/cross32.png application-x-xboard-trn;\ 242 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/ini32.png application-x-xboard-opt;\ 243 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/board48.png application-x-chess-pgn;\ 244 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/cross48.png application-x-xboard-trn;\ 245 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/ini48.png application-x-xboard-opt;\ 246 fi 247endif 248 249uninstall-mime-database: 250if ENABLE_UPDATE_MIMEDB 251 -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \ 252 $(XDG_MIME) uninstall --mode system --novendor xboard.xml;\ 253 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-pgn-viewer.desktop;\ 254 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-fen-viewer.desktop;\ 255 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-tourney.desktop;\ 256 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-config.desktop;\ 257 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 board32.png application-x-chess-pgn;\ 258 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 cross32.png application-x-xboard-trn;\ 259 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 ini32.png application-x-xboard-opt;\ 260 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 board48.png application-x-chess-pgn;\ 261 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 cross48.png application-x-xboard-trn;\ 262 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 ini48.png application-x-xboard-opt;\ 263 fi 264endif 265 266if OSX_APP 267osxapp: all-recursive install install-recursive 268macportsprefix = $(shell which port | sed s/[/]bin[/]port//) 269 $(MKDIR_P) $(datarootdir)/bin 270 $(MKDIR_P) $(datarootdir)/lib 271 $(MKDIR_P) $(sysconfdir)/gtk-2.0 272 $(MKDIR_P) $(datadir)/themes 273 $(MKDIR_P) $(datadir)/gtk-engines 274 $(MKDIR_P) $(gamedatadir)/themes 275 $(INSTALL) ./osxapp/Info.plist $(prefix) 276 $(INSTALL) ./osxapp/PkgInfo $(prefix) 277 $(INSTALL) ./osxapp/XBoard.gtklauncher $(bindir)/XBoard 278 $(INSTALL) ./xboard $(bindir)/xboard-bin 279 cp -R ./osxapp/icons/. $(datarootdir) 280 sed -e 's?-soundProgram "aplay -q"?-soundProgram "afplay"?'\ 281 -e 's?-firstChessProgram fairymax?-firstChessProgram "./fairymax"?'\ 282 -e 's?-firstChessProgramNames {fairymax?-firstChessProgramNames {"fairymax" -fcp "./fairymax" -fd "~~/../../bin/fairymax"?'\ 283 -e 's?"Fruit 2.1" -fcp fruit -fUCI?"fruit" -fcp "./fruit" -fd "~~/../../bin/fruit" -fUCI?'\ 284 -e '/"Crafty" -fcp crafty/d'\ 285 -e '/"GNU Chess" -fcp gnuchess/d'\ 286 -e 's?"icc" -icshost chessclub.com -icshelper timestamp?"icc" -icshost 207.99.83.228 -icshelper timestamp?'\ 287 -e 's?"kc" -icshost alanimus.com -icshelper timeseal?"vics" -icshost winboard.nl -icshelper timeseal?'\ 288 -e '/; Save user settings./d'\ 289 -e '/; Must be last in file to make user options prevail over system-wide settings!/d'\ 290 -e '/-saveSettingsOnExit true/d'\ 291 -e '/-saveSettingsFile "~\/.xboardrc"/d'\ 292 -e '/-settingsFile "~\/.xboardrc"/d'<./xboard.conf >$(sysconfdir)/xboard.conf 293 echo '; OSX' >>$(sysconfdir)/xboard.conf 294 echo ';'>>$(sysconfdir)/xboard.conf 295 echo '-clockFont "Sans Bold 26" '>>$(sysconfdir)/xboard.conf 296 echo '-pieceImageDirectory "~~/themes/default"' >>$(sysconfdir)/xboard.conf 297 echo '-autoLogo true' >>$(sysconfdir)/xboard.conf 298 echo '-logoDir "~~/logos"' >>$(sysconfdir)/xboard.conf 299 echo '-logoSize 100' >>$(sysconfdir)/xboard.conf 300 echo '-openCommand "open"' >>$(sysconfdir)/xboard.conf 301 echo '-firstDirectory "~~/../../bin/fairymax"' >>$(sysconfdir)/xboard.conf 302 echo '-secondDirectory "~~/../../bin/fairymax"' >>$(sysconfdir)/xboard.conf 303 echo '-secondChessProgram "./fairymax"' >>$(sysconfdir)/xboard.conf 304 echo '-uxiAdapter "uci2wb -%variant %fcp %fd"' >>$(sysconfdir)/xboard.conf 305 echo ';' >>$(sysconfdir)/xboard.conf 306 echo '; Save user settings.' >>$(sysconfdir)/xboard.conf 307 echo '; Must be last in file to make user options prevail over system-wide settings!' >>$(sysconfdir)/xboard.conf 308 echo ';' >>$(sysconfdir)/xboard.conf 309 echo '-saveSettingsOnExit true' >>$(sysconfdir)/xboard.conf 310 echo '-saveSettingsFile "~/Library/Preferences/XBoard.conf"' >>$(sysconfdir)/xboard.conf 311 echo '-settingsFile "~/Library/Preferences/XBoard.conf"' >>$(sysconfdir)/xboard.conf 312 313 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 314 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 315 $(INSTALL) ./osxapp/launcher_rc $(datarootdir)/ 316 $(INSTALL) $(macportsprefix)/etc/gtk-2.0/im-multipress.conf $(sysconfdir)/gtk-2.0 317 $(INSTALL) ./osxapp/gtkrc $(sysconfdir)/gtk-2.0/gtkrc 318 cp -R $(macportsprefix)/lib/gtk-2.0 $(datarootdir)/lib 319 cp -R $(macportsprefix)/lib/gdk-pixbuf-2.0 $(datarootdir)/lib 320 cp -R $(macportsprefix)/share/themes/Mac $(datadir)/themes 321 cp -R ./osxapp/gtk2-themes/Mac/gtk-2.0 $(datadir)/themes/Mac 322 cp -R ./osxapp/themes/default/. $(gamedatadir)/themes/default 323 cp $(macportsprefix)/share/gtk-engines/murrine.xml $(datadir)/gtk-engines/murrine.xml 324 $(INSTALL) ./png/marble_d.png $(gamedatadir)/themes/textures 325 $(INSTALL) ./png/marble_l.png $(gamedatadir)/themes/textures 326 $(INSTALL) ./png/xqwood-9x10.png $(gamedatadir)/themes/textures 327 cp -R ./osxapp/logos $(gamedatadir)/ 328if NLS_ENABLED 329 cp -R $(macportsprefix)/share/strings/. $(datarootdir)/ 330 for i in po/*gmo; do lang=`basename $$i .gmo`; $(INSTALL) $(macportsprefix)/share/locale/$$lang/LC_MESSAGES/gtk20.mo $(localedir)/$$lang/LC_MESSAGES/; done 331endif 332 dylibbundler -of -b -x $(bindir)/xboard-bin -d $(datarootdir)/lib -p @executable_path/../Resources/lib 333 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 334 dylibbundler -of -b -x $(datarootdir)/lib/gtk-2.0/2.10.0/immodules/im-quartz.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 335 dylibbundler -of -b -x $(datarootdir)/lib/gtk-2.0/2.10.0/engines/libpixmap.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 336 dylibbundler -of -b -x $(datarootdir)/lib/gtk-2.0/2.10.0/engines/libmurrine.so -d $(datarootdir)/lib -p @executable_path/../Resources/lib 337 find ./XBoard.app -name '*.a' -print0 | xargs -0 rm 338 rm -r $(datarootdir)/lib/gtk-2.0/include 339 rm -r $(datarootdir)/share/applications 340 rm $(datarootdir)/share/info/dir 341 rm -r $(datarootdir)/share/icons 342 rm -r $(datarootdir)/share/mime 343 mv $(datarootdir)/share/games/xboard/themes/conf $(datarootdir)/share/xboard/conf 344 rm -r $(datarootdir)/share/xboard/pixmaps 345 rm -r $(datarootdir)/share/games 346endif 347 348