From 86d07c5bd8cbd0ddae3b5fe42cf0410295296748 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Thu, 16 Mar 2017 11:50:41 +0100 Subject: Replace fontdump, bin2hex and cquote with one tool: hexdump. Still need specialty tools for namedump and cmapdump. --- Makefile | 242 ++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 145 insertions(+), 97 deletions(-) (limited to 'Makefile') 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 --- -- cgit v1.2.3