makefile.svn-base

来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· SVN-BASE 代码 · 共 313 行

SVN-BASE
313
字号
# Makefile for building mupdf and related stuff# Valid option to make:# CFG=[rel|dbg] - dbg if not given# JBIG2_DIR=# JASPER_DIR=# Symbolic names for HOST variableHOST_LINUX := LinuxHOST_MAC := DarwinHOST_CYGWIN := CYGWIN_NT-6.0# HOST can be: Linux, Darwin, CYGWIN_NT-6.0HOST := $(shell uname -s)VPATH=base:raster:world:stream:mupdf:apps:$(JBIG2_DIR)ifneq ($(JASPER_DIR),)VPATH+=$(JASPER_DIR)/base:$(JASPER_DIR)/jp2:$(JASPER_DIR)/pgx:$(JASPER_DIR)/jpcendif# make dbg default target if none providedifeq ($(CFG),)CFG=dbgendifINCS = -I include -I cmapsifneq ($(JBIG2_DIR),)INCS += -I $(JBIG2_DIR)CFLAGS += -DHAVE_JBIG2DECendififneq ($(JASPER_DIR),)INCS += -I $(JASPER_DIR)/includeCFLAGS += -DHAVE_JASPER -DJAS_CONFIGUREendifFREETYPE_CFLAGS  = `freetype-config --cflags`FREETYPE_LDFLAGS = `freetype-config --libs`FONTCONFIG_CFLAGS  = `pkg-config fontconfig --cflags`FONTCONFIG_LDFLAGS = `pkg-config fontconfig --libs`# cc-option# Usage: OP_CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0)cc-option = $(shell if $(CC) $(OP_CFLAGS) $(1) -S -o /dev/null -xc /dev/null \              > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)CFLAGS += -g -WallCFLAGS += $(call cc-option, -Wno-pointer-sign, "")ifeq ($(CFG),dbg)CFLAGS += -O0  ${INCS}elseCFLAGS += -O2 ${INCS} -DNDEBUGendififeq ($(HOST),$(HOST_LINUX))CFLAGS += -std=gnu99 -DHAVE_C99endififeq ($(HOST),$(HOST_MAC))CFLAGS += -std=gnu99 -DHAVE_C99endifJBIG2_CFLAGS = $(CFLAGS) -DHAVE_STDINT_HJASPER_CFLAGS = $(CFLAGS) -DEXCLUDE_MIF_SUPPORT -DEXCLUDE_PNM_SUPPORT -DEXCLUDE_BMP_SUPPORT -DEXCLUDE_RAS_SUPPORT -DEXCLUDE_JPG_SUPPORT#-DHAVE_CONFIG_HCFLAGS += ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS}LDFLAGS += ${FREETYPE_LDFLAGS} ${FONTCONFIG_LDFLAGS} -lm -ljpegCFLAGS += -DUSE_STATIC_CMAPSCFLAGS += -DDUMP_STATIC_CMAPSOUTDIR=obj-$(CFG)JBIG2_SRC = \	jbig2.c jbig2_arith.c jbig2_arith_int.c jbig2_arith_iaid.c \	jbig2_huffman.c jbig2_segment.c jbig2_page.c \	jbig2_symbol_dict.c jbig2_text.c \	jbig2_generic.c jbig2_refinement.c jbig2_mmr.c \	jbig2_image.c jbig2_metadata.cJASPER_SRC = \	jas_cm.c jas_debug.c jas_icc.c \	jas_iccdata.c jas_image.c jas_init.c jas_malloc.c \	jas_seq.c jas_stream.c jas_string.c jas_tvp.c \	jas_version.c \	jp2_cod.c jp2_dec.c jp2_enc.c \	jpc_bs.c jpc_cs.c jpc_dec.c jpc_enc.c \	jpc_math.c jpc_mct.c jpc_mqcod.c jpc_mqdec.c \	jpc_mqenc.c jpc_qmfb.c jpc_t1cod.c jpc_t1dec.c \	jpc_t1enc.c jpc_t2cod.c jpc_t2dec.c jpc_t2enc.c \	jpc_tagtree.c jpc_tsfb.c jpc_util.c \	pgx_cod.c pgx_dec.c pgx_enc.cBASE_SRC = \	base_memory.c \	base_error.c \	base_hash.c \	base_matrix.c \	base_rect.c \	base_rune.c \ifeq ($(HOST),$(HOST_LINUX))BASE_SRC += \	util_strlcat.c \	util_strlcpy.cCFLAGS += -DNEED_STRLCPYendif#./base/base_cleanname.c#./base/base_cpudep.cSTREAM_SRC = \	crypt_aes.c \	crypt_arc4.c \	crypt_crc32.c \	crypt_md5.c \	filt_a85d.c \	filt_a85e.c \	filt_aes.c \	filt_ahxd.c \	filt_ahxe.c \	filt_arc4.c \	filt_faxd.c \	filt_faxdtab.c \	filt_faxe.c \	filt_faxetab.c \	filt_flate.c \	filt_lzwd.c \	filt_lzwe.c \	filt_null.c \	filt_pipeline.c \	filt_predict.c \	filt_rld.c \	filt_rle.c \	obj_array.c \	obj_dict.c \	obj_parse.c \	obj_print.c \	obj_simple.c \	stm_buffer.c \	stm_filter.c \	stm_misc.c \	stm_open.c \	stm_read.c \	stm_write.c \	filt_dctd.c \	filt_dcte.c \ifneq ($(JASPER_DIR),)STREAM_SRC += filt_jpxd.cendififneq ($(JBIG2_DIR),)STREAM_SRC += filt_jbig2d.cendifRASTER_SRC = \	archx86.c \	blendmodes.c \	imagescale.c \	pathfill.c \	pixmap.c \	glyphcache.c \	imageunpack.c \	pathscan.c \	porterduff.c \	imagedraw.c \	meshdraw.c \	pathstroke.c \	render.c \WORLD_SRC = \	node_misc1.c \	node_misc2.c \	node_optimize.c \	node_path.c \	node_text.c \	node_toxml.c \	node_tree.c \	res_colorspace.c \	res_font.c \	res_image.c \	res_shade.c \MUPDF_SRC = \	pdf_annot.c \	pdf_build.c \	pdf_cmap.c \	pdf_colorspace1.c \	pdf_colorspace2.c \	pdf_crypt.c \	pdf_debug.c \	pdf_doctor.c \	pdf_font.c \	pdf_fontagl.c \	pdf_fontenc.c \	pdf_function.c \	pdf_image.c \	pdf_interpret.c \	pdf_lex.c \	pdf_nametree.c \	pdf_open.c \	pdf_outline.c \	pdf_page.c \	pdf_pagetree.c \	pdf_parse.c \	pdf_pattern.c \	pdf_repair.c \	pdf_resources.c \	pdf_save.c \	pdf_shade.c \	pdf_shade1.c \	pdf_shade4.c \	pdf_store.c \	pdf_stream.c \	pdf_type3.c \	pdf_unicode.c \	pdf_xobject.c \	pdf_xref.c \	pdf_fontfilefc.c \LIBS_SRC = \	${BASE_SRC} \	${STREAM_SRC} \	${RASTER_SRC} \	${WORLD_SRC} \	${MUPDF_SRC}JASPER_OBJ = $(patsubst %.c, $(OUTDIR)/JASPER_%.o, ${JASPER_SRC})JASPER_DEP = $(patsubst %.o, %.d, $(JASPER_OBJ))JBIG2_OBJ = $(patsubst %.c, $(OUTDIR)/JBIG_%.o, ${JBIG2_SRC})JBIG2_DEP = $(patsubst %.o, %.d, $(JBIG2_OBJ))LIBS_OBJ = $(patsubst %.c, $(OUTDIR)/FITZ_%.o, ${LIBS_SRC})LIBS_DEP = $(patsubst %.o, %.d, $(LIBS_OBJ))PDFTOOL_SRC = pdftool.cPDFTOOL_OBJ = $(patsubst %.c, $(OUTDIR)/FITZ_%.o, ${PDFTOOL_SRC})PDFTOOL_DEP = $(patsubst %.o, %.d, $(PDFTOOL_OBJ))PDFBENCH_SRC = pdfbench.cPDFBENCH_OBJ = $(patsubst %.c, $(OUTDIR)/FITZ_%.o, ${PDFBENCH_SRC})PDFBENCH_DEP = $(patsubst %.o, %.d, $(PDFBENCH_OBJ))ifneq ($(JASPER_DIR),)PDFTOOL_OBJ += $(JASPER_OBJ)PDFBENCH_OBJ += $(JASPER_OBJ)endififneq ($(JBIG2_DIR),)PDFTOOL_OBJ += $(JBIG2_OBJ)PDFBENCH_OBJ += $(JBIG2_OBJ)endifPDFTOOL_APP = ${OUTDIR}/pdftoolPDFBENCH_APP = ${OUTDIR}/pdfbenchall: inform ${OUTDIR} ${PDFTOOL_APP} ${PDFBENCH_APP}$(OUTDIR):	@mkdir -p $(OUTDIR)$(PDFTOOL_APP): ${LIBS_OBJ} ${PDFTOOL_OBJ}	$(CC) -g -o $@ $^ ${LDFLAGS}$(PDFBENCH_APP): ${LIBS_OBJ} ${PDFBENCH_OBJ}	$(CC) -g -o $@ $^ ${LDFLAGS}$(OUTDIR)/FITZ_%.o: %.c	$(CC) -MD -c $(CFLAGS) -o $@ $<$(OUTDIR)/JBIG_%.o: %.c	$(CC) -MD -c $(JBIG2_CFLAGS) -o $@ $<$(OUTDIR)/JASPER_%.o: %.c	$(CC) -MD -c $(JASPER_CFLAGS) -o $@ $<-include $(LIBS_DEP)-include $(JASPER_DEP)-include $(JBIG2_DEP)-include $(PDFTOOL_DEP)-include $(PDFBENCH_DEP)inform:ifneq ($(CFG),rel)ifneq ($(CFG),dbg)	@echo "Invalid configuration: '"$(CFG)"'"	@echo "Valid configurations: rel, dbg (e.g. make CFG=dbg)"	@exit 1endifendifclean: inform	rm -rf obj-$(CFG)cleanall:	rm -rf obj-*#./apps/common/pdfapp.c#./apps/mozilla/moz_main.c#./apps/mozilla/npunix.c#./apps/unix/x11pdf.c#./apps/unix/ximage.c

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?