chiark / gitweb /
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/disorder
[disorder] / lib / Makefile.am
1 #
2 # This file is part of DisOrder.
3 # Copyright (C) 2004-2010, 2012, 2013 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 VPATH+=${top_srcdir}/common
20
21 noinst_LIBRARIES=libdisorder.a
22 include_HEADERS=disorder.h
23
24 if SERVER
25 TRACKDB=trackdb.c trackdb-playlists.c
26 else
27 TRACKDB=trackdb-stub.c
28 endif
29
30 libdisorder_a_SOURCES=charset.c charsetf.c charset.h    \
31         addr.c addr.h                                   \
32         authhash.c authhash.h                           \
33         basen.c basen.h                                 \
34         base64.c base64.h                               \
35         bits.c bits.h                                   \
36         byte-order.h                                    \
37         cache.c cache.h                                 \
38         cgi.c cgi.h                                     \
39         client.c client.h client-stubs.h                \
40         client-common.c client-common.h                 \
41         configuration.c configuration.h                 \
42         cookies.c cookies.h                             \
43         coreaudio.c coreaudio.h                         \
44         dateparse.c dateparse.h xgetdate.c              \
45         defs.c defs.h                                   \
46         eclient.c eclient.h eclient-stubs.h             \
47         email.c                                         \
48         eventdist.c eventdist.h                         \
49         event.c event.h                                 \
50         eventlog.c eventlog.h                           \
51         filepart.c filepart.h                           \
52         hash.c hash.h                                   \
53         heap.h                                          \
54         hex.c hex.h                                     \
55         home.c home.h                                   \
56         hostname.c hostname.h                           \
57         hreader.h                                       \
58         ifreq.c ifreq.h                                 \
59         inputline.c inputline.h                         \
60         kvp.c kvp.h                                     \
61         log.c log.h                                     \
62         logfd.c logfd.h                                 \
63         macros.c macros-builtin.c macros.h              \
64         mem.c mem.h                                     \
65         mime.h mime.c                                   \
66         printf.c printf.h                               \
67         asprintf.c fprintf.c snprintf.c                 \
68         queue.c queue.h                                 \
69         random.c random.h                               \
70         regexp.c regexp.h                               \
71         regsub.c regsub.h                               \
72         resample.c resample.h                           \
73         rights.c queue-rights.c rights.h                \
74         rtp.h                                           \
75         salsa208.c salsa208.h                           \
76         selection.c selection.h                         \
77         sendmail.c sendmail.h                           \
78         signame.c signame.h                             \
79         sink.c sink.h                                   \
80         socketio.c socketio.h                           \
81         speaker-protocol.c speaker-protocol.h           \
82         split.c split.h                                 \
83         strptime.c strptime.h                           \
84         syscalls.c syscallsrt.c syscalls.h              \
85         common.h                                        \
86         table.c table.h                                 \
87         timeval.h                                       \
88         $(TRACKDB) trackdb.h trackdb-int.h              \
89         trackname.c trackorder.c trackname.h            \
90         tracksort.c                                     \
91         uaudio.c uaudio-thread.c uaudio.h uaudio-apis.c \
92         uaudio-oss.c uaudio-alsa.c                      \
93         uaudio-pulseaudio.c                             \
94         uaudio-coreaudio.c                              \
95         uaudio-rtp.c uaudio-command.c uaudio-schedule.c \
96         url.h url.c                                     \
97         user.h user.c                                   \
98         unicode.h unicode.c                             \
99         unidata.h unidata.c                             \
100         vacopy.h                                        \
101         validity.c validity.h                           \
102         vector.c vector.h                               \
103         version.c version.h                             \
104         versionstring.c                                 \
105         wav.h                                           \
106         wstat.c wstat.h                                 \
107         disorder.h
108 nodist_libdisorder_a_SOURCES=hreader.c                  \
109         wav.c
110
111 version-string: ../config.status ${top_srcdir}/scripts/make-version-string
112         CC="${CC}" ${top_srcdir}/scripts/make-version-string > $@.new
113         @if cmp $@.new $@; then \
114                 echo rm -f $@.new; rm -f $@.new; else \
115                 echo mv $@.new $@; mv $@.new $@; fi
116
117 versionstring.c: version-string ${top_srcdir}/scripts/text2c
118         ${top_srcdir}/scripts/text2c -extern disorder_version_string \
119                 version-string > $@.new
120         @if cmp $@.new $@; then \
121                 echo rm -f $@.new; rm -f $@.new; else \
122                 echo mv $@.new $@; mv $@.new $@; fi
123
124 definitions.h: Makefile
125         rm -f $@.new
126         echo "/** @file lib/definitions.h" >> $@.new
127         echo " * @brief Definitions exported from makefile" >> $@.new
128         echo " *" >> $@.new
129         echo " * DO NOT EDIT." >> $@.new
130         echo " */" >> $@.new
131         echo "#define PKGLIBDIR \"${pkglibdir}\"" >> $@.new
132         echo "#define PKGCONFDIR \"${sysconfdir}/\"PACKAGE" >> $@.new
133         echo "#define PKGSTATEDIR \"${localstatedir}/\"PACKAGE" >> $@.new
134         echo "#define PKGDATADIR \"${pkgdatadir}/\"" >> $@.new
135         echo "#define DOCHTMLDIR \"${dochtmldir}\"" >> $@.new
136         echo "#define SBINDIR \"${sbindir}/\"" >> $@.new
137         echo "#define BINDIR \"${bindir}/\"" >> $@.new
138         echo "#define FINKBINDIR \"${finkbindir}/\"" >> $@.new
139         echo "#define SENDMAIL \"${SENDMAIL}\"" >> $@.new
140         @if cmp $@.new $@; then \
141                 echo rm -f $@.new; rm -f $@.new; else \
142                 echo mv $@.new $@; mv $@.new $@; fi
143 defs.o: definitions.h
144 defs.lo: definitions.h
145
146 client.o: client-stubs.c
147
148 rebuild-unicode:
149         cd ${srcdir} && ${top_srcdir}/scripts/make-unidata
150
151 CLEANFILES=definitions.h definitions.h.new version-string versionstring.[ch] \
152            *.gcda *.gcov *.gcno *.c.html index.html
153
154 EXTRA_DIST=trackdb.c trackdb-stub.c client-stubs.c eclient-stubs.c \
155         getopt.c getopt.h getopt1.c \
156         disorder-win32.c disorder-win32.h \
157         lib.vcxproj lib.vcxproj.filters