Code

i18n: don't use locale.h
[ncmpc.git] / src / Makefile.am
index ff4fb7aa9926970663e85bfcf88f176ba6b492f8..085396db14703c4270d4c984c03ee6187c8671bb 100644 (file)
-#
-# $Id$
-#
+CLEANFILES = ncmpc-tiny
+
+AM_CPPFLAGS = \
+  $(GLIB_CFLAGS)\
+  $(GTHREAD_CFLAGS)\
+       $(LIBLIRCCLIENT_CFLAGS) \
+  -DLOCALE_DIR=\""$(datadir)/locale"\"\
+  -DSYSCONFDIR=\""$(sysconfdir)"\"
+
+ncmpc_LDADD = \
+  $(GLIB_LIBS)\
+  $(GTHREAD_LIBS) \
+       $(LIBLIRCCLIENT_LIBS)
+
+ncmpc_headers = \
+  libmpdclient.h\
+       resolver.h \
+       song.h \
+  mpdclient.h\
+       playlist.h \
+       filelist.h \
+  options.h\
+  conf.h\
+  command.h\
+       ncu.h \
+  screen.h\
+       screen_list.h \
+       screen_play.h \
+  screen_utils.h\
+  list_window.h\
+  colors.h\
+       hscroll.h \
+       charset.h \
+       match.h \
+  wreadln.h\
+  strfsong.h\
+  utils.h\
+  ncmpc.h\
+       defaults.h \
+       i18n.h \
+       screen_browser.h \
+       screen_text.h \
+       plugin.h \
+       lyrics.h \
+       str_pool.h \
+       lirc.h
 
 bin_PROGRAMS = ncmpc
 
-ncmpc_LDADD = $(GLIB_LIBS)
+lyr_src=${lyr_src_fixed}
+
+ncmpc_SOURCES = \
+  libmpdclient.c\
+       resolver.c \
+       song.c \
+  main.c\
+  mpdclient.c\
+       playlist.c \
+       filelist.c \
+  options.c\
+  command.c\
+       ncu.c \
+  screen.c\
+       screen_list.c \
+  screen_utils.c\
+  screen_play.c\
+       screen_browser.c\
+  screen_file.c\
+  list_window.c\
+  colors.c\
+       charset.c \
+  wreadln.c\
+  strfsong.c\
+  utils.c\
+       str_pool.c
+
+if NCMPC_MINI
+else
+ncmpc_SOURCES += \
+       hscroll.c \
+       match.c \
+       conf.c
+endif
 
-AM_CPPFLAGS = $(GLIB_CFLAGS) -DLOCALE_DIR=\""$(datadir)/locale"\" -DSYSCONFDIR=\""$(sysconfdir)"\"
+if ENABLE_HELP_SCREEN
+ncmpc_SOURCES += screen_help.c
+endif
 
+if ENABLE_ARTIST_SCREEN
+ncmpc_SOURCES += screen_artist.c
+endif
 
-ncmpc_headers = libmpdclient.h mpc.h options.h conf.h command.h screen.h \
-                screen_utils.h screen_play.h screen_file.h screen_search.h \
-               screen_help.h list_window.h colors.h support.h wreadln.h \
-                ncmpc.h
+if ENABLE_SEARCH_SCREEN
+ncmpc_SOURCES += screen_search.c
+endif
 
-ncmpc_SOURCES = libmpdclient.c main.c mpc.c options.c conf.c command.c \
-               screen.c screen_utils.c screen_play.c screen_file.c \
-               screen_search.c screen_help.c screen_keydef.c \
-                list_window.c colors.c support.c wreadln.c $(ncmpc_headers)
+if ENABLE_SONG_SCREEN
+ncmpc_SOURCES += screen_song.c
+endif
 
+if ENABLE_KEYDEF_SCREEN
+ncmpc_SOURCES += screen_keydef.c
+endif
 
+if ENABLE_PLUGIN_LIBRARY
+ncmpc_SOURCES += plugin.c
+endif
 
+if ENABLE_SCREEN_TEXT
+ncmpc_SOURCES += screen_text.c
+endif
 
+if ENABLE_LYRICS_SCREEN
+ncmpc_SOURCES += screen_lyrics.c lyrics.c
+endif
+
+if ENABLE_OUTPUTS_SCREEN
+ncmpc_SOURCES += screen_outputs.c
+endif
+
+if ENABLE_LIRC
+ncmpc_SOURCES += lirc.c
+endif
+
+ncmpc_SOURCES+=${ncmpc_headers}
+
+# build the smalles possible ncmpc binary
+ncmpc-tiny: $(filter-out %.h,$(ncmpc_SOURCES))
+       $(COMPILE) --combine -fwhole-program $(ncmpc_LDFLAGS) $(ncmpc_LDADD) $(LIBS) $^ -o $@
+       strip --strip-all $@
+
+#
+# sparse
+#
 
+SPARSE = sparse
+SPARSE_FLAGS = -Wdecl -Wdefault-bitfield-sign -Wdo-while -Wenum-mismatch \
+       -Wnon-pointer-null -Wptr-subtraction-blows -Wreturn-void \
+       -Wshadow -Wtypesign \
+       -D__transparent_union__=unused
 
+sparse-check:
+       for i in $(ncmpc_SOURCES); \
+       do \
+               $(SPARSE) -I. -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) $(srcdir)/$$i || exit; \
+       done