summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2017-03-16 11:50:41 +0100
committerTor Andersson <tor.andersson@artifex.com>2017-03-21 22:28:02 +0100
commit86d07c5bd8cbd0ddae3b5fe42cf0410295296748 (patch)
tree3236232b555ef9f71e9545c51a9107767de75b98 /Makefile
parent87b0a4d253ab1549b351389f658238fe32a28da1 (diff)
downloadmupdf-86d07c5bd8cbd0ddae3b5fe42cf0410295296748.tar.xz
Replace fontdump, bin2hex and cquote with one tool: hexdump.
Still need specialty tools for namedump and cmapdump.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile242
1 files changed, 145 insertions, 97 deletions
diff --git a/Makefile b/Makefile
index 787f34d9..c68eddc2 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,21 @@ CFLAGS += $(MUJS_CFLAGS)
CFLAGS += $(OPENJPEG_CFLAGS)
CFLAGS += $(ZLIB_CFLAGS)
+ALL_DIR := $(OUT)/fitz
+ALL_DIR += $(OUT)/pdf
+ALL_DIR += $(OUT)/xps
+ALL_DIR += $(OUT)/svg
+ALL_DIR += $(OUT)/cbz
+ALL_DIR += $(OUT)/html
+ALL_DIR += $(OUT)/gprf
+ALL_DIR += $(OUT)/tools
+ALL_DIR += $(OUT)/helpers
+ALL_DIR += $(OUT)/helpers/mu-threads
+ALL_DIR += $(OUT)/platform/x11
+ALL_DIR += $(OUT)/platform/x11/curl
+ALL_DIR += $(OUT)/platform/gl
+ALL_DIR += $(OUT)/fonts
+
# --- Commands ---
ifneq "$(verbose)" "yes"
@@ -63,22 +78,49 @@ RM_CMD = $(QUIET_RM) rm -f $@
TAGS_CMD = $(QUIET_TAGS) ctags $^
WINDRES_CMD = $(QUIET_WINDRES) $(WINDRES) $< $@
-# --- File lists ---
+# --- Rules ---
-ALL_DIR := $(OUT)/fitz
-ALL_DIR += $(OUT)/pdf
-ALL_DIR += $(OUT)/xps
-ALL_DIR += $(OUT)/svg
-ALL_DIR += $(OUT)/cbz
-ALL_DIR += $(OUT)/html
-ALL_DIR += $(OUT)/gprf
-ALL_DIR += $(OUT)/tools
-ALL_DIR += $(OUT)/helpers
-ALL_DIR += $(OUT)/helpers/mu-threads
-ALL_DIR += $(OUT)/platform/x11
-ALL_DIR += $(OUT)/platform/x11/curl
-ALL_DIR += $(OUT)/platform/gl
-ALL_DIR += $(OUT)/fonts
+$(ALL_DIR) $(OUT) $(GEN) :
+ $(MKDIR_CMD)
+
+$(OUT)/%.a :
+ $(RM_CMD)
+ $(AR_CMD)
+ $(RANLIB_CMD)
+
+$(OUT)/%: $(OUT)/%.o
+ $(LINK_CMD)
+
+$(OUT)/%.o : source/%.c | $(ALL_DIR)
+ $(CC_CMD)
+
+$(OUT)/%.o : source/%.cpp | $(ALL_DIR)
+ $(CXX_CMD)
+
+$(OUT)/helpers/%.o : source/helpers/%.c | $(ALL_DIR)
+ $(CC_CMD) $(PTHREAD_CFLAGS) -DHAVE_PTHREAD
+
+$(OUT)/%.o : scripts/%.c | $(OUT)
+ $(CC_CMD)
+
+$(OUT)/fonts/%.o : $(GEN)/%.c | $(ALL_DIR)
+ $(CC_CMD) -O0
+
+$(OUT)/platform/x11/%.o : platform/x11/%.c | $(ALL_DIR)
+ $(CC_CMD) $(X11_CFLAGS)
+
+$(OUT)/platform/x11/%.o: platform/x11/%.rc | $(OUT)
+ $(WINDRES_CMD)
+
+$(OUT)/platform/x11/curl/%.o : platform/x11/%.c | $(ALL_DIR)
+ $(CC_CMD) $(X11_CFLAGS) $(CURL_CFLAGS) -DHAVE_CURL
+
+$(OUT)/platform/gl/%.o : platform/gl/%.c | $(ALL_DIR)
+ $(CC_CMD) $(GLFW_CFLAGS)
+
+.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules
+
+# --- File lists ---
FITZ_HDR := include/mupdf/fitz.h $(wildcard include/mupdf/fitz/*.h)
PDF_HDR := include/mupdf/pdf.h $(wildcard include/mupdf/pdf/*.h)
@@ -122,6 +164,8 @@ $(THREAD_OBJ) : $(THREAD_HDR)
# --- Generated embedded font files ---
+HEXDUMP := $(OUT)/hexdump
+
FONT_BIN_DROID := $(wildcard resources/fonts/droid/*.ttf)
FONT_BIN_NOTO := $(wildcard resources/fonts/noto/*.ttf)
FONT_BIN_HAN := $(wildcard resources/fonts/han/*.otf)
@@ -138,16 +182,16 @@ FONT_BIN := $(FONT_BIN_DROID) $(FONT_BIN_NOTO) $(FONT_BIN_HAN) $(FONT_BIN_URW) $
FONT_GEN := $(FONT_GEN_DROID) $(FONT_GEN_NOTO) $(FONT_GEN_HAN) $(FONT_GEN_URW) $(FONT_GEN_SIL)
FONT_OBJ := $(subst $(GEN)/, $(OUT)/fonts/, $(addsuffix .o, $(basename $(FONT_GEN))))
-$(GEN)/%.c : resources/fonts/droid/%.ttf $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/noto/%.ttf $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/han/%.otf $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/urw/%.cff $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
-$(GEN)/%.c : resources/fonts/sil/%.cff $(FONTDUMP)
- $(QUIET_GEN) $(FONTDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/droid/%.ttf $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/noto/%.ttf $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/han/%.otf $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/urw/%.cff $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
+$(GEN)/%.c : resources/fonts/sil/%.cff $(HEXDUMP)
+ $(QUIET_GEN) $(HEXDUMP) $@ $<
$(FONT_OBJ) : $(FONT_GEN)
$(FONT_GEN_DROID) : $(FONT_BIN_DROID)
@@ -156,71 +200,45 @@ $(FONT_GEN_HAN) : $(FONT_BIN_HAN)
$(FONT_GEN_URW) : $(FONT_BIN_URW)
$(FONT_GEN_SIL) : $(FONT_BIN_SIL)
-# --- Library ---
-
-MUPDF_LIB = $(OUT)/libmupdf.a
-THIRD_LIB = $(OUT)/libmupdfthird.a
-THREAD_LIB = $(OUT)/libmuthreads.a
-
-MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(SVG_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ)
-THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ)
-THREAD_OBJ := $(THREAD_OBJ)
-
-$(MUPDF_LIB) : $(MUPDF_OBJ)
-$(THIRD_LIB) : $(THIRD_OBJ)
-$(THREAD_LIB) : $(THREAD_OBJ)
-
-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
-
-# --- Rules ---
-
-$(ALL_DIR) $(OUT) $(GEN) :
- $(MKDIR_CMD)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(FONT_GEN) : $(HEXDUMP) | $(GEN)
+endif
-$(OUT)/%.a :
- $(RM_CMD)
- $(AR_CMD)
- $(RANLIB_CMD)
+generate: $(FONT_GEN)
-$(OUT)/%: $(OUT)/%.o
- $(LINK_CMD)
+# --- Generated embedded certificate files ---
-$(OUT)/%.o : source/%.c | $(ALL_DIR)
- $(CC_CMD)
+ADOBECA_SRC := resources/certs/AdobeCA.p7c
+ADOBECA_GEN := $(GEN)/gen_adobe_ca.h
+$(ADOBECA_GEN) : $(ADOBECA_SRC)
+ $(QUIET_GEN) $(HEXDUMP) $@ $(ADOBECA_SRC)
-$(OUT)/%.o : source/%.cpp | $(ALL_DIR)
- $(CXX_CMD)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(ADOBECA_GEN) : $(HEXDUMP) | $(GEN)
+endif
-$(OUT)/helpers/%.o : source/helpers/%.c | $(ALL_DIR)
- $(CC_CMD) $(PTHREAD_CFLAGS) -DHAVE_PTHREAD
+$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN)
-$(OUT)/%.o : scripts/%.c | $(OUT)
- $(CC_CMD)
+generate: $(ADOBECA_GEN)
-$(OUT)/fonts/%.o : $(GEN)/%.c | $(ALL_DIR)
- $(CC_CMD) -O0
+# --- Generated embedded javascript files ---
-$(OUT)/platform/x11/%.o : platform/x11/%.c | $(ALL_DIR)
- $(CC_CMD) $(X11_CFLAGS)
+JAVASCRIPT_SRC := source/pdf/pdf-js-util.js
+JAVASCRIPT_GEN := $(GEN)/gen_js_util.h
+$(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC)
+ $(QUIET_GEN) $(HEXDUMP) $@ $(JAVASCRIPT_SRC)
-$(OUT)/platform/x11/%.o: platform/x11/%.rc | $(OUT)
- $(WINDRES_CMD)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(JAVASCRIPT_GEN) : $(HEXDUMP) | $(GEN)
+endif
-$(OUT)/platform/x11/curl/%.o : platform/x11/%.c | $(ALL_DIR)
- $(CC_CMD) $(X11_CFLAGS) $(CURL_CFLAGS) -DHAVE_CURL
+$(OUT)/pdf/pdf-js.o : $(JAVASCRIPT_GEN)
-$(OUT)/platform/gl/%.o : platform/gl/%.c | $(ALL_DIR)
- $(CC_CMD) $(GLFW_CFLAGS)
+generate: $(JAVASCRIPT_GEN)
-.PRECIOUS : $(OUT)/%.o # Keep intermediates from chained rules
-
-# --- Generated CMap and JavaScript files ---
+# --- Generated CMap files ---
CMAPDUMP := $(OUT)/cmapdump
-FONTDUMP := $(OUT)/fontdump
-NAMEDUMP := $(OUT)/namedump
-CQUOTE := $(OUT)/cquote
-BIN2HEX := $(OUT)/bin2hex
CMAP_CJK_SRC := $(wildcard resources/cmaps/cjk/*)
CMAP_EXTRA_SRC := $(wildcard resources/cmaps/extra/*)
@@ -238,36 +256,66 @@ $(GEN)/gen_cmap_utf32.h : $(CMAP_UTF32_SRC)
CMAP_GEN := $(addprefix $(GEN)/, gen_cmap_cjk.h gen_cmap_extra.h gen_cmap_utf8.h gen_cmap_utf32.h)
+ifneq "$(CROSSCOMPILE)" "yes"
+$(CMAP_GEN) : $(CMAPDUMP) | $(GEN)
+endif
+
+$(OUT)/cmapdump.o : \
+ include/mupdf/pdf/cmap.h \
+ source/pdf/pdf-name-table.h \
+ source/fitz/context.c \
+ source/fitz/error.c \
+ source/fitz/memory.c \
+ source/fitz/output.c \
+ source/fitz/string.c \
+ source/fitz/buffer.c \
+ source/fitz/stream-open.c \
+ source/fitz/stream-read.c \
+ source/fitz/strtod.c \
+ source/fitz/strtof.c \
+ source/fitz/ftoa.c \
+ source/fitz/printf.c \
+ source/fitz/time.c \
+ source/pdf/pdf-lex.c \
+ source/pdf/pdf-cmap.c \
+ source/pdf/pdf-cmap-parse.c \
+
+$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN)
+
+generate: $(CMAP_GEN)
+
+# --- Generated PDF name tables ---
+
+NAMEDUMP := $(OUT)/namedump
+
include/mupdf/pdf.h : include/mupdf/pdf/name-table.h
NAME_GEN := include/mupdf/pdf/name-table.h source/pdf/pdf-name-table.h
$(NAME_GEN) : resources/pdf/names.txt
$(QUIET_GEN) $(NAMEDUMP) resources/pdf/names.txt $(NAME_GEN)
-JAVASCRIPT_SRC := source/pdf/pdf-js-util.js
-JAVASCRIPT_GEN := $(GEN)/gen_js_util.h
-$(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC)
- $(QUIET_GEN) $(CQUOTE) $@ $(JAVASCRIPT_SRC)
-
-ADOBECA_SRC := resources/certs/AdobeCA.p7c
-ADOBECA_GEN := $(GEN)/gen_adobe_ca.h
-$(ADOBECA_GEN) : $(ADOBECA_SRC)
- $(QUIET_GEN) $(BIN2HEX) $@ $(ADOBECA_SRC)
-
ifneq "$(CROSSCOMPILE)" "yes"
-$(CMAP_GEN) : $(CMAPDUMP) | $(GEN)
-$(FONT_GEN) : $(FONTDUMP) | $(GEN)
-$(NAME_GEN) : $(NAMEDUMP) | $(GEN)
-$(JAVASCRIPT_GEN) : $(CQUOTE) | $(GEN)
-$(ADOBECA_GEN) : $(BIN2HEX) | $(GEN)
+$(NAME_GEN) : $(NAMEDUMP)
endif
-generate: $(CMAP_GEN) $(FONT_GEN) $(JAVASCRIPT_GEN) $(ADOBECA_GEN) $(NAME_GEN)
-
-$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN)
-$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN)
-$(OUT)/pdf/pdf-js.o : $(JAVASCRIPT_GEN)
$(OUT)/pdf/pdf-object.o : source/pdf/pdf-name-table.h
-$(OUT)/cmapdump.o : include/mupdf/pdf/cmap.h source/fitz/context.c source/fitz/error.c source/fitz/memory.c source/fitz/output.c source/fitz/string.c source/fitz/buffer.c source/fitz/stream-open.c source/fitz/stream-read.c source/fitz/strtod.c source/fitz/strtof.c source/fitz/ftoa.c source/fitz/printf.c source/fitz/time.c source/pdf/pdf-lex.c source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h
+
+generate: $(NAME_GEN)
+
+# --- Library ---
+
+MUPDF_LIB = $(OUT)/libmupdf.a
+THIRD_LIB = $(OUT)/libmupdfthird.a
+THREAD_LIB = $(OUT)/libmuthreads.a
+
+MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(SVG_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ)
+THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ)
+THREAD_OBJ := $(THREAD_OBJ)
+
+$(MUPDF_LIB) : $(MUPDF_OBJ)
+$(THIRD_LIB) : $(THIRD_OBJ)
+$(THREAD_LIB) : $(THREAD_OBJ)
+
+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
# --- Tools and Apps ---