⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.msvc.svn-base

📁 SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多KB)
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
# Arguments:
# CFG=dbg|rel (default: dbg)
# EXB=rm (default: no setting) This is an EXternal Build, i.e. not base SumatraPDF.
# EXTCFLAGS=$CFLAGS

# Set default configuration
!if "$(CFG)"==""
CFG=dbg
!endif

# O is directory where object and binary files go
!if "$(EXB)"=="rm"
O = obj-rm-$(CFG)
!else
O = obj-$(CFG)
!endif


# To over-ride location of fitz/mupdf sources, define FITZ_DIR
# e.g.:
#FITZ_DIR=..\mupdf

!if "$(FITZ_DIR)"==""
FITZ_DIR=fitz
!endif

ZLIB_DIR=ext\zlib
FREETYPE_DIR=ext\freetype-2.3.7
JPEG_DIR=ext\jpeg6b
JASPER_DIR=ext\jasper\src\libjasper
JBIG2_DIR=ext\jbig2dec

CC = cl.exe

CFLAGS = $(CFLAGS) /nologo /c
# standard windows defines
CFLAGS = $(CFLAGS) /D "WIN32"  /D "_WIN32"
#CFLAGS = $(CFLAGS) /D "_WIN32_WINNT=0x0500"
#CFLAGS = $(CFLAGS) /D "WIN32_LEAN_AND_MEAN"
CFLAGS = $(CFLAGS) /D "_SCL_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_DEPRECATE"

# disable "warning C4244: 'argument' : conversion from 'foo' to 'bar', possible loss of data"
CFLAGS = $(CFLAGS) /wd4244 /wd4996
# 4995 - 'sprintf': name was marked as #pragma deprecated
CFLAGS = $(CFLAGS) /wd4995

CFLAGS = $(CFLAGS) /W3 /GR- /Zi /GS /Gy

!if "$(CFG)"=="rel"
CFLAGS = $(CFLAGS) /Os /Ox /GL /D "NDEBUG"
LDFLAGS = $(LDFLAGS) /LTCG
CFLAGS = $(CFLAGS) /EHs-c- 
!else
CFLAGS = $(CFLAGS) /Od /RTCs /RTCu 
# exception handling must be activated to enable memory leak detection
CFLAGS = $(CFLAGS) /MDd /EHsc
!endif

# external build settings not part of core SumatraPDF
!if "$(EXB)"=="rm"
CFLAGS = $(CFLAGS) /D "BUILD_RM_VERSION"
!endif

# freetype flags
FT_CFLAGS = $(CFLAGS) /TC /I$(FREETYPE_DIR)/include /D "FT2_BUILD_LIBRARY" /D "FT_OPTION_AUTOFIT2"

JBIG2_CFLAGS = $(CFLAGS) /TC /D "HAVE_STRING_H=1" /I$(JBIG2_DIR) /wd4018

JASPER_CFLAGS = $(CFLAGS) /I$(JASPER_DIR)/include /D "EXCLUDE_MIF_SUPPORT" /D "EXCLUDE_PNM_SUPPORT"
JASPER_CFLAGS = $(JASPER_CFLAGS) /D "EXCLUDE_BMP_SUPPORT" /D "EXCLUDE_RAS_SUPPORT" /D "EXCLUDE_JPG_SUPPORT"

# libjpeg Flags
JPEG_CFLAGS = $(CFLAGS) /I$(JPEG_DIR)

# fitz flags
FITZ_CFLAGS = $(CFLAGS) /TC /I$(FITZ_DIR)\include /I$(FREETYPE_DIR)\include /I$(JPEG_DIR) /I$(ZLIB_DIR)
FITZ_CFLAGS = $(FITZ_CFLAGS) /I$(JASPER_DIR)/include /I$(JBIG2_DIR)
FITZ_CFLAGS = $(FITZ_CFLAGS) /D "NEED_STRLCPY" /D "NEED_STRSEP" /D "NEED_MATH" /D "NEED_GETOPT" /D "NEED_GETTIMEOFDAY"
FITZ_CFLAGS = $(FITZ_CFLAGS) /D "HAVE_JASPER" /D "HAVE_JBIG2DEC"
FITZ_CFLAGS = $(FITZ_CFLAGS) /D "__func__=\"\"" /D "isnan=_isnan"
FITZ_CFLAGS = $(FITZ_CFLAGS) /D "USE_STATIC_CMAPS" /I$(FITZ_DIR)\cmaps 
FITZ_CFLAGS = $(FITZ_CFLAGS) /D "WIN32_UNICODE_HACK"

SUMATRA_CFLAGS = $(CFLAGS) /Ibaseutils /Ibaseutils/msvc /I$(FITZ_DIR)\include /Isrc \
	/IDialogSizer /I$(ZLIB_DIR) 
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /D "_WINDOWS" /D "__func__=\"\"" 
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /D "_MBCS"
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) $(EXTCFLAGS)
# Flag for TeX enhancements
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /D "SYNCTEX_FEATURE"
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /D "WIN32_UNICODE_HACK"
!if "$(TEXBUILD)"=="1"
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /D "_TEX_ENHANCEMENT" /D "SUMATRA_UPDATE_INFO_URL=\"http://william.famille-blum.org/software/sumatra/sumpdftex-latest.txt\"" /D "SVN_UPDATE_LINK=\"http://william.famille-blum.org/software/sumatra/\"" /D "CURR_VERSION=\"$(VERSION)\""
!endif

#CFLAGS = $(CFLAGS) /showIncludes
#CFLAGS = $(CFLAGS) /analyze

LIBS = $(LIBS) advapi32.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib \
	shell32.lib comctl32.lib Msimg32.lib Winspool.lib wininet.lib ole32.lib shlwapi.lib

LD = link.exe
LDFLAGS = $(LDFLAGS) /nologo

!if "$(CFG)"=="dbg"
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /D "DEBUG" /D "_DEBUG"
LDFLAGS = $(LDFLAGS) /DEBUG
LIBS = /NODEFAULTLIB:libcmtd $(LIBS) $(ZLIB_DIR)\zlib_ds.lib
# for testing with STL
#LIBS = /NODEFAULTLIB:libcmt LIBCMTD.lib $(LIBS) $(ZLIB_DIR)\zlib_ds.lib
!endif

!if "$(CFG)"=="rel"
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS)
LIBS = $(LIBS) $(ZLIB_DIR)\zlib_s.lib
LDFLAGS = $(LDFLAGS) /opt:nowin98
LDFLAGS = $(LDFLAGS) /opt:ref /opt:icf
!if "$(EXB)"=="rm"
SUMATRA_CFLAGS = $(SUMATRA_CFLAGS) /GL /MT /O2
!else
LDFLAGS = $(LDFLAGS) /DEBUG
!endif
!endif

SUMATRA_RES = $(O)\sumtrapdf.res

FT_OBJS = \
	$(O)\ftdebug.obj $(O)\ftsystem.obj $(O)\ftglyph.obj $(O)\ftbitmap.obj $(O)\ftinit.obj $(O)\ftxf86.obj \
	$(O)\autofit.obj \
	$(O)\ftbase.obj \
	$(O)\bdf.obj \
	$(O)\ftcache.obj \
	$(O)\cff.obj \
	$(O)\cffparse.obj \
	$(O)\type1cid.obj \
	$(O)\gxvalid.obj \
#	$(O)\ftgzip.obj  \
#	$(O)\ftlzw.obj \
	$(O)\otvalid.obj \
	$(O)\pcf.obj \
	$(O)\pfr.obj \
	$(O)\pfrsbit.obj \
	$(O)\psaux.obj \
	$(O)\pshinter.obj \
	$(O)\psnames.obj \
	$(O)\raster.obj \
	$(O)\sfnt.obj \
	$(O)\smooth.obj \
	$(O)\truetype.obj \
	$(O)\type1.obj \
	$(O)\type42.obj \
	$(O)\winfnt.obj

JPEG_OBJS = \
	$(O)\jcapimin.obj $(O)\jcapistd.obj $(O)\jccoefct.obj $(O)\jccolor.obj $(O)\jcdctmgr.obj $(O)\jchuff.obj \
	$(O)\jcinit.obj $(O)\jcmainct.obj $(O)\jcmarker.obj $(O)\jcmaster.obj $(O)\jcomapi.obj $(O)\jcparam.obj \
	$(O)\jcphuff.obj $(O)\jcprepct.obj $(O)\jcsample.obj $(O)\jctrans.obj $(O)\jdapimin.obj $(O)\jdapistd.obj \
	$(O)\jdatadst.obj $(O)\jdatasrc.obj $(O)\jdcoefct.obj $(O)\jdcolor.obj $(O)\jddctmgr.obj $(O)\jdhuff.obj \
	$(O)\jdinput.obj $(O)\jdmainct.obj $(O)\jdmarker.obj $(O)\jdmaster.obj $(O)\jdmerge.obj $(O)\jdphuff.obj \
	$(O)\jdpostct.obj $(O)\jdsample.obj $(O)\jdtrans.obj $(O)\jerror.obj $(O)\jfdctflt.obj $(O)\jfdctfst.obj \
	$(O)\jfdctint.obj $(O)\jidctflt.obj $(O)\jidctfst.obj $(O)\jidctint.obj $(O)\jidctred.obj $(O)\jquant1.obj \
	$(O)\jquant2.obj $(O)\jutils.obj $(O)\jmemmgr.obj \
	$(O)\jmemnobs.obj # should I use jmemansi.obj or jmemname.obj ?

JBIG2_OBJS = \
	$(O)\jbig2.obj $(O)\jbig2_arith.obj \
	$(O)\jbig2_arith_iaid.obj $(O)\jbig2_arith_int.obj $(O)\jbig2_huffman.obj \
	$(O)\jbig2_generic.obj $(O)\jbig2_refinement.obj $(O)\jbig2_image.obj \
	$(O)\jbig2_segment.obj $(O)\jbig2_symbol_dict.obj $(O)\jbig2_text.obj \
	$(O)\jbig2_mmr.obj $(O)\jbig2_page.obj $(O)\jbig2_metadata.obj

JASPER_OBJS = \
	$(O)\jas_cm.obj $(O)\jas_debug.obj $(O)\jas_icc.obj \
	$(O)\jas_iccdata.obj $(O)\jas_image.obj $(O)\jas_init.obj $(O)\jas_malloc.obj \
	$(O)\jas_seq.obj $(O)\jas_stream.obj $(O)\jas_string.obj $(O)\jas_tvp.obj \
	$(O)\jas_version.obj \
	$(O)\jp2_cod.obj $(O)\jp2_dec.obj $(O)\jp2_enc.obj \
	$(O)\jpc_bs.obj $(O)\jpc_cs.obj $(O)\jpc_dec.obj $(O)\jpc_enc.obj \
	$(O)\jpc_math.obj $(O)\jpc_mct.obj $(O)\jpc_mqcod.obj $(O)\jpc_mqdec.obj \
	$(O)\jpc_mqenc.obj $(O)\jpc_qmfb.obj $(O)\jpc_t1cod.obj $(O)\jpc_t1dec.obj \
	$(O)\jpc_t1enc.obj $(O)\jpc_t2cod.obj $(O)\jpc_t2dec.obj $(O)\jpc_t2enc.obj \
	$(O)\jpc_tagtree.obj $(O)\jpc_tsfb.obj $(O)\jpc_util.obj \
	$(O)\pgx_cod.obj $(O)\pgx_dec.obj $(O)\pgx_enc.obj

BASE_OBJS = \
	$(O)\base_memory.obj $(O)\base_error.obj $(O)\base_hash.obj $(O)\base_matrix.obj \
	$(O)\base_rect.obj $(O)\base_rune.obj $(O)\util_strlcpy.obj \
	$(O)\util_strsep.obj $(O)\util_getopt.obj $(O)\util_gettimeofday.obj \
	$(O)\base_cpudep.obj

STREAM_OBJS = \
	$(O)\crypt_aes.obj $(O)\crypt_arc4.obj $(O)\crypt_crc32.obj $(O)\crypt_md5.obj \
	$(O)\filt_aes.obj $(O)\filt_a85d.obj \
	$(O)\filt_a85e.obj $(O)\filt_ahxd.obj $(O)\filt_ahxe.obj $(O)\filt_arc4.obj \
	$(O)\filt_faxd.obj $(O)\filt_faxdtab.obj $(O)\filt_faxe.obj $(O)\filt_faxetab.obj \
	$(O)\filt_flate.obj $(O)\filt_lzwd.obj $(O)\filt_lzwe.obj $(O)\filt_null.obj \
	$(O)\filt_pipeline.obj $(O)\filt_predict.obj $(O)\filt_rld.obj $(O)\filt_rle.obj \
	$(O)\obj_array.obj $(O)\obj_dict.obj $(O)\obj_parse.obj $(O)\obj_print.obj \
	$(O)\obj_simple.obj $(O)\stm_buffer.obj $(O)\stm_filter.obj $(O)\stm_misc.obj \
	$(O)\stm_open.obj $(O)\stm_read.obj $(O)\stm_write.obj $(O)\filt_dctd.obj \
	$(O)\filt_dcte.obj $(O)\filt_jpxd.obj $(O)\filt_jbig2d.obj

RASTER_OBJS = \
	$(O)\archx86.obj $(O)\imagescale.obj $(O)\pathfill.obj $(O)\pixmap.obj \
	$(O)\glyphcache.obj $(O)\imageunpack.obj $(O)\pathscan.obj $(O)\porterduff.obj \
	$(O)\imagedraw.obj $(O)\meshdraw.obj $(O)\pathstroke.obj $(O)\render.obj

WORLD_OBJS = \
	$(O)\node_misc1.obj $(O)\node_misc2.obj $(O)\node_optimize.obj $(O)\node_path.obj \
	$(O)\node_text.obj $(O)\node_toxml.obj $(O)\node_tree.obj $(O)\res_colorspace.obj \
	$(O)\res_font.obj $(O)\res_image.obj $(O)\res_shade.obj

FONTS_OBJS = \
	$(O)\Dingbats.cff.obj \
	$(O)\NimbusMonL-Bold.cff.obj \
	$(O)\NimbusMonL-BoldObli.cff.obj \
	$(O)\NimbusMonL-Regu.cff.obj \
	$(O)\NimbusMonL-ReguObli.cff.obj \
	$(O)\NimbusRomNo9L-Medi.cff.obj \
	$(O)\NimbusRomNo9L-MediItal.cff.obj \
	$(O)\NimbusRomNo9L-Regu.cff.obj \
	$(O)\NimbusRomNo9L-ReguItal.cff.obj \
	$(O)\NimbusSanL-Bold.cff.obj \
	$(O)\NimbusSanL-BoldItal.cff.obj \
	$(O)\NimbusSanL-Regu.cff.obj \
	$(O)\NimbusSanL-ReguItal.cff.obj \

⌨️ 快捷键说明

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