chiark / gitweb /
Add some comments
[disorder] / server / Makefile.am
1 #
2 # This file is part of DisOrder.
3 # Copyright (C) 2004-2009 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 3 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,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU 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, see <http://www.gnu.org/licenses/>.
17 #
18
19 sbin_PROGRAMS=disorderd disorder-deadlock disorder-rescan disorder-dump \
20               disorder-speaker disorder-decode disorder-normalize \
21               disorder-stats disorder-dbupgrade disorder-choose
22 noinst_PROGRAMS=trackname endian
23
24 AM_CPPFLAGS=-I${top_srcdir}/lib -I../lib
25
26 disorderd_SOURCES=disorderd.c api.c api-server.c daemonize.c play.c     \
27         server.c server-queue.c queue-ops.c state.c plugin.c            \
28         schedule.c dbparams.c background.c \
29         exports.c ../lib/memgc.c disorder-server.h
30 disorderd_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
31         $(LIBPCRE) $(LIBDB) $(LIBAO) $(LIBGC) $(LIBGCRYPT) $(LIBICONV) \
32         $(LIBASOUND) $(COREAUDIO)
33 disorderd_LDFLAGS=-export-dynamic
34 disorderd_DEPENDENCIES=../lib/libdisorder.a
35
36 disorder_deadlock_SOURCES=deadlock.c disorder-server.h
37 disorder_deadlock_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
38         $(LIBDB) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
39 disorder_deadlock_DEPENDENCIES=../lib/libdisorder.a
40
41 disorder_speaker_SOURCES=speaker.c
42 disorder_speaker_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
43         $(LIBASOUND) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT) $(COREAUDIO) \
44         $(LIBPTHREAD)
45 disorder_speaker_DEPENDENCIES=../lib/libdisorder.a
46
47 disorder_decode_SOURCES=decode.c disorder-server.h
48 disorder_decode_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
49         $(LIBMAD) $(LIBVORBISFILE) $(LIBFLAC)
50 disorder_decode_DEPENDENCIES=../lib/libdisorder.a
51
52 disorder_normalize_SOURCES=normalize.c disorder-server.h
53 disorder_normalize_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
54         $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
55 disorder_normalize_DEPENDENCIES=../lib/libdisorder.a
56
57 disorder_rescan_SOURCES=rescan.c plugin.c api.c api-server.c exports.c  \
58         ../lib/memgc.c disorder-server.h
59 disorder_rescan_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
60         $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
61 disorder_rescan_LDFLAGS=-export-dynamic
62 disorder_rescan_DEPENDENCIES=../lib/libdisorder.a
63
64 disorder_choose_SOURCES=choose.c server-queue.c ../lib/memgc.c  \
65                         disorder-server.h
66 disorder_choose_LDADD=$(LIBOBJS) ../lib/libdisorder.a   \
67         $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
68 disorder_choose_LDFLAGS=-export-dynamic
69 disorder_choose_DEPENDENCIES=../lib/libdisorder.a
70
71 disorder_stats_SOURCES=stats.c disorder-server.h
72 disorder_stats_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
73         $(LIBDB) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
74 disorder_stats_DEPENDENCIES=../lib/libdisorder.a
75
76 disorder_dump_SOURCES=dump.c disorder-server.h ../lib/memgc.c
77 disorder_dump_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
78         $(LIBPCRE) $(LIBDB) $(LIBICONV) $(LIBGC) $(LIBGCRYPT)
79 disorder_dump_DEPENDENCIES=$(LIBOBJS) ../lib/libdisorder.a
80
81 disorder_dbupgrade_SOURCES=dbupgrade.c ../lib/memgc.c disorder-server.h
82 disorder_dbupgrade_LDADD=$(LIBOBJS) ../lib/libdisorder.a \
83         $(LIBDB) $(LIBGC) $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
84 disorder_dbupgrade_DEPENDENCIES=../lib/libdisorder.a
85
86 trackname_SOURCES=trackname.c disorder-server.h
87 trackname_LDADD=../lib/libdisorder.a $(LIBPCRE) $(LIBICONV) $(LIBGCRYPT)
88 trackname_DEPENDENCIES=../lib/libdisorder.a
89
90 install-exec-hook:
91         $(LIBTOOL) --mode=finish $(DESTDIR)$(libdir)
92
93 check: check-help check-decode
94
95 # check everything has working --help and --version
96 check-help: all
97         ./disorderd --help > /dev/null
98         ./disorderd --version > /dev/null
99         ./disorder-dump --help > /dev/null
100         ./disorder-dump --version > /dev/null
101         ./disorder-deadlock --help > /dev/null
102         ./disorder-deadlock --version > /dev/null
103         ./trackname --help > /dev/null
104         ./trackname --version > /dev/null
105         ./disorder-speaker --help > /dev/null
106         ./disorder-speaker --version > /dev/null
107         ./disorder-decode --help > /dev/null
108         ./disorder-decode --version > /dev/null
109         ./disorder-normalize --help > /dev/null
110         ./disorder-normalize --version > /dev/null
111         ./disorder-stats --help > /dev/null
112         ./disorder-stats --version > /dev/null
113         ./disorder-dbupgrade --help > /dev/null
114         ./disorder-dbupgrade --version > /dev/null
115         ./disorder-rescan --help > /dev/null
116         ./disorder-rescan --version > /dev/null
117         ./disorder-choose --help > /dev/null
118         ./disorder-choose --version > /dev/null
119
120 check-decode: disorder-decode disorder-normalize endian
121         echo "speaker_backend network" > config
122         echo "broadcast 127.255.255.255 9" > config
123         oggdec -b 16 -e `./endian` -R -s 1 -o oggdec.raw ${top_srcdir}/sounds/scratch.ogg
124         @$(MAKE) check-ogg
125         @$(MAKE) check-wav
126         @if which flac >/dev/null 2>&1; then $(MAKE) check-flac; fi
127         rm -f config oggdec.raw
128
129 # TODO mp3 - but sox doesn't (reliably) know how to encode to it
130
131 check-ogg:
132         ./disorder-decode ${top_srcdir}/sounds/scratch.ogg | \
133           ./disorder-normalize --config config > ogged.raw
134         cmp ogged.raw oggdec.raw
135         rm -f ogged.raw
136
137 check-wav:
138         sox ${top_srcdir}/sounds/scratch.ogg scratch.wav
139         ./disorder-decode scratch.wav | \
140           ./disorder-normalize --config config > waved.raw
141         cmp waved.raw oggdec.raw
142         rm -rf scratch.wav waved.raw
143
144 check-flac:
145         rm -f scratch.wav scratch.flac
146         sox ${top_srcdir}/sounds/scratch.ogg scratch.wav
147         flac scratch.wav
148         ./disorder-decode scratch.flac | \
149           ./disorder-normalize --config config > flacced.raw
150         cmp flacced.raw oggdec.raw
151         rm -f scratch.flac scratch.wav flacced.raw
152
153 EXTRA_DIST=README.dbversions
154
155 CLEANFILES=*.gcda *.gcov *.gcno *.c.html index.html