use g_timeout_add_seconds() where appropriate
[ncmpc.git] / Makefile.am
blob53293154c48225ce9e401a2bdbe9c64c7d7d8249
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_utils.c src/screen_utils.h \
47         src/screen_status.c src/screen_status.h \
48         src/screen_list.c src/screen_list.h \
49         src/screen_find.c src/screen_find.h \
50         src/screen_client.c src/screen_client.h \
51         src/screen_queue.c src/screen_queue.h \
52         src/screen_browser.c src/screen_browser.h \
53         src/screen_file.c src/screen_file.h \
54         src/list_window.c src/list_window.h \
55         src/paint.h \
56         src/song_paint.c src/song_paint.h \
57         src/colors.c src/colors.h \
58         src/charset.c src/charset.h \
59         src/window.h \
60         src/wreadln.c src/wreadln.h \
61         src/strfsong.c src/strfsong.h \
62         src/utils.c src/utils.h
64 if ENABLE_ASYNC_CONNECT
65 src_ncmpc_SOURCES += \
66         src/net/types.h \
67         src/net/socket.c src/net/socket.h \
68         src/net/resolver.c src/net/resolver.h \
69         src/net/async_connect.c src/net/async_connect.h \
70         src/net/async_rconnect.c src/net/async_rconnect.h \
71         src/aconnect.c src/aconnect.h
72 endif
75 # Windows resource file
78 src/win/ncmpc_win32_rc.$(OBJEXT): src/win/ncmpc_win32_rc.rc
79         $(WINDRES) -i $< -o $@
81 if HAVE_WINDOWS
82 noinst_DATA = src/win/ncmpc_win32_rc.rc
84 src_ncmpc_DEPENDENCIES = src/win/ncmpc_win32_rc.$(OBJEXT)
85 src_ncmpc_LDFLAGS = -Wl,src/win/ncmpc_win32_rc.$(OBJEXT)
86 else
87 src_ncmpc_SOURCES += src/signals.c src/signals.h
88 endif
90 if NCMPC_MINI
91 else
92 src_ncmpc_SOURCES += \
93         src/xterm_title.c src/xterm_title.h \
94         src/hscroll.c src/hscroll.h \
95         src/match.c src/match.h \
96         src/conf.c src/conf.h
97 endif
99 if ENABLE_HELP_SCREEN
100 src_ncmpc_SOURCES += src/screen_help.c src/screen_help.h
101 endif
103 if ENABLE_ARTIST_SCREEN
104 src_ncmpc_SOURCES += src/screen_artist.c src/screen_artist.h
105 endif
107 if ENABLE_SEARCH_SCREEN
108 src_ncmpc_SOURCES += src/screen_search.c src/screen_search.h
109 endif
111 if ENABLE_SONG_SCREEN
112 src_ncmpc_SOURCES += src/screen_song.c src/screen_song.h
113 endif
115 if ENABLE_KEYDEF_SCREEN
116 src_ncmpc_SOURCES += src/screen_keydef.c src/screen_keydef.h
117 endif
119 if ENABLE_PLUGIN_LIBRARY
120 src_ncmpc_SOURCES += src/plugin.c src/plugin.h
121 endif
123 if ENABLE_SCREEN_TEXT
124 src_ncmpc_SOURCES += src/screen_text.c src/screen_text.h
125 endif
127 if ENABLE_LYRICS_SCREEN
128 src_ncmpc_SOURCES += \
129         src/screen_lyrics.c src/screen_lyrics.h \
130         src/lyrics.c src/lyrics.h
131 endif
133 if ENABLE_OUTPUTS_SCREEN
134 src_ncmpc_SOURCES += src/screen_outputs.c src/screen_outputs.h
135 endif
137 if ENABLE_CHAT_SCREEN
138 src_ncmpc_SOURCES += src/screen_chat.c src/screen_chat.h
139 endif
141 if ENABLE_LIRC
142 src_ncmpc_SOURCES += src/lirc.c src/lirc.h
143 endif
146 # build the smallest possible ncmpc binary
147 src/ncmpc-tiny: $(filter-out %.h,$(src_ncmpc_SOURCES))
148         $(COMPILE) --combine -fwhole-program $(src_ncmpc_LDFLAGS) $(src_ncmpc_LDADD) $(LIBS) $^ -o $@
149         strip --strip-all $@
151 CLEANFILES = src/ncmpc-tiny
154 # test suite
157 check_PROGRAMS = \
158         test/run_hscroll
160 test_run_hscroll_SOURCES = test/run_hscroll.c src/hscroll.c src/charset.c
161 test_run_hscroll_CPPFLAGS = -I$(srcdir)/src $(AM_CPPFLAGS)
162 test_run_hscroll_LDADD = $(CURSES_LIBS) $(GLIB_LIBS)
165 # sparse
168 SPARSE = sparse
169 SPARSE_FLAGS = -Wdecl -Wdefault-bitfield-sign -Wdo-while -Wenum-mismatch \
170         -Wnon-pointer-null -Wptr-subtraction-blows -Wreturn-void \
171         -Wshadow -Wtypesign \
172         -D__transparent_union__=unused
174 sparse-check:
175         $(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)
178 # lyrics plugins
181 lyrics_plugins = lyrics/10-hd.sh lyrics/20-lyricwiki.rb
183 if ENABLE_LYRICS_SCREEN
185 lyricsdir = $(lyrics_plugin_dir)
186 lyrics_SCRIPTS = $(lyrics_plugins)
188 endif
191 # Documentation
194 doc_DATA = \
195         doc/config.sample doc/keys.sample doc/ncmpc.lirc \
196         AUTHORS NEWS README
197 man_MANS = doc/ncmpc.1
199 if ENABLE_DOCUMENTATION
200 doc/api/html/index.html: doc/doxygen.conf
201         @mkdir -p $(@D)
202         $(DOXYGEN) $<
204 all-local: doc/api/html/index.html
206 clean-local:
207         rm -rf doc/api
209 # copied from MPD, disabled  --jn
210 #---------------------------------------
211 #install-data-local: doc/api/html/index.html
212 #       $(mkinstalldirs) $(DESTDIR)$(docdir)/api/html
213 #       $(INSTALL_DATA) -c -m 644 doc/api/html/*.* \
214 #               $(DESTDIR)$(docdir)/api/html
216 #uninstall-local:
217 #       rm -f $(DESTDIR)$(docdir)/api/html/*.*
218 #---------------------------------------
219 endif
222 # Distribution
225 EXTRA_DIST = autogen.sh \
226         $(lyrics_plugins) \
227         $(man_MANS) $(doc_DATA) doc/doxygen.conf \
228         src/win/ncmpc_win32_rc.rc.in