blob: ab29ced0ca2ee313ed60603554736a512f496ee4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# makefile of pianobar
PREFIX:=/usr/local
BINDIR:=${PREFIX}/bin
LIBDIR:=${PREFIX}/lib
MANDIR:=${PREFIX}/share/man
CFLAGS:=-O2 -DNDEBUG
LDFLAGS:=
CC:=c99
PIANOBAR_DIR=src
PIANOBAR_SRC=\
${PIANOBAR_DIR}/main.c \
${PIANOBAR_DIR}/player.c \
${PIANOBAR_DIR}/settings.c \
${PIANOBAR_DIR}/terminal.c \
${PIANOBAR_DIR}/ui_act.c \
${PIANOBAR_DIR}/ui.c \
${PIANOBAR_DIR}/ui_readline.c \
${PIANOBAR_DIR}/ui_dispatch.c
PIANOBAR_HDR=\
${PIANOBAR_DIR}/player.h \
${PIANOBAR_DIR}/settings.h \
${PIANOBAR_DIR}/terminal.h \
${PIANOBAR_DIR}/ui_act.h \
${PIANOBAR_DIR}/ui.h \
${PIANOBAR_DIR}/ui_readline.h \
${PIANOBAR_DIR}/main.h \
${PIANOBAR_DIR}/config.h
PIANOBAR_OBJ=${PIANOBAR_SRC:.c=.o}
LIBPIANO_DIR=src/libpiano
LIBPIANO_SRC=\
${LIBPIANO_DIR}/crypt.c \
${LIBPIANO_DIR}/piano.c \
${LIBPIANO_DIR}/xml.c
LIBPIANO_HDR=\
${LIBPIANO_DIR}/config.h \
${LIBPIANO_DIR}/crypt_key_output.h \
${LIBPIANO_DIR}/xml.h \
${LIBPIANO_DIR}/crypt.h \
${LIBPIANO_DIR}/piano.h \
${LIBPIANO_DIR}/crypt_key_input.h \
${LIBPIANO_DIR}/piano_private.h
LIBPIANO_OBJ=${LIBPIANO_SRC:.c=.o}
LIBPIANO_RELOBJ=${LIBPIANO_SRC:.c=.lo}
LIBPIANO_INCLUDE=${LIBPIANO_DIR}
LIBWAITRESS_DIR=src/libwaitress
LIBWAITRESS_SRC=${LIBWAITRESS_DIR}/waitress.c
LIBWAITRESS_HDR=\
${LIBWAITRESS_DIR}/config.h \
${LIBWAITRESS_DIR}/waitress.h
LIBWAITRESS_OBJ=${LIBWAITRESS_SRC:.c=.o}
LIBWAITRESS_RELOBJ=${LIBWAITRESS_SRC:.c=.lo}
LIBWAITRESS_INCLUDE=${LIBWAITRESS_DIR}
LIBEZXML_DIR=src/libezxml
LIBEZXML_SRC=${LIBEZXML_DIR}/ezxml.c
LIBEZXML_HDR=${LIBEZXML_DIR}/ezxml.h
LIBEZXML_OBJ=${LIBEZXML_SRC:.c=.o}
LIBEZXML_RELOBJ=${LIBEZXML_SRC:.c=.lo}
LIBEZXML_INCLUDE=${LIBEZXML_DIR}
ifeq (${DISABLE_FAAD}, 1)
LIBFAAD_CFLAGS=
LIBFAAD_LDFLAGS=
else
LIBFAAD_CFLAGS=-DENABLE_FAAD
LIBFAAD_LDFLAGS=-lfaad
endif
ifeq (${DISABLE_MAD}, 1)
LIBMAD_CFLAGS=
LIBMAD_LDFLAGS=
else
LIBMAD_CFLAGS=-DENABLE_MAD
LIBMAD_LDFLAGS=-lmad
endif
# build pianobar
pianobar: ${PIANOBAR_OBJ} ${PIANOBAR_HDR} ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} \
${LIBWAITRESS_HDR} ${LIBEZXML_OBJ} ${LIBEZXML_HDR}
${CC} ${CFLAGS} ${LDFLAGS} -lao -lpthread -lm ${LIBFAAD_LDFLAGS} \
${LIBMAD_LDFLAGS} -o $@ ${PIANOBAR_OBJ} ${LIBPIANO_OBJ} \
${LIBWAITRESS_OBJ} ${LIBEZXML_OBJ}
# build shared libpiano
libpiano: ${LIBPIANO_RELOBJ} ${LIBPIANO_HDR} ${LIBWAITRESS_RELOBJ} \
${LIBWAITRESS_HDR} ${LIBEZXML_RELOBJ} ${LIBEZXML_HDR}
${CC} -shared ${CFLAGS} ${LDFLAGS} -o $@.so.0.0.0 ${LIBPIANO_RELOBJ} \
${LIBWAITRESS_RELOBJ} ${LIBEZXML_RELOBJ}
%.o: %.c
${CC} ${CFLAGS} -I ${LIBPIANO_INCLUDE} -I ${LIBWAITRESS_INCLUDE} \
-I ${LIBEZXML_INCLUDE} ${LIBFAAD_CFLAGS} \
${LIBMAD_CFLAGS} -c -o $@ $<
# create position independent code (for shared libraries)
%.lo: %.c
${CC} ${CFLAGS} -I ${LIBPIANO_INCLUDE} -I ${LIBWAITRESS_INCLUDE} \
-I ${LIBEZXML_INCLUDE} -c -fPIC -o $@ $<
clean:
${RM} ${PIANOBAR_OBJ} ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} ${LIBEZXML_OBJ} \
${LIBPIANO_RELOBJ} ${LIBWAITRESS_RELOBJ} ${LIBEZXML_RELOBJ} pianobar \
libpiano.so.0.0.0
all: pianobar libpiano
debug: pianobar
debug: CFLAGS=-Wall -pedantic -ggdb
install: pianobar
install -d ${DESTDIR}/${BINDIR}/
install -m755 pianobar ${DESTDIR}/${BINDIR}/
install -d ${DESTDIR}/${MANDIR}/man1/
install -m644 contrib/pianobar.1 ${DESTDIR}/${MANDIR}/man1/
install-libpiano: libpiano
install -d ${DESTDIR}/${LIBDIR}/
install -m755 libpiano.so.0.0.0 ${DESTDIR}/${LIBDIR}/
|