46f8be638c38da05741a6b9188316d9240f61c53
1 SUBDIRS = \
2 po
4 ACLOCAL_AMFLAGS = -I m4
5 AUTOMAKE_OPTIONS = foreign 1.11 dist-xz subdir-objects
7 AM_CPPFLAGS = \
8 $(CURSES_CFLAGS) \
9 $(LIBMPDCLIENT_CFLAGS) \
10 $(GLIB_CFLAGS) \
11 $(LIBLIRCCLIENT_CFLAGS) \
12 -DLOCALE_DIR=\""$(datadir)/locale"\"\
13 -DSYSCONFDIR=\""$(sysconfdir)"\"
15 bin_PROGRAMS = src/ncmpc
17 src_ncmpc_LDADD = \
18 $(CURSES_LIBS) \
19 $(LIBMPDCLIENT_LIBS) \
20 $(GLIB_LIBS) \
21 $(LIBLIRCCLIENT_LIBS)
23 src_ncmpc_SOURCES = \
24 src/Compiler.h \
25 src/ncmpc.h \
26 src/defaults.h \
27 src/ncmpc_curses.h \
28 src/i18n.h \
29 src/main.c \
30 src/gidle.c src/gidle.h \
31 src/mpdclient.c src/mpdclient.h \
32 src/callbacks.c src/callbacks.h \
33 src/playlist.c src/playlist.h \
34 src/filelist.c src/filelist.h \
35 src/options.c src/options.h \
36 src/command.c src/command.h \
37 src/keyboard.c src/keyboard.h \
38 src/ncfix.h \
39 src/ncu.c src/ncu.h \
40 src/player_command.c src/player_command.h \
41 src/title_bar.c src/title_bar.h \
42 src/progress_bar.c src/progress_bar.h \
43 src/status_bar.c src/status_bar.h \
44 src/screen.c src/screen.h \
45 src/screen_interface.h \
46 src/screen_init.c \
47 src/screen_paint.c \
48 src/screen_utils.c src/screen_utils.h \
49 src/screen_status.c src/screen_status.h \
50 src/screen_list.c src/screen_list.h \
51 src/screen_find.c src/screen_find.h \
52 src/screen_client.c src/screen_client.h \
53 src/screen_queue.c src/screen_queue.h \
54 src/screen_browser.c src/screen_browser.h \
55 src/screen_file.c src/screen_file.h \
56 src/list_window.c src/list_window.h \
57 src/paint.h \
58 src/song_paint.c src/song_paint.h \
59 src/colors.c src/colors.h \
60 src/charset.c src/charset.h \
61 src/window.h \
62 src/wreadln.c src/wreadln.h \
63 src/strfsong.c src/strfsong.h \
64 src/utils.c src/utils.h
66 if ENABLE_ASYNC_CONNECT
67 src_ncmpc_SOURCES += \
68 src/net/types.h \
69 src/net/socket.c src/net/socket.h \
70 src/net/resolver.c src/net/resolver.h \
71 src/net/async_connect.c src/net/async_connect.h \
72 src/net/async_rconnect.c src/net/async_rconnect.h \
73 src/aconnect.c src/aconnect.h
74 endif
76 #
77 # Windows resource file
78 #
80 src/win/ncmpc_win32_rc.$(OBJEXT): src/win/ncmpc_win32_rc.rc
81 $(WINDRES) -i $< -o $@
83 if HAVE_WINDOWS
84 noinst_DATA = src/win/ncmpc_win32_rc.rc
86 src_ncmpc_DEPENDENCIES = src/win/ncmpc_win32_rc.$(OBJEXT)
87 src_ncmpc_LDFLAGS = -Wl,src/win/ncmpc_win32_rc.$(OBJEXT)
88 else
89 src_ncmpc_SOURCES += src/signals.c src/signals.h
90 endif
92 if NCMPC_MINI
93 else
94 src_ncmpc_SOURCES += \
95 src/xterm_title.c src/xterm_title.h \
96 src/hscroll.c src/hscroll.h \
97 src/match.c src/match.h \
98 src/conf.c src/conf.h
99 endif
101 if ENABLE_HELP_SCREEN
102 src_ncmpc_SOURCES += src/screen_help.c src/screen_help.h
103 endif
105 if ENABLE_ARTIST_SCREEN
106 src_ncmpc_SOURCES += src/screen_artist.c src/screen_artist.h
107 endif
109 if ENABLE_SEARCH_SCREEN
110 src_ncmpc_SOURCES += src/screen_search.c src/screen_search.h
111 endif
113 if ENABLE_SONG_SCREEN
114 src_ncmpc_SOURCES += src/screen_song.c src/screen_song.h
115 endif
117 if ENABLE_KEYDEF_SCREEN
118 src_ncmpc_SOURCES += src/screen_keydef.c src/screen_keydef.h
119 endif
121 if ENABLE_PLUGIN_LIBRARY
122 src_ncmpc_SOURCES += src/plugin.c src/plugin.h
123 endif
125 if ENABLE_SCREEN_TEXT
126 src_ncmpc_SOURCES += src/screen_text.c src/screen_text.h
127 endif
129 if ENABLE_LYRICS_SCREEN
130 src_ncmpc_SOURCES += \
131 src/screen_lyrics.c src/screen_lyrics.h \
132 src/lyrics.c src/lyrics.h
133 endif
135 if ENABLE_OUTPUTS_SCREEN
136 src_ncmpc_SOURCES += src/screen_outputs.c src/screen_outputs.h
137 endif
139 if ENABLE_CHAT_SCREEN
140 src_ncmpc_SOURCES += src/screen_chat.c src/screen_chat.h
141 endif
143 if ENABLE_LIRC
144 src_ncmpc_SOURCES += src/lirc.c src/lirc.h
145 endif
148 # build the smallest possible ncmpc binary
149 src/ncmpc-tiny: $(filter-out %.h,$(src_ncmpc_SOURCES))
150 $(COMPILE) --combine -fwhole-program $(src_ncmpc_LDFLAGS) $(src_ncmpc_LDADD) $(LIBS) $^ -o $@
151 strip --strip-all $@
153 CLEANFILES = src/ncmpc-tiny
155 #
156 # test suite
157 #
159 check_PROGRAMS = \
160 test/run_hscroll
162 test_run_hscroll_SOURCES = test/run_hscroll.c src/hscroll.c src/charset.c
163 test_run_hscroll_CPPFLAGS = -I$(srcdir)/src $(AM_CPPFLAGS)
164 test_run_hscroll_LDADD = $(CURSES_LIBS) $(GLIB_LIBS)
166 #
167 # sparse
168 #
170 SPARSE = sparse
171 SPARSE_FLAGS = -Wdecl -Wdefault-bitfield-sign -Wdo-while -Wenum-mismatch \
172 -Wnon-pointer-null -Wptr-subtraction-blows -Wreturn-void \
173 -Wshadow -Wtypesign \
174 -D__transparent_union__=unused
176 sparse-check:
177 $(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)
179 #
180 # lyrics plugins
181 #
183 lyrics_plugins = lyrics/10-hd.sh lyrics/20-lyricwiki.rb
185 if ENABLE_LYRICS_SCREEN
187 lyricsdir = $(lyrics_plugin_dir)
188 lyrics_SCRIPTS = $(lyrics_plugins)
190 endif
192 #
193 # Documentation
194 #
196 doc_DATA = \
197 doc/config.sample doc/keys.sample doc/ncmpc.lirc \
198 AUTHORS NEWS README
199 man_MANS = doc/ncmpc.1
201 if ENABLE_DOCUMENTATION
202 doc/api/html/index.html: doc/doxygen.conf
203 @mkdir -p $(@D)
204 $(DOXYGEN) $<
206 all-local: doc/api/html/index.html
208 clean-local:
209 rm -rf doc/api
211 # copied from MPD, disabled --jn
212 #---------------------------------------
213 #install-data-local: doc/api/html/index.html
214 # $(mkinstalldirs) $(DESTDIR)$(docdir)/api/html
215 # $(INSTALL_DATA) -c -m 644 doc/api/html/*.* \
216 # $(DESTDIR)$(docdir)/api/html
217 #
218 #uninstall-local:
219 # rm -f $(DESTDIR)$(docdir)/api/html/*.*
220 #---------------------------------------
221 endif
223 #
224 # Distribution
225 #
227 EXTRA_DIST = autogen.sh \
228 $(lyrics_plugins) \
229 $(man_MANS) $(doc_DATA) doc/doxygen.conf \
230 src/win/ncmpc_win32_rc.rc.in