chiark / gitweb /
server/Makefile.am: Add the codec test for Ogg Vorbis.
[disorder] / server / Makefile.am
index 7ff7c8c85f4480c3d2f05f7e0ef2540da0155072..ede49ef7d231ec3c1d329651dba95e45f5c07d3a 100644 (file)
@@ -1,6 +1,6 @@
 #
 # This file is part of DisOrder.
-# Copyright (C) 2004-2011 Richard Kettlewell
+# Copyright (C) 2004-2011, 2013 Richard Kettlewell
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+VPATH+=${top_srcdir}/common
+
 sbin_PROGRAMS=disorderd disorder-deadlock disorder-rescan disorder-dump \
              disorder-speaker disorder-decode disorder-normalize \
              disorder-stats disorder-dbupgrade disorder-choose
 noinst_PROGRAMS=trackname endian
 
+AUTOMAKE_OPTIONS=subdir-objects
 AM_CPPFLAGS=-I${top_srcdir}/lib -I../lib
+AM_CFLAGS=
 
 disorderd_SOURCES=disorderd.c api.c api-server.c daemonize.c play.c    \
        server.c server-queue.c queue-ops.c state.c plugin.c            \
        schedule.c dbparams.c background.c mount.c \
-       exports.c ../lib/memgc.c disorder-server.h
+       exports.c disorder-server.h
+nodist_disorderd_SOURCES=memgc.c
 disorderd_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
-       $(LIBPCRE) $(LIBDB) $(LIBAO) $(LIBGC) $(LIBGCRYPT) $(LIBICONV) \
-       $(LIBASOUND) $(COREAUDIO) $(LIBPTHREAD) $(LIBDL)
+       $(LIBPCRE) $(LIBDB) $(LIBGC) $(LIBGCRYPT) $(LIBICONV) \
+       $(LIBASOUND) $(COREAUDIO) $(LIBPTHREAD) $(LIBDL) \
+       $(PULSEAUDIO_SIMPLE_LIBS) $(PULSEAUDIO_LIBS)
 disorderd_LDFLAGS=-export-dynamic
 disorderd_DEPENDENCIES=../lib/libdisorder.a
 
@@ -41,7 +47,8 @@ disorder_deadlock_DEPENDENCIES=../lib/libdisorder.a
 disorder_speaker_SOURCES=speaker.c
 disorder_speaker_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBASOUND) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(COREAUDIO) \
-       $(LIBPTHREAD)
+       $(LIBPTHREAD) \
+       $(PULSEAUDIO_SIMPLE_LIBS) $(PULSEAUDIO_LIBS)
 disorder_speaker_DEPENDENCIES=../lib/libdisorder.a
 
 disorder_decode_SOURCES=decode.c decode.h disorder-server.h    \
@@ -50,20 +57,32 @@ disorder_decode_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBMAD) $(LIBVORBISFILE) $(LIBFLAC)
 disorder_decode_DEPENDENCIES=../lib/libdisorder.a
 
+if GSTDECODE
+AM_CFLAGS+=$(GSTREAMER_CFLAGS)
+sbin_PROGRAMS+=disorder-gstdecode
+disorder_gstdecode_SOURCES=gstdecode.c disorder-server.h
+disorder_gstdecode_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
+       $(GSTREAMER_PLUGINS_BASE_LIBS) \
+       $(GSTREAMER_LIBS) $(LIBGCRYPT) $(LIBPCRE)
+disorder_gstdecode_DEPENDENCIES=../lib/libdisorder.a
+endif
+
 disorder_normalize_SOURCES=normalize.c disorder-server.h
 disorder_normalize_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(LIBSAMPLERATE)
 disorder_normalize_DEPENDENCIES=../lib/libdisorder.a
 
 disorder_rescan_SOURCES=rescan.c plugin.c api.c api-server.c exports.c \
-       ../lib/memgc.c disorder-server.h
+       disorder-server.h
+nodist_disorder_rescan_SOURCES=memgc.c
 disorder_rescan_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(LIBDL)
 disorder_rescan_LDFLAGS=-export-dynamic
 disorder_rescan_DEPENDENCIES=../lib/libdisorder.a
 
-disorder_choose_SOURCES=choose.c server-queue.c ../lib/memgc.c \
+disorder_choose_SOURCES=choose.c server-queue.c \
                        disorder-server.h
+nodist_disorder_choose_SOURCES=memgc.c
 disorder_choose_LDADD=$(LIBOBJS) ../lib/libdisorder.a   \
        $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
 disorder_choose_LDFLAGS=-export-dynamic
@@ -74,12 +93,14 @@ disorder_stats_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBDB) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
 disorder_stats_DEPENDENCIES=../lib/libdisorder.a
 
-disorder_dump_SOURCES=dump.c disorder-server.h ../lib/memgc.c
+disorder_dump_SOURCES=dump.c disorder-server.h
+nodist_disorder_dump_SOURCES=memgc.c
 disorder_dump_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBPCRE) $(LIBDB) $(LIBICONV) $(LIBGC) $(LIBGCRYPT)
 disorder_dump_DEPENDENCIES=$(LIBOBJS) ../lib/libdisorder.a
 
-disorder_dbupgrade_SOURCES=dbupgrade.c ../lib/memgc.c disorder-server.h
+disorder_dbupgrade_SOURCES=dbupgrade.c disorder-server.h
+nodist_disorder_dbupgrade_SOURCES=memgc.c
 disorder_dbupgrade_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
        $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
 disorder_dbupgrade_DEPENDENCIES=../lib/libdisorder.a
@@ -88,9 +109,6 @@ trackname_SOURCES=trackname.c disorder-server.h
 trackname_LDADD=../lib/libdisorder.a $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
 trackname_DEPENDENCIES=../lib/libdisorder.a
 
-install-exec-hook:
-       $(LIBTOOL) --mode=finish $(DESTDIR)$(libdir)
-
 check: check-help check-decode
 
 # check everything has working --help and --version
@@ -118,32 +136,34 @@ check-help: all
        ./disorder-choose --help > /dev/null
        ./disorder-choose --version > /dev/null
 
-check-decode: check-wav check-flac check-mp3
+check-decode: check-wav check-flac check-mp3 check-ogg
 
 check-mp3: disorder-decode disorder-normalize
        ./disorder-decode ${top_srcdir}/sounds/scratch.mp3 | \
          ./disorder-normalize --config ${srcdir}/test-config > mp3ed.raw
-       cmp mp3ed.raw ${top_srcdir}/sounds/scratch-mp3.raw
+       $(top_srcdir)/scripts/compare-raw 64 \
+               mp3ed.raw ${top_srcdir}/sounds/scratch-mp3.raw
        rm -f mp3ed.raw
 
-# TODO ogg decoding comes out OK but different depending on platform, version
-# or something.  Makes it tricky to test!
 check-ogg: disorder-decode disorder-normalize
        ./disorder-decode ${top_srcdir}/sounds/scratch.ogg | \
          ./disorder-normalize --config ${srcdir}/test-config > ogged.raw
-       cmp ogged.raw ${top_srcdir}/sounds/scratch.raw
+       $(top_srcdir)/scripts/compare-raw 64 \
+               ogged.raw ${top_srcdir}/sounds/scratch.raw
        rm -f ogged.raw
 
 check-wav: disorder-decode disorder-normalize
        ./disorder-decode ${top_srcdir}/sounds/scratch.wav | \
          ./disorder-normalize --config ${srcdir}/test-config > waved.raw
-       cmp waved.raw ${top_srcdir}/sounds/scratch.raw
+       $(top_srcdir)/scripts/compare-raw 0 \
+               waved.raw ${top_srcdir}/sounds/scratch.raw
        rm -rf waved.raw
 
 check-flac: disorder-decode disorder-normalize
        ./disorder-decode ${top_srcdir}/sounds/scratch.flac | \
          ./disorder-normalize --config ${srcdir}/test-config > flacced.raw
-       cmp flacced.raw ${top_srcdir}/sounds/scratch.raw
+       $(top_srcdir)/scripts/compare-raw 0 \
+               flacced.raw ${top_srcdir}/sounds/scratch.raw
        rm -f flacced.raw
 
 EXTRA_DIST=README.dbversions test-config