1 SUBDIRS = \
2 po
4 ACLOCAL_AMFLAGS = -I m4
5 AUTOMAKE_OPTIONS = foreign 1.11 dist-bzip2 dist-xz subdir-objects
7 AM_CPPFLAGS = \
8 $(LIBMPDCLIENT_CFLAGS) \
9 $(GLIB_CFLAGS) \
10 $(LIBLIRCCLIENT_CFLAGS) \
11 -DLOCALE_DIR=\""$(datadir)/locale"\"\
12 -DSYSCONFDIR=\""$(sysconfdir)"\"
14 ncmpc_headers = \
15 src/gidle.h \
16 src/mpdclient.h \
17 src/playlist.h \
18 src/filelist.h \
19 src/options.h \
20 src/conf.h \
21 src/command.h \
22 src/ncu.h \
23 src/ncfix.h \
24 src/player_command.h \
25 src/window.h \
26 src/title_bar.h \
27 src/progress_bar.h \
28 src/status_bar.h \
29 src/screen.h \
30 src/screen_status.h \
31 src/screen_interface.h \
32 src/screen_list.h \
33 src/screen_find.h \
34 src/screen_utils.h \
35 src/screen_client.h \
36 src/list_window.h \
37 src/song_paint.h \
38 src/colors.h \
39 src/paint.h \
40 src/hscroll.h \
41 src/charset.h \
42 src/match.h \
43 src/wreadln.h \
44 src/strfsong.h \
45 src/utils.h \
46 src/ncmpc.h \
47 src/defaults.h \
48 src/i18n.h \
49 src/screen_help.h \
50 src/screen_queue.h \
51 src/screen_file.h \
52 src/screen_artist.h \
53 src/screen_browser.h \
54 src/screen_search.h \
55 src/screen_song.h \
56 src/screen_keydef.h \
57 src/screen_lyrics.h \
58 src/screen_outputs.h \
59 src/screen_chat.h \
60 src/screen_text.h \
61 src/plugin.h \
62 src/lyrics.h \
63 src/lirc.h \
64 src/ncmpc_curses.h
66 bin_PROGRAMS = src/ncmpc
68 src_ncmpc_LDADD = \
69 $(CURSES_LIB) \
70 $(LIBMPDCLIENT_LIBS) \
71 $(GLIB_LIBS) \
72 $(LIBLIRCCLIENT_LIBS)
74 src_ncmpc_SOURCES = \
75 $(ncmpc_headers) \
76 src/main.c \
77 src/gidle.c \
78 src/mpdclient.c \
79 src/playlist.c \
80 src/filelist.c \
81 src/options.c \
82 src/command.c \
83 src/ncu.c \
84 src/player_command.c \
85 src/title_bar.c \
86 src/progress_bar.c \
87 src/status_bar.c \
88 src/screen.c \
89 src/screen_status.c \
90 src/screen_list.c \
91 src/screen_find.c \
92 src/screen_utils.c \
93 src/screen_client.c \
94 src/screen_queue.c \
95 src/screen_browser.c \
96 src/screen_file.c \
97 src/list_window.c \
98 src/song_paint.c \
99 src/colors.c \
100 src/charset.c \
101 src/wreadln.c \
102 src/strfsong.c \
103 src/utils.c
105 #
106 # Windows resource file
107 #
109 src/win/ncmpc_win32_rc.$(OBJEXT): src/win/ncmpc_win32_rc.rc
110 $(WINDRES) -i $< -o $@
112 if HAVE_WINDOWS
113 noinst_DATA = src/win/ncmpc_win32_rc.rc
115 src_ncmpc_DEPENDENCIES = src/win/ncmpc_win32_rc.$(OBJEXT)
116 src_ncmpc_LDFLAGS = -Wl,src/win/ncmpc_win32_rc.$(OBJEXT)
117 endif
119 if NCMPC_MINI
120 else
121 src_ncmpc_SOURCES += \
122 src/hscroll.c \
123 src/match.c \
124 src/conf.c
125 endif
127 if ENABLE_HELP_SCREEN
128 src_ncmpc_SOURCES += src/screen_help.c
129 endif
131 if ENABLE_ARTIST_SCREEN
132 src_ncmpc_SOURCES += src/screen_artist.c
133 endif
135 if ENABLE_SEARCH_SCREEN
136 src_ncmpc_SOURCES += src/screen_search.c
137 endif
139 if ENABLE_SONG_SCREEN
140 src_ncmpc_SOURCES += src/screen_song.c
141 endif
143 if ENABLE_KEYDEF_SCREEN
144 src_ncmpc_SOURCES += src/screen_keydef.c
145 endif
147 if ENABLE_PLUGIN_LIBRARY
148 src_ncmpc_SOURCES += src/plugin.c
149 endif
151 if ENABLE_SCREEN_TEXT
152 src_ncmpc_SOURCES += src/screen_text.c
153 endif
155 if ENABLE_LYRICS_SCREEN
156 src_ncmpc_SOURCES += src/screen_lyrics.c src/lyrics.c
157 endif
159 if ENABLE_OUTPUTS_SCREEN
160 src_ncmpc_SOURCES += src/screen_outputs.c
161 endif
163 if ENABLE_CHAT_SCREEN
164 src_ncmpc_SOURCES += src/screen_chat.c
165 endif
167 if ENABLE_LIRC
168 src_ncmpc_SOURCES += src/lirc.c
169 endif
172 # build the smallest possible ncmpc binary
173 src/ncmpc-tiny: $(filter-out %.h,$(src_ncmpc_SOURCES))
174 $(COMPILE) --combine -fwhole-program $(src_ncmpc_LDFLAGS) $(src_ncmpc_LDADD) $(LIBS) $^ -o $@
175 strip --strip-all $@
177 CLEANFILES = src/ncmpc-tiny
179 #
180 # test suite
181 #
183 check_PROGRAMS = \
184 test/run_hscroll
186 test_run_hscroll_SOURCES = test/run_hscroll.c src/hscroll.c src/charset.c
187 test_run_hscroll_CPPFLAGS = -I$(srcdir)/src $(AM_CPPFLAGS)
188 test_run_hscroll_LDADD = @CURSES_LIB@ $(GLIB_LIBS)
190 #
191 # sparse
192 #
194 SPARSE = sparse
195 SPARSE_FLAGS = -Wdecl -Wdefault-bitfield-sign -Wdo-while -Wenum-mismatch \
196 -Wnon-pointer-null -Wptr-subtraction-blows -Wreturn-void \
197 -Wshadow -Wtypesign \
198 -D__transparent_union__=unused
200 sparse-check:
201 $(SPARSE) -I. -I/usr/lib/gcc/$(shell gcc -dumpmachine)/4.3/include -I/usr/lib/gcc/$(shell gcc -dumpmachine)/4.3/include-fixed $(AM_CPPFLAGS) $(SPARSE_FLAGS) $(src_ncmpc_SOURCES)
203 #
204 # lyrics plugins
205 #
207 lyrics_plugins = lyrics/10-hd.sh lyrics/15-leoslyrics.sh lyrics/20-lyricwiki.rb lyrics/30-leoslyrics.py
209 if ENABLE_LYRICS_SCREEN
211 lyricsdir = $(lyrics_plugin_dir)
212 lyrics_SCRIPTS = $(lyrics_plugins)
214 endif
216 #
217 # Documentation
218 #
220 doc_DATA = \
221 doc/config.sample doc/keys.sample doc/ncmpc.lirc \
222 AUTHORS NEWS README
223 man_MANS = doc/ncmpc.1
225 if ENABLE_DOCUMENTATION
226 doc/api/html/index.html: doc/doxygen.conf
227 @mkdir -p $(@D)
228 $(DOXYGEN) $<
230 all-local: doc/api/html/index.html
232 clean-local:
233 rm -rf doc/api
235 # copied from MPD, disabled --jn
236 #---------------------------------------
237 #install-data-local: doc/api/html/index.html
238 # $(mkinstalldirs) $(DESTDIR)$(docdir)/api/html
239 # $(INSTALL_DATA) -c -m 644 doc/api/html/*.* \
240 # $(DESTDIR)$(docdir)/api/html
241 #
242 #uninstall-local:
243 # rm -f $(DESTDIR)$(docdir)/api/html/*.*
244 #---------------------------------------
245 endif
247 #
248 # Distribution
249 #
251 EXTRA_DIST = autogen.sh \
252 $(lyrics_plugins) \
253 $(man_MANS) $(doc_DATA) doc/doxygen.conf \
254 src/win/ncmpc_win32_rc.rc.in