1 SUBDIRS = \
2 po
4 ACLOCAL_AMFLAGS = -I m4
5 AUTOMAKE_OPTIONS = foreign 1.11 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 bin_PROGRAMS = src/ncmpc
16 src_ncmpc_LDADD = \
17 $(CURSES_LIB) \
18 $(LIBMPDCLIENT_LIBS) \
19 $(GLIB_LIBS) \
20 $(LIBLIRCCLIENT_LIBS)
22 src_ncmpc_SOURCES = \
23 src/Compiler.h \
24 src/ncmpc.h \
25 src/defaults.h \
26 src/ncmpc_curses.h \
27 src/i18n.h \
28 src/main.c \
29 src/gidle.c src/gidle.h \
30 src/mpdclient.c src/mpdclient.h \
31 src/callbacks.c src/callbacks.h \
32 src/playlist.c src/playlist.h \
33 src/filelist.c src/filelist.h \
34 src/options.c src/options.h \
35 src/command.c src/command.h \
36 src/keyboard.c src/keyboard.h \
37 src/ncfix.h \
38 src/ncu.c src/ncu.h \
39 src/player_command.c src/player_command.h \
40 src/title_bar.c src/title_bar.h \
41 src/progress_bar.c src/progress_bar.h \
42 src/status_bar.c src/status_bar.h \
43 src/screen.c src/screen.h \
44 src/screen_interface.h \
45 src/screen_utils.c src/screen_utils.h \
46 src/screen_status.c src/screen_status.h \
47 src/screen_list.c src/screen_list.h \
48 src/screen_find.c src/screen_find.h \
49 src/screen_client.c src/screen_client.h \
50 src/screen_queue.c src/screen_queue.h \
51 src/screen_browser.c src/screen_browser.h \
52 src/screen_file.c src/screen_file.h \
53 src/list_window.c src/list_window.h \
54 src/paint.h \
55 src/song_paint.c src/song_paint.h \
56 src/colors.c src/colors.h \
57 src/charset.c src/charset.h \
58 src/window.h \
59 src/wreadln.c src/wreadln.h \
60 src/strfsong.c src/strfsong.h \
61 src/utils.c src/utils.h
63 #
64 # Windows resource file
65 #
67 src/win/ncmpc_win32_rc.$(OBJEXT): src/win/ncmpc_win32_rc.rc
68 $(WINDRES) -i $< -o $@
70 if HAVE_WINDOWS
71 noinst_DATA = src/win/ncmpc_win32_rc.rc
73 src_ncmpc_DEPENDENCIES = src/win/ncmpc_win32_rc.$(OBJEXT)
74 src_ncmpc_LDFLAGS = -Wl,src/win/ncmpc_win32_rc.$(OBJEXT)
75 endif
77 if NCMPC_MINI
78 else
79 src_ncmpc_SOURCES += \
80 src/hscroll.c src/hscroll.h \
81 src/match.c src/match.h \
82 src/conf.c src/conf.h
83 endif
85 if ENABLE_HELP_SCREEN
86 src_ncmpc_SOURCES += src/screen_help.c src/screen_help.h
87 endif
89 if ENABLE_ARTIST_SCREEN
90 src_ncmpc_SOURCES += src/screen_artist.c src/screen_artist.h
91 endif
93 if ENABLE_SEARCH_SCREEN
94 src_ncmpc_SOURCES += src/screen_search.c src/screen_search.h
95 endif
97 if ENABLE_SONG_SCREEN
98 src_ncmpc_SOURCES += src/screen_song.c src/screen_song.h
99 endif
101 if ENABLE_KEYDEF_SCREEN
102 src_ncmpc_SOURCES += src/screen_keydef.c src/screen_keydef.h
103 endif
105 if ENABLE_PLUGIN_LIBRARY
106 src_ncmpc_SOURCES += src/plugin.c src/plugin.h
107 endif
109 if ENABLE_SCREEN_TEXT
110 src_ncmpc_SOURCES += src/screen_text.c src/screen_text.h
111 endif
113 if ENABLE_LYRICS_SCREEN
114 src_ncmpc_SOURCES += \
115 src/screen_lyrics.c src/screen_lyrics.h \
116 src/lyrics.c src/lyrics.h
117 endif
119 if ENABLE_OUTPUTS_SCREEN
120 src_ncmpc_SOURCES += src/screen_outputs.c src/screen_outputs.h
121 endif
123 if ENABLE_CHAT_SCREEN
124 src_ncmpc_SOURCES += src/screen_chat.c src/screen_chat.h
125 endif
127 if ENABLE_LIRC
128 src_ncmpc_SOURCES += src/lirc.c src/lirc.h
129 endif
132 # build the smallest possible ncmpc binary
133 src/ncmpc-tiny: $(filter-out %.h,$(src_ncmpc_SOURCES))
134 $(COMPILE) --combine -fwhole-program $(src_ncmpc_LDFLAGS) $(src_ncmpc_LDADD) $(LIBS) $^ -o $@
135 strip --strip-all $@
137 CLEANFILES = src/ncmpc-tiny
139 #
140 # test suite
141 #
143 check_PROGRAMS = \
144 test/run_hscroll
146 test_run_hscroll_SOURCES = test/run_hscroll.c src/hscroll.c src/charset.c
147 test_run_hscroll_CPPFLAGS = -I$(srcdir)/src $(AM_CPPFLAGS)
148 test_run_hscroll_LDADD = @CURSES_LIB@ $(GLIB_LIBS)
150 #
151 # sparse
152 #
154 SPARSE = sparse
155 SPARSE_FLAGS = -Wdecl -Wdefault-bitfield-sign -Wdo-while -Wenum-mismatch \
156 -Wnon-pointer-null -Wptr-subtraction-blows -Wreturn-void \
157 -Wshadow -Wtypesign \
158 -D__transparent_union__=unused
160 sparse-check:
161 $(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)
163 #
164 # lyrics plugins
165 #
167 lyrics_plugins = lyrics/10-hd.sh lyrics/20-lyricwiki.rb
169 if ENABLE_LYRICS_SCREEN
171 lyricsdir = $(lyrics_plugin_dir)
172 lyrics_SCRIPTS = $(lyrics_plugins)
174 endif
176 #
177 # Documentation
178 #
180 doc_DATA = \
181 doc/config.sample doc/keys.sample doc/ncmpc.lirc \
182 AUTHORS NEWS README
183 man_MANS = doc/ncmpc.1
185 if ENABLE_DOCUMENTATION
186 doc/api/html/index.html: doc/doxygen.conf
187 @mkdir -p $(@D)
188 $(DOXYGEN) $<
190 all-local: doc/api/html/index.html
192 clean-local:
193 rm -rf doc/api
195 # copied from MPD, disabled --jn
196 #---------------------------------------
197 #install-data-local: doc/api/html/index.html
198 # $(mkinstalldirs) $(DESTDIR)$(docdir)/api/html
199 # $(INSTALL_DATA) -c -m 644 doc/api/html/*.* \
200 # $(DESTDIR)$(docdir)/api/html
201 #
202 #uninstall-local:
203 # rm -f $(DESTDIR)$(docdir)/api/html/*.*
204 #---------------------------------------
205 endif
207 #
208 # Distribution
209 #
211 EXTRA_DIST = autogen.sh \
212 $(lyrics_plugins) \
213 $(man_MANS) $(doc_DATA) doc/doxygen.conf \
214 src/win/ncmpc_win32_rc.rc.in