Blob


1 .PHONY: all web clean distclean install install-web
3 VERSION = 0.15
4 PROG = amused
5 DISTNAME = ${PROG}-${VERSION}
7 SOURCES = amused.c \
8 compats.c \
9 control.c \
10 ctl.c \
11 ev.c \
12 log.c \
13 player.c \
14 player_123.c \
15 player_flac.c \
16 player_oggvorbis.c \
17 player_opus.c \
18 playlist.c \
19 xmalloc.c
21 OBJS = ${SOURCES:.c=.o} audio_${BACKEND}.o
23 HEADERS = amused.h \
24 control.h \
25 ev.h \
26 log.h \
27 playlist.h \
28 xmalloc.h
30 DISTFILES = CHANGES \
31 LICENSE \
32 Makefile \
33 README.md \
34 amused.1 \
35 configure \
36 configure.local.example \
37 endian.h \
38 imsg.h \
39 queue.h \
40 tests.c \
41 ${HEADERS} \
42 ${SOURCES} \
43 audio_alsa.c \
44 audio_ao.c \
45 audio_oboe.cpp \
46 audio_sndio.c
48 all: ${PROG}
50 Makefile.configure config.h: configure tests.c
51 @echo "$@ is out of date; please run ./configure"
52 @exit 1
54 include Makefile.configure
56 # -- targets --
58 ${PROG}: ${OBJS}
59 ${CC} -o $@ ${OBJS} ${LDFLAGS} ${LDADD} ${LDADD_LIB_IMSG} \
60 ${LDADD_DECODERS} ${LDADD_LIB_SOCKET} ${LDADD_BACKEND}
62 web:
63 ${MAKE} -C web
65 clean:
66 rm -f ${OBJS} ${OBJS:.o=.d} ${PROG}
67 -${MAKE} -C web clean
69 distclean: clean
70 rm -f Makefile.configure config.h config.h.old config.log config.log.old
72 install:
73 mkdir -p ${DESTDIR}${BINDIR}
74 mkdir -p ${DESTDIR}${MANDIR}/man1
75 ${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${BINDIR}
76 ${INSTALL_MAN} amused.1 ${DESTDIR}${MANDIR}/man1/${PROG}.1
78 install-web:
79 ${MAKE} -C web install
81 install-local:
82 mkdir -p ${HOME}/bin
83 ${INSTALL_PROGRAM} ${PROG} ${HOME}/bin
84 ${MAKE} -C web install-local
86 uninstall:
87 rm ${DESTDIR}${BINDIR}/${PROG}
88 rm ${DESTDIR}${MANDIR}/man1/${PROG}.1
90 # --- maintainer targets ---
92 dist: ${DISTNAME}.sha256
94 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
95 sha256 ${DISTNAME}.tar.gz > $@
97 ${DISTNAME}.tar.gz: ${DISTFILES}
98 mkdir -p .dist/${DISTNAME}
99 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
100 cd .dist/${DISTNAME} && chmod 755 configure
101 cd .dist/${DISTNAME} && cp -R ../../contrib . && \
102 chmod 755 contrib/amused-monitor
103 ${MAKE} -C web DESTDIR=${PWD}/.dist/${DISTNAME}/web dist
104 cd .dist && tar zcf ../$@ ${DISTNAME}
105 rm -rf .dist/
107 # --- dependency management ---
109 # these .d files are produced during the first build if the compiler
110 # supports it.
112 -include amused.d
113 -include audio_alsa.d
114 -include audio_ao.d
115 -include audio_oboe.d
116 -include audio_sndio.d
117 -include compats.d
118 -include control.d
119 -include ctl.d
120 -include ev.d
121 -include log.d
122 -include player.d
123 -include player_123.d
124 -include player_flac.d
125 -include player_oggvorbis.d
126 -include player_opus.d
127 -include playlist.d
128 -include xmalloc.d