Refactor menu code, and move it to menu.c
[xboard.git] / Makefile.am
1 ### if we are compiling with ZIPPY we need some extra source files
2
3 if ZIPPY
4   ZPY = zippy.c zippy.h
5 else
6   ZPY =
7 endif
8
9 bin_PROGRAMS = xboard
10 xboard_SOURCES = backend.c backend.h backendz.h \
11                  book.c \
12                  childio.c childio.h \
13                  common.h \
14                  frontend.h \
15                  gamelist.c \
16                  gettext.h  \
17                  lists.c lists.h \
18                  moves.c moves.h \
19                  parser.c parser.h \
20                  pgntags.c \
21                  uci.c \
22                  xboard.c xboard.h args.h menus.c menus.h \
23                  xedittags.c xedittags.h \
24                  engineoutput.c engineoutput.h \
25                  xengineoutput.c \
26                  evalgraph.c evalgraph.h xevalgraph.c xevalgraph.h\
27                  xgamelist.c xgamelist.h\
28                  history.c xhistory.c xhistory.h \
29                  xoptions.c \
30                  filebrowser/selfile.c filebrowser/selfile.h \
31                  filebrowser/draw.c filebrowser/path.c \
32                  filebrowser/dir.c filebrowser/xstat.h \
33                  $(ZPY)
34 SUBDIRS = po
35 xboard_LDADD = -lm @XAW_LIBS@ @X_LIBS@ @LIBINTL@
36 EXTRA_DIST = pixmaps bitmaps sounds winboard filebrowser/README \
37         xboard.texi gpl.texinfo texi2man texinfo.tex xboard.man xboard.desktop \
38         xboard-fen-viewer.desktop  xboard-pgn-viewer.desktop  xboard-tourney.desktop xboard.xml \
39         COPYRIGHT FAQ.html engine-intf.html ics-parsing.txt readme.htm zippy.README \
40         xboard.conf.in SHORTLOG DIFFSTAT history.c ABOUT-NLS
41
42 DISTCLEANFILES = stamp-h
43
44 AM_CPPFLAGS=-DINFODIR='"$(infodir)"' @X_CFLAGS@  -DSYSCONFDIR='"$(sysconfdir)"' \
45             -DBITMAPDIR='"$(datadir)/games/xboard/bitmaps/default"' \
46             -DLOCALEDIR='"$(localedir)"'
47
48 ACLOCAL_AMFLAGS = -I m4
49
50 info_TEXINFOS =  xboard.texi
51 xboard_TEXINFOS =  copyright.texi 
52 man6_MANS = xboard.man
53
54
55 ### config file
56
57 sysconf_DATA = xboard.conf
58
59
60 ### icon files
61
62 icondir = $(datadir)/icons/hicolor/48x48/apps
63 dist_icon_DATA = xboard.png
64 svgicondir = $(datadir)/icons/hicolor/scalable/apps
65 dist_svgicon_DATA = xboard.svg
66
67
68 ### desktop files for KDE and gnome
69
70 Applicationsdir = $(datadir)/applications
71 Applications_DATA = xboard.desktop xboard-fen-viewer.desktop  xboard-pgn-viewer.desktop  xboard-tourney.desktop
72
73 ### mime file
74 mimedir = $(datadir)/mime/packages
75 mime_DATA = xboard.xml
76
77 ### directory and files for bitmaps
78
79 bitmapsdir = $(datadir)/games/xboard/bitmaps/default
80 dist_bitmaps_DATA = \
81   bitmaps/a33o.bm    bitmaps/c45s.bm        bitmaps/icon_outline.bm  bitmaps/m49o.bm   bitmaps/p45o.bm   bitmaps/r29o.bm \
82   bitmaps/a33s.bm    bitmaps/c49o.bm        bitmaps/icon_white.bm    bitmaps/m49s.bm   bitmaps/p45s.bm   bitmaps/r29s.bm \
83   bitmaps/a37o.bm    bitmaps/c49s.bm        bitmaps/j33o.bm          bitmaps/m72o.bm   bitmaps/p49o.bm   bitmaps/r33o.bm \
84   bitmaps/a37s.bm    bitmaps/c54o.bm        bitmaps/j33s.bm          bitmaps/m72s.bm   bitmaps/p49s.bm   bitmaps/r33s.bm \
85   bitmaps/a40o.bm    bitmaps/c54s.bm        bitmaps/j49o.bm          bitmaps/n108o.bm  bitmaps/p54o.bm   bitmaps/r37o.bm \
86   bitmaps/a40s.bm    bitmaps/c58o.bm        bitmaps/j49s.bm          bitmaps/n108s.bm  bitmaps/p54s.bm   bitmaps/r37s.bm \
87   bitmaps/a45o.bm    bitmaps/c58s.bm        bitmaps/j72o.bm          bitmaps/n116o.bm  bitmaps/p58o.bm   bitmaps/r40o.bm \
88   bitmaps/a45s.bm    bitmaps/c64o.bm        bitmaps/j72s.bm          bitmaps/n116s.bm  bitmaps/p58s.bm   bitmaps/r40s.bm \
89   bitmaps/a49o.bm    bitmaps/c64s.bm        bitmaps/k108o.bm         bitmaps/n129o.bm  bitmaps/p64o.bm   bitmaps/r45o.bm \
90   bitmaps/a49s.bm    bitmaps/c72o.bm        bitmaps/k108s.bm         bitmaps/n129s.bm  bitmaps/p64s.bm   bitmaps/r45s.bm \
91   bitmaps/a54o.bm    bitmaps/c72s.bm        bitmaps/k116o.bm         bitmaps/n21o.bm   bitmaps/p72o.bm   bitmaps/r49o.bm \
92   bitmaps/a54s.bm    bitmaps/checkmark.bm   bitmaps/k116s.bm         bitmaps/n21s.bm   bitmaps/p72s.bm   bitmaps/r49s.bm \
93   bitmaps/a58o.bm    bitmaps/d33o.bm        bitmaps/k129o.bm         bitmaps/n25o.bm   bitmaps/p80o.bm   bitmaps/r54o.bm \
94   bitmaps/a58s.bm    bitmaps/d33s.bm        bitmaps/k129s.bm         bitmaps/n25s.bm   bitmaps/p80s.bm   bitmaps/r54s.bm \
95   bitmaps/a64o.bm    bitmaps/d37o.bm        bitmaps/k21o.bm          bitmaps/n29o.bm   bitmaps/p87o.bm   bitmaps/r58o.bm \
96   bitmaps/a64s.bm    bitmaps/d37s.bm        bitmaps/k21s.bm          bitmaps/n29s.bm   bitmaps/p87s.bm   bitmaps/r58s.bm \
97   bitmaps/a72o.bm    bitmaps/d40o.bm        bitmaps/k25o.bm          bitmaps/n33o.bm   bitmaps/p95o.bm   bitmaps/r64o.bm \
98   bitmaps/a72s.bm    bitmaps/d40s.bm        bitmaps/k25s.bm          bitmaps/n33s.bm   bitmaps/p95s.bm   bitmaps/r64s.bm \
99   bitmaps/as45o.bm   bitmaps/d45o.bm        bitmaps/k29o.bm          bitmaps/n37o.bm   bitmaps/q108o.bm  bitmaps/r72o.bm \
100   bitmaps/as45s.bm   bitmaps/d45s.bm        bitmaps/k29s.bm          bitmaps/n37s.bm   bitmaps/q108s.bm  bitmaps/r72s.bm \
101   bitmaps/b108o.bm   bitmaps/d49o.bm        bitmaps/k33o.bm          bitmaps/n40o.bm   bitmaps/q116o.bm  bitmaps/r80o.bm \
102   bitmaps/b108s.bm   bitmaps/d49s.bm        bitmaps/k33s.bm          bitmaps/n40s.bm   bitmaps/q116s.bm  bitmaps/r80s.bm \
103   bitmaps/b116o.bm   bitmaps/d54o.bm        bitmaps/k37o.bm          bitmaps/n45o.bm   bitmaps/q129o.bm  bitmaps/r87o.bm \
104   bitmaps/b116s.bm   bitmaps/d54s.bm        bitmaps/k37s.bm          bitmaps/n45s.bm   bitmaps/q129s.bm  bitmaps/r87s.bm \
105   bitmaps/b129o.bm   bitmaps/d58o.bm        bitmaps/k40o.bm          bitmaps/n49o.bm   bitmaps/q21o.bm   bitmaps/r95o.bm \
106   bitmaps/b129s.bm   bitmaps/d58s.bm        bitmaps/k40s.bm          bitmaps/n49s.bm   bitmaps/q21s.bm   bitmaps/r95s.bm \
107   bitmaps/b21o.bm    bitmaps/d64o.bm        bitmaps/k45o.bm          bitmaps/n54o.bm   bitmaps/q25o.bm \
108   bitmaps/b21s.bm    bitmaps/d64s.bm        bitmaps/k45s.bm          bitmaps/n54s.bm   bitmaps/q25s.bm   bitmaps/s49o.bm \
109   bitmaps/b25o.bm    bitmaps/d72o.bm        bitmaps/k49o.bm          bitmaps/n58o.bm   bitmaps/q29o.bm   bitmaps/s49s.bm \
110   bitmaps/b25s.bm    bitmaps/d72s.bm        bitmaps/k49s.bm          bitmaps/n58s.bm   bitmaps/q29s.bm   bitmaps/s72o.bm \
111   bitmaps/b29o.bm    bitmaps/k54o.bm        bitmaps/n64o.bm          bitmaps/q33o.bm   bitmaps/s72s.bm \
112   bitmaps/b29s.bm    bitmaps/k54s.bm        bitmaps/n64s.bm          bitmaps/q33s.bm \
113   bitmaps/b33o.bm    bitmaps/e33o.bm        bitmaps/k58o.bm          bitmaps/n72o.bm   bitmaps/q37o.bm   bitmaps/u49o.bm \
114   bitmaps/b33s.bm    bitmaps/e33s.bm        bitmaps/k58s.bm          bitmaps/n72s.bm   bitmaps/q37s.bm   bitmaps/u49s.bm \
115   bitmaps/b37o.bm    bitmaps/e49o.bm        bitmaps/k64o.bm          bitmaps/n80o.bm   bitmaps/q40o.bm   bitmaps/u72o.bm \
116   bitmaps/b37s.bm    bitmaps/e49s.bm        bitmaps/k64s.bm          bitmaps/n80s.bm   bitmaps/q40s.bm   bitmaps/u72s.bm \
117   bitmaps/b40o.bm    bitmaps/e72o.bm        bitmaps/k72o.bm          bitmaps/n87o.bm   bitmaps/q45o.bm   bitmaps/v33o.bm \
118   bitmaps/b40s.bm    bitmaps/e72s.bm        bitmaps/k72s.bm          bitmaps/n87s.bm   bitmaps/q45s.bm   bitmaps/v33s.bm \
119   bitmaps/b45o.bm    bitmaps/f33o.bm        bitmaps/k80o.bm          bitmaps/n95o.bm   bitmaps/q49o.bm   bitmaps/v49o.bm \
120   bitmaps/b45s.bm    bitmaps/f33s.bm        bitmaps/k80s.bm          bitmaps/n95s.bm   bitmaps/q49s.bm   bitmaps/v49s.bm \
121   bitmaps/b49o.bm    bitmaps/f49o.bm        bitmaps/k87o.bm          bitmaps/o33o.bm   bitmaps/q54o.bm   bitmaps/v72o.bm \
122   bitmaps/b49s.bm    bitmaps/f49s.bm        bitmaps/k87s.bm          bitmaps/o33s.bm   bitmaps/q54s.bm   bitmaps/v72s.bm \
123   bitmaps/b54o.bm    bitmaps/f72o.bm        bitmaps/k95o.bm          bitmaps/o49o.bm   bitmaps/q58o.bm   bitmaps/w33o.bm \
124   bitmaps/b54s.bm    bitmaps/f72s.bm        bitmaps/k95s.bm          bitmaps/o49s.bm   bitmaps/q58s.bm   bitmaps/w33s.bm \
125   bitmaps/b58o.bm    bitmaps/g33o.bm        bitmaps/l33o.bm          bitmaps/o72o.bm   bitmaps/q64o.bm   bitmaps/w49o.bm \
126   bitmaps/b58s.bm    bitmaps/g33s.bm        bitmaps/l33s.bm          bitmaps/o72s.bm   bitmaps/q64s.bm   bitmaps/w49s.bm \
127   bitmaps/b64o.bm    bitmaps/g49o.bm        bitmaps/l37o.bm          bitmaps/p108o.bm  bitmaps/q72o.bm   bitmaps/w72o.bm \
128   bitmaps/b64s.bm    bitmaps/g49s.bm        bitmaps/l37s.bm          bitmaps/p108s.bm  bitmaps/q72s.bm   bitmaps/w72s.bm \
129   bitmaps/b72o.bm    bitmaps/g72o.bm        bitmaps/l40o.bm          bitmaps/p116o.bm  bitmaps/q80o.bm   bitmaps/wl49o.bm \
130   bitmaps/b72s.bm    bitmaps/g72s.bm        bitmaps/l40s.bm          bitmaps/p116s.bm  bitmaps/q80s.bm   bitmaps/wl49s.bm \
131   bitmaps/b80o.bm    bitmaps/h33o.bm        bitmaps/l45o.bm          bitmaps/p129o.bm  bitmaps/q87o.bm   bitmaps/wl72o.bm \
132   bitmaps/b80s.bm    bitmaps/h33s.bm        bitmaps/l45s.bm          bitmaps/p129s.bm  bitmaps/q87s.bm   bitmaps/wl72s.bm \
133   bitmaps/b87o.bm    bitmaps/h49o.bm        bitmaps/l49o.bm          bitmaps/p21o.bm   bitmaps/q95o.bm   bitmaps/wn49o.bm \
134   bitmaps/b87s.bm    bitmaps/h49s.bm        bitmaps/l49s.bm          bitmaps/p21s.bm   bitmaps/q95s.bm   bitmaps/wn49s.bm \
135   bitmaps/b95o.bm    bitmaps/h72o.bm        bitmaps/l54o.bm          bitmaps/p25o.bm   bitmaps/r108o.bm  bitmaps/wn72o.bm \
136   bitmaps/b95s.bm    bitmaps/h72s.bm        bitmaps/l54s.bm          bitmaps/p25s.bm   bitmaps/r108s.bm  bitmaps/wn72s.bm \
137   bitmaps/i33o.bm    bitmaps/l58o.bm        bitmaps/p29o.bm          bitmaps/r116o.bm  bitmaps/wp49o.bm \
138   bitmaps/c33o.bm    bitmaps/i33s.bm        bitmaps/l58s.bm          bitmaps/p29s.bm   bitmaps/r116s.bm  bitmaps/wp49s.bm \
139   bitmaps/c33s.bm    bitmaps/i49o.bm        bitmaps/l64o.bm          bitmaps/p33o.bm   bitmaps/r129o.bm  bitmaps/wp72o.bm \
140   bitmaps/c37o.bm    bitmaps/i49s.bm        bitmaps/l64s.bm          bitmaps/p33s.bm   bitmaps/r129s.bm  bitmaps/wp72s.bm \
141   bitmaps/c37s.bm    bitmaps/i72o.bm        bitmaps/l72o.bm          bitmaps/p37o.bm   bitmaps/r21o.bm   bitmaps/ws49o.bm \
142   bitmaps/c40o.bm    bitmaps/i72s.bm        bitmaps/l72s.bm          bitmaps/p37s.bm   bitmaps/r21s.bm   bitmaps/ws49s.bm \
143   bitmaps/c40s.bm    bitmaps/m33o.bm        bitmaps/p40o.bm          bitmaps/r25o.bm   bitmaps/ws72o.bm \
144   bitmaps/c45o.bm    bitmaps/icon_black.bm  bitmaps/m33s.bm          bitmaps/p40s.bm   bitmaps/r25s.bm   bitmaps/ws72s.bm
145
146 ### directory and files for pixmaps
147
148 pixmapsdir = $(datadir)/games/xboard/pixmaps/textures
149 dist_pixmaps_DATA = pixmaps/wood_d.xpm pixmaps/wood_l.xpm pixmaps/cross32.xpm pixmaps/cross48.xpm pixmaps/board32.xpm pixmaps/board48.xpm
150
151 ### directory and files for sound files
152
153 soundsdir = $(datadir)/games/xboard/sounds
154 dist_sounds_DATA = \
155   sounds/cymbal.wav     sounds/pop2.wav   sounds/slap.wav     sounds/ding1.wav      sounds/laser.wav \
156   sounds/woodthunk.wav  sounds/gong.wav   sounds/penalty.wav  sounds/honkhonk.wav   sounds/phone.wav
157
158
159 ### set correct dir in xboard.conf
160
161 edit = sed -e 's|@pixmapsdir[@]|$(pixmapsdir)|g' \
162            -e 's|@soundsdir[@]|$(soundsdir)|g'
163
164 xboard.conf: Makefile $(srcdir)/xboard.conf.in
165         @echo '  'GEN '  ' $@;
166         @rm -f $@ $@.tmp
167         @$(edit) $(srcdir)/$@.in >$@.tmp
168         @mv $@.tmp $@
169
170 distclean-local:
171         -rm -f xboard.conf
172
173 ### the man page depends on several files, so we add a special rule
174
175 xboard.man: xboard.texi copyright.texi gpl.texinfo version.texi
176         $(srcdir)/texi2man $(srcdir)/xboard.texi > xboard.man || (rm -f xboard.man ; false)
177
178 ### install mime-type files and corresponding icons and menu entries if enabled during configure
179
180 install-data-hook: install-mime-database
181 uninstall-hook: uninstall-mime-database
182
183 install-mime-database:
184 if ENABLE_UPDATE_MIMEDB 
185         -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \
186                 $(XDG_MIME) install --mode system --novendor xboard.xml ;\
187                 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-pgn-viewer.desktop;\
188                 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-fen-viewer.desktop;\
189                 $(XDG_DESKTOP_MENU) install --mode system --novendor xboard-tourney.desktop;\
190                 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/board32.xpm application-x-chess-pgn;\
191                 $(XDG_ICON_RESOURCE) install --context mimetypes --size 32 pixmaps/cross32.xpm application-x-xboard-trn;\
192                 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/board48.xpm application-x-chess-pgn;\
193                 $(XDG_ICON_RESOURCE) install --context mimetypes --size 48 pixmaps/cross48.xpm application-x-xboard-trn;\
194         fi
195 endif
196
197 uninstall-mime-database:
198 if ENABLE_UPDATE_MIMEDB 
199         -if test -z "$(DESTDIR)" -a -n "$(XDG_MIME)" -a -n "$(XDG_DESKTOP_MENU)" -a -n "$(XDG_ICON_RESOURCE)" ; then \
200                 $(XDG_MIME) uninstall --mode system --novendor xboard.xml;\
201                 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-pgn-viewer.desktop;\
202                 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-fen-viewer.desktop;\
203                 $(XDG_DESKTOP_MENU) uninstall --mode system --novendor xboard-tourney.desktop;\
204                 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 board32.xpm application-x-chess-pgn;\
205                 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 32 cross32.xpm application-x-xboard-trn;\
206                 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 board48.xpm application-x-chess-pgn;\
207                 $(XDG_ICON_RESOURCE) uninstall --context mimetypes --size 48 cross48.xpm application-x-xboard-trn;\
208         fi
209 endif