-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
54 lines (46 loc) · 1.7 KB
/
Makefile
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
OGG_FILE=libogg-1.3.4
VORBIS_FILE=libvorbis-1.3.6
TOOLS_FILE=vorbis-tools-1.4.0
PREFIX=${PWD}
oggdec.js: ${TOOLS_FILE}/oggdec/oggdec.o pre.js
EMCC_CLOSURE_ARGS="--language_in ECMASCRIPT6" \
emcc ${TOOLS_FILE}/oggdec/oggdec.o -o oggdec.js \
-O3 --closure 1 --llvm-lto 1 \
--pre-js pre.js \
-s EXTRA_EXPORTED_RUNTIME_METHODS='["FS", "callMain"]' \
-s SINGLE_FILE=1 \
-s MODULARIZE=1 \
-s INVOKE_RUN=0 \
-s ENVIRONMENT=web \
-s ERROR_ON_UNDEFINED_SYMBOLS=0 \
-llibvorbisfile -llibvorbis -llibogg -Llib
sed -i.bak '1s;^;\/* eslint-disable *\/;' oggdec.js
${TOOLS_FILE}/oggdec/oggdec.o: ${TOOLS_FILE}/oggdec/oggdec.c
cd "${TOOLS_FILE}/oggdec" \
&& emmake make
${TOOLS_FILE}/oggdec/oggdec.c: ${PREFIX}/lib/libvorbisfile.a
curl -L "https://downloads.xiph.org/releases/vorbis/${TOOLS_FILE}.tar.gz" | tar xz
cd "${TOOLS_FILE}" \
&& sed -i.bak 's/x$$ac_cv_have_decl_OV_ECTL_COUPLING_SET/xyes/' configure \
&& emconfigure ./configure --prefix=${PREFIX} \
--disable-shared \
--disable-oggenc \
--disable-vorbiscomment \
--disable-vcut \
--disable-ogginfo \
--disable-ogg123 \
--disable-curltest \
--without-speex \
--without-flac \
&& emmake make install \
&& sed -i.bak 's/#include "i18n.h"/char *_ (char *text) { return text; }/' oggdec/oggdec.c
${PREFIX}/lib/libvorbisfile.a: ${PREFIX}/lib/libogg.a
curl -L "https://downloads.xiph.org/releases/vorbis/${VORBIS_FILE}.tar.xz" | tar xJ
cd "${VORBIS_FILE}" \
&& emconfigure ./configure --disable-shared --prefix="${PREFIX}" \
&& emmake make install
${PREFIX}/lib/libogg.a:
curl -L "https://downloads.xiph.org/releases/ogg/${OGG_FILE}.tar.xz" | tar xJ
cd "${OGG_FILE}" \
&& emconfigure ./configure --disable-shared --prefix="${PREFIX}" \
&& emmake make install