49 lines
1.4 KiB
Makefile
49 lines
1.4 KiB
Makefile
MUPDF_JS := libmupdf.js
|
|
MUPDF_WASM := libmupdf.wasm
|
|
|
|
SAMPLE_PDF := pdfref13.pdf
|
|
|
|
all: $(MUPDF_JS)
|
|
|
|
EMSDK_DIR := /opt/emsdk
|
|
MUPDF_CORE := ../../build/wasm/libmupdf.a ../../build/wasm/libmupdf-third.a
|
|
$(MUPDF_CORE) : .FORCE
|
|
$(MAKE) -j4 -C ../.. \
|
|
OUT=wasm build=release \
|
|
XCFLAGS='-DTOFU -DTOFU_CJK -DFZ_ENABLE_SVG=0 -DFZ_ENABLE_HTML=0 -DFZ_ENABLE_EPUB=0 -DFZ_ENABLE_JS=0' \
|
|
generate
|
|
BASH_SOURCE=$(EMSDK_DIR)/emsdk_env.sh; \
|
|
. $(EMSDK_DIR)/emsdk_env.sh; \
|
|
$(MAKE) -j4 -C ../.. \
|
|
OS=wasm build=release \
|
|
XCFLAGS='-DTOFU -DTOFU_CJK -DFZ_ENABLE_SVG=0 -DFZ_ENABLE_HTML=0 -DFZ_ENABLE_EPUB=0 -DFZ_ENABLE_JS=0' \
|
|
libs
|
|
|
|
wasm: $(MUPDF_JS) $(MUPDF_WASM)
|
|
$(MUPDF_JS) $(MUPDF_WASM) : $(MUPDF_CORE) wrap.c wrap.js
|
|
BASH_SOURCE=$(EMSDK_DIR)/emsdk_env.sh; . $(EMSDK_DIR)/emsdk_env.sh; \
|
|
emcc -Wall -Os -o $@ \
|
|
-s WASM=1 \
|
|
-s VERBOSE=0 \
|
|
-s ABORTING_MALLOC=0 \
|
|
-s TOTAL_MEMORY=134217728 \
|
|
-s EXTRA_EXPORTED_RUNTIME_METHODS='["ccall","cwrap"]' \
|
|
-s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE='[$$Browser,"memcpy","memset","malloc","free"]' \
|
|
-I ../../include \
|
|
--pre-js wrap.js \
|
|
wrap.c \
|
|
../../build/wasm/release/libmupdf.a \
|
|
../../build/wasm/release/libmupdf-third.a
|
|
|
|
run: $(SAMPLE_PDF) $(MUPDF_JS) $(MUDPF_WASM)
|
|
(sleep 3; xdg-open http://127.0.0.1:8000/view-page.html) &
|
|
python -m SimpleHTTPServer 8000
|
|
|
|
clean:
|
|
rm -f $(MUPDF_JS) $(MUPDF_WASM)
|
|
|
|
nuke: clean
|
|
$(MAKE) -C ../../ OS=wasm build=release clean
|
|
|
|
.PHONY: .FORCE clean
|