📄 makefile.msvc.svn-base
字号:
# 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 + -