Unify sound API configuration.
[disorder] / server / Makefile.am
1 #
2 # This file is part of DisOrder.
3 # Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18 # USA
19 #
20
21 sbin_PROGRAMS=disorderd disorder-deadlock disorder-rescan disorder-dump \
22 disorder-speaker disorder-decode disorder-normalize \
23 disorder-stats disorder-dbupgrade
24 noinst_PROGRAMS=disorder.cgi trackname
25 noinst_DATA=uk.org.greenend.rjk.disorder.plist
26
27 AM_CPPFLAGS=-I${top_srcdir}/lib -I../lib
28
29 disorderd_SOURCES=disorderd.c \
30 api.c api-server.c \
31 daemonize.c daemonize.h \
32 play.c play.h \
33 server.c server.h \
34 server-queue.c server-queue.h \
35 state.c state.h \
36 exports.c \
37 ../lib/memgc.c
38 disorderd_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
39 $(LIBPCRE) $(LIBDB) $(LIBAO) $(LIBGC) $(LIBGCRYPT) $(LIBICONV)
40 disorderd_LDFLAGS=-export-dynamic
41 disorderd_DEPENDENCIES=../lib/libdisorder.a
42
43 disorder_deadlock_SOURCES=deadlock.c
44 disorder_deadlock_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
45 $(LIBDB) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
46 disorder_deadlock_DEPENDENCIES=../lib/libdisorder.a
47
48 disorder_speaker_SOURCES=speaker.c speaker.h \
49 speaker-command.c \
50 speaker-network.c \
51 speaker-coreaudio.c \
52 speaker-oss.c \
53 speaker-alsa.c
54 disorder_speaker_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
55 $(LIBASOUND) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(COREAUDIO)
56 disorder_speaker_DEPENDENCIES=../lib/libdisorder.a
57
58 disorder_decode_SOURCES=decode.c
59 disorder_decode_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
60 $(LIBMAD) $(LIBVORBISFILE) $(LIBFLAC)
61 disorder_decode_DEPENDENCIES=../lib/libdisorder.a
62
63 disorder_normalize_SOURCES=normalize.c
64 disorder_normalize_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
65 $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
66 disorder_normalize_DEPENDENCIES=../lib/libdisorder.a
67
68 disorder_rescan_SOURCES=rescan.c \
69 api.c api-server.c \
70 exports.c \
71 ../lib/memgc.c
72 disorder_rescan_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
73 $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
74 disorder_rescan_LDFLAGS=-export-dynamic
75 disorder_rescan_DEPENDENCIES=../lib/libdisorder.a
76
77 disorder_stats_SOURCES=stats.c
78 disorder_stats_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
79 $(LIBDB) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
80 disorder_stats_DEPENDENCIES=../lib/libdisorder.a
81
82 disorder_dump_SOURCES=dump.c \
83 ../lib/memgc.c
84 disorder_dump_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
85 $(LIBPCRE) $(LIBDB) $(LIBICONV) $(LIBGC) $(LIBGCRYPT)
86 disorder_dump_DEPENDENCIES=$(LIBOBJS) ../lib/libdisorder.a
87
88 disorder_dbupgrade_SOURCES=dbupgrade.c ../lib/memgc.c
89 disorder_dbupgrade_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
90 $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
91 disorder_dbupgrade_DEPENDENCIES=../lib/libdisorder.a
92
93 disorder_cgi_SOURCES=dcgi.c dcgi.h \
94 api.c api-client.c api-client.h \
95 cgi.c cgi.h cgimain.c exports.c
96 disorder_cgi_LDADD=../lib/libdisorder.a \
97 $(LIBPCRE) $(LIBGCRYPT) $(LIBDL) $(LIBDB)
98 disorder_cgi_LDFLAGS=-export-dynamic
99 disorder_cgi_DEPENDENCIES=../lib/libdisorder.a
100
101 trackname_SOURCES=trackname.c
102 trackname_LDADD=../lib/libdisorder.a $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
103 trackname_DEPENDENCIES=../lib/libdisorder.a
104
105 install-exec-hook:
106 $(LIBTOOL) --mode=finish $(DESTDIR)$(libdir)
107
108 check: check-help check-decode
109
110 # check everything has working --help and --version
111 check-help: all
112 ./disorderd --help > /dev/null
113 ./disorderd --version > /dev/null
114 ./disorder-dump --help > /dev/null
115 ./disorder-dump --version > /dev/null
116 ./disorder-deadlock --help > /dev/null
117 ./disorder-deadlock --version > /dev/null
118 ./trackname --help > /dev/null
119 ./trackname --version > /dev/null
120 ./disorder-speaker --help > /dev/null
121 ./disorder-speaker --version > /dev/null
122 ./disorder-decode --help > /dev/null
123 ./disorder-decode --version > /dev/null
124 ./disorder-normalize --help > /dev/null
125 ./disorder-normalize --version > /dev/null
126 ./disorder-stats --help > /dev/null
127 ./disorder-stats --version > /dev/null
128 ./disorder-dbupgrade --help > /dev/null
129 ./disorder-dbupgrade --version > /dev/null
130 ./disorder-rescan --help > /dev/null
131 ./disorder-rescan --version > /dev/null
132
133 # My sox doesn't know MP3 or FLAC unfortunately
134 check-decode: disorder-decode disorder-normalize
135 echo "speaker_backend network" > config
136 echo "broadcast 127.255.255.255 discard" > config
137 ./disorder-decode ${top_srcdir}/sounds/scratch.ogg | \
138 ./disorder-normalize --config config > decoded.raw
139 oggdec -b 16 -e 1 -R -s 1 -o oggdec.raw ${top_srcdir}/sounds/scratch.ogg
140 cmp decoded.raw oggdec.raw
141 sox ${top_srcdir}/sounds/scratch.ogg scratch.wav
142 ./disorder-decode scratch.wav | \
143 ./disorder-normalize --config config > decoded.raw
144 ls -l *.raw
145 cmp decoded.raw oggdec.raw
146 rm -f scratch.wav config decoded.raw oggdec.raw
147
148 cgi.o: ../lib/definitions.h
149
150 # for Mac OS X >=10.4
151 SEDFILES=uk.org.greenend.rjk.disorder.plist
152 include ${top_srcdir}/scripts/sedfiles.make
153 EXTRA_DIST=uk.org.greenend.rjk.disorder.plist.in README.dbversions
154 LAUNCHD=/Library/LaunchDaemons
155
156 #install-data-hook:
157 # @if [ -d ${LAUNCHD} ]; then \
158 # echo $(INSTALL) -m 644 uk.org.greenend.rjk.disorder.plist ${LAUNCHD};\
159 # $(INSTALL) -m 644 uk.org.greenend.rjk.disorder.plist ${LAUNCHD};\
160 # if [ "$$(NOLAUNCH)" != "" ]; then \
161 # echo launchctl unload ${LAUNCHD} \|\| true;\
162 # launchctl unload ${LAUNCHD} || true;\
163 # echo launchctl load ${LAUNCHD} \|\| true;\
164 # launchctl load ${LAUNCHD} || true;\
165 # fi;\
166 # fi