From f93f4471402021c72a7c17e445caa02537251dc3 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 21 Mar 2017 14:28:18 +0100 Subject: Clean up makefiles. --- Makefile | 273 +++++++++++++++++++++++++++++++------------------------------- Makerules | 4 +- Makethird | 40 ++++----- 3 files changed, 158 insertions(+), 159 deletions(-) diff --git a/Makefile b/Makefile index c68eddc2..c31317f4 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,6 @@ build ?= release OUT := build/$(build) -GEN := generated default: all @@ -15,15 +14,15 @@ include Makethird # Do not specify CFLAGS or LIBS on the make invocation line - specify # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that # set a variable that was set on the command line. -CFLAGS += $(XCFLAGS) -Iinclude -I$(GEN) +CFLAGS += $(XCFLAGS) -Iinclude -Igenerated LIBS += $(XLIBS) -lm LIBS += $(FREETYPE_LIBS) LIBS += $(HARFBUZZ_LIBS) LIBS += $(JBIG2DEC_LIBS) -LIBS += $(JPEG_LIBS) LIBS += $(JPEGXR_LIB) LIBS += $(LIBCRYPTO_LIBS) +LIBS += $(LIBJPEG_LIBS) LIBS += $(LURATECH_LIBS) LIBS += $(MUJS_LIBS) LIBS += $(OPENJPEG_LIBS) @@ -32,28 +31,29 @@ LIBS += $(ZLIB_LIBS) CFLAGS += $(FREETYPE_CFLAGS) CFLAGS += $(HARFBUZZ_CFLAGS) CFLAGS += $(JBIG2DEC_CFLAGS) -CFLAGS += $(JPEG_CFLAGS) CFLAGS += $(JPEGXR_CFLAGS) CFLAGS += $(LIBCRYPTO_CFLAGS) +CFLAGS += $(LIBJPEG_CFLAGS) CFLAGS += $(LURATECH_CFLAGS) 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)/generated +ALL_DIR += $(OUT)/scripts +ALL_DIR += $(OUT)/source/fitz +ALL_DIR += $(OUT)/source/pdf +ALL_DIR += $(OUT)/source/xps +ALL_DIR += $(OUT)/source/svg +ALL_DIR += $(OUT)/source/cbz +ALL_DIR += $(OUT)/source/html +ALL_DIR += $(OUT)/source/gprf +ALL_DIR += $(OUT)/source/tools +ALL_DIR += $(OUT)/source/helpers +ALL_DIR += $(OUT)/source/helpers/mu-threads ALL_DIR += $(OUT)/platform/x11 ALL_DIR += $(OUT)/platform/x11/curl ALL_DIR += $(OUT)/platform/gl -ALL_DIR += $(OUT)/fonts # --- Commands --- @@ -80,7 +80,7 @@ WINDRES_CMD = $(QUIET_WINDRES) $(WINDRES) $< $@ # --- Rules --- -$(ALL_DIR) $(OUT) $(GEN) : +$(ALL_DIR) $(OUT) generated : $(MKDIR_CMD) $(OUT)/%.a : @@ -88,28 +88,25 @@ $(OUT)/%.a : $(AR_CMD) $(RANLIB_CMD) -$(OUT)/%: $(OUT)/%.o +$(OUT)/%.exe: $(OUT)/%.o | $(ALL_DIR) $(LINK_CMD) -$(OUT)/%.o : source/%.c | $(ALL_DIR) +$(OUT)/%.o : %.c | $(ALL_DIR) $(CC_CMD) -$(OUT)/%.o : source/%.cpp | $(ALL_DIR) +$(OUT)/%.o : %.cpp | $(ALL_DIR) $(CXX_CMD) -$(OUT)/helpers/%.o : source/helpers/%.c | $(ALL_DIR) +$(OUT)/source/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) +$(OUT)/generated/%.o : generated/%.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) +$(OUT)/platform/x11/%.o: platform/x11/%.rc | $(ALL_DIR) $(WINDRES_CMD) $(OUT)/platform/x11/curl/%.o : platform/x11/%.c | $(ALL_DIR) @@ -144,27 +141,44 @@ SVG_SRC_HDR := $(wildcard source/svg/*.h) HTML_SRC_HDR := $(wildcard source/html/*.h) GPRF_SRC_HDR := $(wildcard source/gprf/*.h) -FITZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(FITZ_SRC)))) -PDF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(PDF_SRC)))) -XPS_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(XPS_SRC)))) -SVG_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(SVG_SRC)))) -CBZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(CBZ_SRC)))) -HTML_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(HTML_SRC)))) -GPRF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(GPRF_SRC)))) -THREAD_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(THREAD_SRC)))) +FITZ_OBJ := $(FITZ_SRC:%.c=$(OUT)/%.o) +PDF_OBJ := $(PDF_SRC:%.c=$(OUT)/%.o) +XPS_OBJ := $(XPS_SRC:%.c=$(OUT)/%.o) +SVG_OBJ := $(SVG_SRC:%.c=$(OUT)/%.o) +CBZ_OBJ := $(CBZ_SRC:%.c=$(OUT)/%.o) +HTML_OBJ := $(HTML_SRC:%.c=$(OUT)/%.o) +GPRF_OBJ := $(GPRF_SRC:%.c=$(OUT)/%.o) +THREAD_OBJ := $(THREAD_SRC:%.c=$(OUT)/%.o) $(FITZ_OBJ) : $(FITZ_HDR) $(FITZ_SRC_HDR) $(PDF_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(PDF_SRC_HDR) -$(XPS_OBJ) : $(FITZ_HDR) $(XPS_SRC_HDR) +$(XPS_OBJ) : $(FITZ_HDR) $(XPS_HDR) $(XPS_SRC_HDR) $(SVG_OBJ) : $(FITZ_HDR) $(SVG_HDR) $(SVG_SRC_HDR) -$(CBZ_OBJ) : $(FITZ_HDR) +$(CBZ_OBJ) : $(FITZ_HDR) $(CBZ_HDR) $(CBZ_SRC_HDR) $(HTML_OBJ) : $(FITZ_HDR) $(HTML_HDR) $(HTML_SRC_HDR) $(GPRF_OBJ) : $(FITZ_HDR) $(GPRF_HDR) $(GPRF_SRC_HDR) $(THREAD_OBJ) : $(THREAD_HDR) +# --- Generated PDF name tables --- + +NAMEDUMP_EXE := $(OUT)/scripts/namedump.exe + +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_EXE) resources/pdf/names.txt $(NAME_GEN) + +ifneq "$(CROSSCOMPILE)" "yes" +$(NAME_GEN) : $(NAMEDUMP_EXE) +endif + +$(OUT)/source/pdf/pdf-object.o : source/pdf/pdf-name-table.h + +generate: $(NAME_GEN) + # --- Generated embedded font files --- -HEXDUMP := $(OUT)/hexdump +HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe FONT_BIN_DROID := $(wildcard resources/fonts/droid/*.ttf) FONT_BIN_NOTO := $(wildcard resources/fonts/noto/*.ttf) @@ -172,26 +186,26 @@ FONT_BIN_HAN := $(wildcard resources/fonts/han/*.otf) FONT_BIN_URW := $(wildcard resources/fonts/urw/*.cff) FONT_BIN_SIL := $(wildcard resources/fonts/sil/*.cff) -FONT_GEN_DROID := $(subst resources/fonts/droid/, $(GEN)/, $(addsuffix .c, $(basename $(FONT_BIN_DROID)))) -FONT_GEN_NOTO := $(subst resources/fonts/noto/, $(GEN)/, $(addsuffix .c, $(basename $(FONT_BIN_NOTO)))) -FONT_GEN_HAN := $(subst resources/fonts/han/, $(GEN)/, $(addsuffix .c, $(basename $(FONT_BIN_HAN)))) -FONT_GEN_URW := $(subst resources/fonts/urw/, $(GEN)/, $(addsuffix .c, $(basename $(FONT_BIN_URW)))) -FONT_GEN_SIL := $(subst resources/fonts/sil/, $(GEN)/, $(addsuffix .c, $(basename $(FONT_BIN_SIL)))) +FONT_GEN_DROID := $(subst resources/fonts/droid/, generated/, $(addsuffix .c, $(basename $(FONT_BIN_DROID)))) +FONT_GEN_NOTO := $(subst resources/fonts/noto/, generated/, $(addsuffix .c, $(basename $(FONT_BIN_NOTO)))) +FONT_GEN_HAN := $(subst resources/fonts/han/, generated/, $(addsuffix .c, $(basename $(FONT_BIN_HAN)))) +FONT_GEN_URW := $(subst resources/fonts/urw/, generated/, $(addsuffix .c, $(basename $(FONT_BIN_URW)))) +FONT_GEN_SIL := $(subst resources/fonts/sil/, generated/, $(addsuffix .c, $(basename $(FONT_BIN_SIL)))) FONT_BIN := $(FONT_BIN_DROID) $(FONT_BIN_NOTO) $(FONT_BIN_HAN) $(FONT_BIN_URW) $(FONT_BIN_SIL) 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 $(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:%.c=$(OUT)/%.o) + +generated/%.c : resources/fonts/droid/%.ttf $(HEXDUMP_EXE) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $< +generated/%.c : resources/fonts/noto/%.ttf $(HEXDUMP_EXE) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $< +generated/%.c : resources/fonts/han/%.otf $(HEXDUMP_EXE) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $< +generated/%.c : resources/fonts/urw/%.cff $(HEXDUMP_EXE) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $< +generated/%.c : resources/fonts/sil/%.cff $(HEXDUMP_EXE) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $< $(FONT_OBJ) : $(FONT_GEN) $(FONT_GEN_DROID) : $(FONT_BIN_DROID) @@ -201,68 +215,38 @@ $(FONT_GEN_URW) : $(FONT_BIN_URW) $(FONT_GEN_SIL) : $(FONT_BIN_SIL) ifneq "$(CROSSCOMPILE)" "yes" -$(FONT_GEN) : $(HEXDUMP) | $(GEN) +$(FONT_GEN) : $(HEXDUMP_EXE) endif generate: $(FONT_GEN) -# --- Generated embedded certificate files --- - -ADOBECA_SRC := resources/certs/AdobeCA.p7c -ADOBECA_GEN := $(GEN)/gen_adobe_ca.h -$(ADOBECA_GEN) : $(ADOBECA_SRC) - $(QUIET_GEN) $(HEXDUMP) $@ $(ADOBECA_SRC) - -ifneq "$(CROSSCOMPILE)" "yes" -$(ADOBECA_GEN) : $(HEXDUMP) | $(GEN) -endif - -$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN) - -generate: $(ADOBECA_GEN) - -# --- Generated embedded javascript files --- - -JAVASCRIPT_SRC := source/pdf/pdf-js-util.js -JAVASCRIPT_GEN := $(GEN)/gen_js_util.h -$(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC) - $(QUIET_GEN) $(HEXDUMP) $@ $(JAVASCRIPT_SRC) - -ifneq "$(CROSSCOMPILE)" "yes" -$(JAVASCRIPT_GEN) : $(HEXDUMP) | $(GEN) -endif - -$(OUT)/pdf/pdf-js.o : $(JAVASCRIPT_GEN) - -generate: $(JAVASCRIPT_GEN) - # --- Generated CMap files --- -CMAPDUMP := $(OUT)/cmapdump +CMAPDUMP_EXE := $(OUT)/scripts/cmapdump.exe CMAP_CJK_SRC := $(wildcard resources/cmaps/cjk/*) CMAP_EXTRA_SRC := $(wildcard resources/cmaps/extra/*) CMAP_UTF8_SRC := $(wildcard resources/cmaps/utf8/*) CMAP_UTF32_SRC := $(wildcard resources/cmaps/utf32/*) -$(GEN)/gen_cmap_cjk.h : $(CMAP_CJK_SRC) - $(QUIET_GEN) $(CMAPDUMP) $@ $(CMAP_CJK_SRC) -$(GEN)/gen_cmap_extra.h : $(CMAP_EXTRA_SRC) - $(QUIET_GEN) $(CMAPDUMP) $@ $(CMAP_EXTRA_SRC) -$(GEN)/gen_cmap_utf8.h : $(CMAP_UTF8_SRC) - $(QUIET_GEN) $(CMAPDUMP) $@ $(CMAP_UTF8_SRC) -$(GEN)/gen_cmap_utf32.h : $(CMAP_UTF32_SRC) - $(QUIET_GEN) $(CMAPDUMP) $@ $(CMAP_UTF32_SRC) +generated/gen_cmap_cjk.h : $(CMAP_CJK_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_CJK_SRC) +generated/gen_cmap_extra.h : $(CMAP_EXTRA_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_EXTRA_SRC) +generated/gen_cmap_utf8.h : $(CMAP_UTF8_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_UTF8_SRC) +generated/gen_cmap_utf32.h : $(CMAP_UTF32_SRC) | generated + $(QUIET_GEN) $(CMAPDUMP_EXE) $@ $(CMAP_UTF32_SRC) -CMAP_GEN := $(addprefix $(GEN)/, gen_cmap_cjk.h gen_cmap_extra.h gen_cmap_utf8.h gen_cmap_utf32.h) +CMAP_GEN := $(addprefix generated/, gen_cmap_cjk.h gen_cmap_extra.h gen_cmap_utf8.h gen_cmap_utf32.h) ifneq "$(CROSSCOMPILE)" "yes" -$(CMAP_GEN) : $(CMAPDUMP) | $(GEN) +$(CMAP_GEN) : $(CMAPDUMP_EXE) endif -$(OUT)/cmapdump.o : \ +$(OUT)/scripts/cmapdump.o : \ + $(NAME_GEN) \ include/mupdf/pdf/cmap.h \ - source/pdf/pdf-name-table.h \ source/fitz/context.c \ source/fitz/error.c \ source/fitz/memory.c \ @@ -280,26 +264,39 @@ $(OUT)/cmapdump.o : \ source/pdf/pdf-cmap.c \ source/pdf/pdf-cmap-parse.c \ -$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN) +$(OUT)/source/pdf/pdf-cmap-table.o : $(CMAP_GEN) generate: $(CMAP_GEN) -# --- Generated PDF name tables --- +# --- Generated embedded certificate files --- -NAMEDUMP := $(OUT)/namedump +ADOBECA_SRC := resources/certs/AdobeCA.p7c +ADOBECA_GEN := generated/gen_adobe_ca.h +$(ADOBECA_GEN) : $(ADOBECA_SRC) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $(ADOBECA_SRC) -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) +ifneq "$(CROSSCOMPILE)" "yes" +$(ADOBECA_GEN) : $(HEXDUMP_EXE) +endif + +$(OUT)/source/pdf/pdf-pkcs7.o : $(ADOBECA_GEN) + +generate: $(ADOBECA_GEN) + +# --- Generated embedded javascript files --- + +JAVASCRIPT_SRC := source/pdf/pdf-js-util.js +JAVASCRIPT_GEN := generated/gen_js_util.h +$(JAVASCRIPT_GEN) : $(JAVASCRIPT_SRC) | generated + $(QUIET_GEN) $(HEXDUMP_EXE) $@ $(JAVASCRIPT_SRC) ifneq "$(CROSSCOMPILE)" "yes" -$(NAME_GEN) : $(NAMEDUMP) +$(JAVASCRIPT_GEN) : $(HEXDUMP_EXE) endif -$(OUT)/pdf/pdf-object.o : source/pdf/pdf-name-table.h +$(OUT)/source/pdf/pdf-js.o : $(JAVASCRIPT_GEN) -generate: $(NAME_GEN) +generate: $(JAVASCRIPT_GEN) # --- Library --- @@ -308,7 +305,7 @@ 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) +THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(LIBJPEG_OBJ) $(JPEGXR_OBJ) $(LURATECH_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) THREAD_OBJ := $(THREAD_OBJ) $(MUPDF_LIB) : $(MUPDF_OBJ) @@ -319,69 +316,71 @@ INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) # --- Tools and Apps --- -MUTOOL := $(OUT)/mutool -MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.o muconvert.o mudraw.o murun.o) -MUTOOL_OBJ += $(addprefix $(OUT)/tools/, pdfclean.o pdfcreate.o pdfextract.o pdfinfo.o pdfmerge.o pdfposter.o pdfpages.o pdfshow.o pdfportfolio.o) -$(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) -MUTOOL_LIB = $(OUT)/libmutools.a -$(MUTOOL_LIB) : $(MUTOOL_OBJ) -$(MUTOOL) : $(MUTOOL_LIB) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) +MUTOOL_EXE := $(OUT)/mutool +MUTOOL_SRC := source/tools/mutool.c source/tools/muconvert.c source/tools/mudraw.c source/tools/murun.c +MUTOOL_SRC += $(wildcard source/tools/pdf*.c) +MUTOOL_OBJ := $(MUTOOL_SRC:%.c=$(OUT)/%.o) +$(MUTOOL_OBJ) : $(FITZ_HDR) $(PDF_HDR) +$(MUTOOL_EXE) : $(MUTOOL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(LINK_CMD) $(PTHREAD_LIBS) -MURASTER := $(OUT)/muraster -MURASTER_OBJ := $(addprefix $(OUT)/tools/, muraster.o) -$(MURASTER_OBJ): $(FITZ_HDR) -$(MURASTER) : $(MURASTER_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) +MURASTER_EXE := $(OUT)/muraster +MURASTER_OBJ := $(OUT)/source/tools/muraster.o +$(MURASTER_OBJ) : $(FITZ_HDR) +$(MURASTER_EXE) : $(MURASTER_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(LINK_CMD) $(PTHREAD_LIBS) -MJSGEN := $(OUT)/mjsgen -MJSGEN_OBJ := $(addprefix $(OUT)/tools/, mjsgen.o) -$(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) -$(MJSGEN) : $(MJSGEN_OBJ) $(MUPDF_LIB) $(THIRD_LIB) +MJSGEN_EXE := $(OUT)/mjsgen +MJSGEN_OBJ := $(OUT)/source/tools/mjsgen.o +$(MJSGEN_OBJ) : $(FITZ_HDR) $(PDF_HDR) +$(MJSGEN_EXE) : $(MJSGEN_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) -MUJSTEST := $(OUT)/mujstest +MUJSTEST_EXE := $(OUT)/mujstest MUJSTEST_OBJ := $(addprefix $(OUT)/platform/x11/, jstest_main.o pdfapp.o) $(MUJSTEST_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUJSTEST) : $(MUJSTEST_OBJ) $(MUPDF_LIB) $(THIRD_LIB) +$(MUJSTEST_EXE) : $(MUJSTEST_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) ifeq "$(HAVE_X11)" "yes" -MUVIEW_X11 := $(OUT)/mupdf-x11 +MUVIEW_X11_EXE := $(OUT)/mupdf-x11 MUVIEW_X11_OBJ := $(addprefix $(OUT)/platform/x11/, x11_main.o x11_image.o pdfapp.o) $(MUVIEW_X11_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUVIEW_X11) : $(MUVIEW_X11_OBJ) $(MUPDF_LIB) $(THIRD_LIB) +$(MUVIEW_X11_EXE) : $(MUVIEW_X11_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) $(X11_LIBS) ifeq "$(HAVE_CURL)" "yes" -MUVIEW_X11_CURL := $(OUT)/mupdf-x11-curl +MUVIEW_X11_CURL_EXE := $(OUT)/mupdf-x11-curl MUVIEW_X11_CURL_OBJ := $(addprefix $(OUT)/platform/x11/curl/, x11_main.o x11_image.o pdfapp.o curl_stream.o) $(MUVIEW_X11_CURL_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUVIEW_X11_CURL) : $(MUVIEW_X11_CURL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) +$(MUVIEW_X11_CURL_EXE) : $(MUVIEW_X11_CURL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) $(LINK_CMD) $(X11_LIBS) $(CURL_LIBS) $(SYS_CURL_DEPS) endif endif ifeq "$(HAVE_GLFW)" "yes" -MUVIEW_GLFW := $(OUT)/mupdf-gl +MUVIEW_GLFW_EXE := $(OUT)/mupdf-gl MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) $(MUVIEW_GLFW_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h -$(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) +$(MUVIEW_GLFW_EXE) : $(MUVIEW_GLFW_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) $(LINK_CMD) $(GLFW_LIBS) endif ifeq "$(HAVE_WIN32)" "yes" -MUVIEW_WIN32 := $(OUT)/mupdf +MUVIEW_WIN32_EXE := $(OUT)/mupdf MUVIEW_WIN32_OBJ := $(addprefix $(OUT)/platform/x11/, win_main.o pdfapp.o win_res.o) $(MUVIEW_WIN32_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUVIEW_WIN32) : $(MUVIEW_WIN32_OBJ) $(MUPDF_LIB) $(THIRD_LIB) +$(MUVIEW_WIN32_EXE) : $(MUVIEW_WIN32_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(LINK_CMD) $(WIN32_LIBS) endif -MUVIEW := $(MUVIEW_X11) $(MUVIEW_WIN32) $(MUVIEW_GLFW) -MUVIEW_CURL := $(MUVIEW_X11_CURL) $(MUVIEW_WIN32_CURL) +MUVIEW_EXE := $(MUVIEW_X11_EXE) $(MUVIEW_WIN32_EXE) $(MUVIEW_GLFW_EXE) +MUVIEW_CURL_EXE := $(MUVIEW_X11_CURL_EXE) $(MUVIEW_WIN32_CURL_EXE) -INSTALL_APPS := $(MUTOOL) $(MUVIEW) $(MURASTER) $(MUJSTEST) $(MUVIEW_CURL) +INSTALL_APPS := $(MUTOOL_EXE) $(MUVIEW_EXE) +INSTALL_APPS += $(MURASTER_EXE) +INSTALL_APPS += $(MUVIEW_CURL_EXE) +INSTALL_APPS += $(MUJSTEST_EXE) # --- Examples --- @@ -465,7 +464,7 @@ all: libs apps clean: rm -rf $(OUT) nuke: - rm -rf build/* $(GEN) $(NAME_GEN) + rm -rf build/* generated $(NAME_GEN) release: $(MAKE) build=release diff --git a/Makerules b/Makerules index 9282b5c4..b7adae60 100644 --- a/Makerules +++ b/Makerules @@ -101,7 +101,7 @@ SYS_FREETYPE_CFLAGS := $(shell freetype-config --cflags) SYS_FREETYPE_LIBS := $(shell freetype-config --libs) SYS_OPENJPEG_LIBS := -lopenjpeg SYS_JBIG2DEC_LIBS := -ljbig2dec -SYS_JPEG_LIBS := -ljpeg +SYS_LIBJPEG_LIBS := -ljpeg SYS_ZLIB_LIBS := -lz CC := xcrun cc @@ -156,7 +156,7 @@ SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2) endif SYS_JBIG2DEC_LIBS := -ljbig2dec -SYS_JPEG_LIBS := -ljpeg +SYS_LIBJPEG_LIBS := -ljpeg SYS_ZLIB_LIBS := -lz endif diff --git a/Makethird b/Makethird index e9a2e0e8..82d7ea7b 100644 --- a/Makethird +++ b/Makethird @@ -9,7 +9,7 @@ FREETYPE_DIR := thirdparty/freetype HARFBUZZ_DIR := thirdparty/harfbuzz JBIG2DEC_DIR := thirdparty/jbig2dec -JPEG_DIR := thirdparty/jpeg +LIBJPEG_DIR := thirdparty/jpeg MUJS_DIR := thirdparty/mujs OPENJPEG_DIR := thirdparty/openjpeg/src/lib/openjp2 ZLIB_DIR := thirdparty/zlib @@ -23,7 +23,7 @@ GLFW_DIR := thirdparty/glfw ifneq "$(wildcard $(MUJS_DIR)/README)" "" -MUJS_OUT := $(OUT)/mujs +MUJS_OUT := $(OUT)/thirdparty/mujs MUJS_SRC := one.c MUJS_OBJ := $(addprefix $(MUJS_OUT)/, $(MUJS_SRC:%.c=%.o)) @@ -47,7 +47,7 @@ endif ifneq "$(wildcard $(FREETYPE_DIR)/README)" "" -FREETYPE_OUT := $(OUT)/freetype +FREETYPE_OUT := $(OUT)/thirdparty/freetype FREETYPE_SRC := \ ftbase.c \ ftbbox.c \ @@ -114,7 +114,7 @@ endif ifneq "$(wildcard $(HARFBUZZ_DIR)/README)" "" -HARFBUZZ_OUT := $(OUT)/harfbuzz +HARFBUZZ_OUT := $(OUT)/thirdparty/harfbuzz HARFBUZZ_SRC := \ hb-blob.cc \ hb-buffer.cc \ @@ -178,7 +178,7 @@ endif ifneq "$(wildcard $(LURATECH_DIR)/ldf_jb2)$(wildcard $(LURATECH_DIR)/lwf_jp2)" "" -LURATECH_OUT := $(OUT)/luratech +LURATECH_OUT := $(OUT)/thirdparty/luratech LURATECH_SRC := \ jb2_adt_cache.c \ jb2_adt_decoder_halftone_region.c \ @@ -337,7 +337,7 @@ else # --- LURATECH --- ifneq "$(wildcard $(JBIG2DEC_DIR)/README)" "" -JBIG2DEC_OUT := $(OUT)/jbig2dec +JBIG2DEC_OUT := $(OUT)/thirdparty/jbig2dec JBIG2DEC_SRC := \ jbig2.c \ jbig2_arith.c \ @@ -372,7 +372,7 @@ endif ifneq "$(wildcard $(OPENJPEG_DIR)/openjpeg.h)" "" -OPENJPEG_OUT := $(OUT)/openjpeg +OPENJPEG_OUT := $(OUT)/thirdparty/openjpeg OPENJPEG_SRC := \ bio.c \ cidx_manager.c \ @@ -416,10 +416,10 @@ endif # --- LURATECH --- # --- JPEG library from IJG --- -ifneq "$(wildcard $(JPEG_DIR)/README)" "" +ifneq "$(wildcard $(LIBJPEG_DIR)/README)" "" -JPEG_OUT := $(OUT)/jpeg -JPEG_SRC := \ +LIBJPEG_OUT := $(OUT)/thirdparty/libjpeg +LIBJPEG_SRC := \ jaricom.c \ jcomapi.c \ jdapimin.c \ @@ -451,24 +451,24 @@ JPEG_SRC := \ jquant2.c \ jutils.c \ -JPEG_OBJ := $(addprefix $(JPEG_OUT)/, $(JPEG_SRC:%.c=%.o)) +LIBJPEG_OBJ := $(addprefix $(LIBJPEG_OUT)/, $(LIBJPEG_SRC:%.c=%.o)) -$(JPEG_OUT): +$(LIBJPEG_OUT): $(MKDIR_CMD) -$(JPEG_OUT)/%.o: $(JPEG_DIR)/%.c | $(JPEG_OUT) +$(LIBJPEG_OUT)/%.o: $(LIBJPEG_DIR)/%.c | $(LIBJPEG_OUT) $(CC_CMD) -Dmain=xxxmain -JPEG_CFLAGS := -Iscripts/jpeg -I$(JPEG_DIR) +LIBJPEG_CFLAGS := -Iscripts/jpeg -I$(LIBJPEG_DIR) else -JPEG_CFLAGS := $(SYS_JPEG_CFLAGS) -DSHARE_JPEG -JPEG_LIBS := $(SYS_JPEG_LIBS) +LIBJPEG_CFLAGS := $(SYS_LIBJPEG_CFLAGS) -DSHARE_JPEG +LIBJPEG_LIBS := $(SYS_LIBJPEG_LIBS) endif # --- jpegxr --- ifneq "$(wildcard $(JPEGXR_DIR)/T835E.pdf)" "" -JPEGXR_OUT := $(OUT)/jpegxr +JPEGXR_OUT := $(OUT)/thirdparty/jpegxr JPEGXR_SRC := \ algo.c \ api.c \ @@ -502,7 +502,7 @@ endif ifneq "$(wildcard $(ZLIB_DIR)/README)" "" -ZLIB_OUT := $(OUT)/zlib +ZLIB_OUT := $(OUT)/thirdparty/zlib ZLIB_SRC := \ adler32.c \ compress.c \ @@ -537,7 +537,7 @@ endif ifneq "$(wildcard $(CURL_DIR)/README)" "" CURL_LIB := $(OUT)/libcurl.a -CURL_OUT := $(OUT)/curl +CURL_OUT := $(OUT)/thirdparty/curl CURL_SRC := \ base64.c \ conncache.c \ @@ -617,7 +617,7 @@ endif ifneq "$(wildcard $(GLFW_DIR)/README.md)" "" GLFW_LIB := $(OUT)/libglfw.a -GLFW_OUT := $(OUT)/glfw +GLFW_OUT := $(OUT)/thirdparty/glfw ifeq "$(OS)" "MACOS" -- cgit v1.2.3