1 # Make file for Scintilla on Windows Visual C++ version
2 # Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
3 # The License.txt file describes the conditions under which this software may be distributed.
4 # This makefile is for using Visual C++ with nmake.
6 # nmake -f scintilla.mak
7 # For debug versions define DEBUG on the command line:
8 # nmake DEBUG=1 -f scintilla.mak
9 # The main makefile uses mingw32 gcc and may be more current than this file.
16 COMPONENT
=$(DIR_BIN
)\Scintilla.dll
17 LIBSCI
=$(DIR_BIN
)\libscintilla.lib
22 ADD_DEFINE
=-D_USING_V110_SDK71_
23 # Different subsystems for 32-bit and 64-bit Windows XP so detect based on Platform
24 # environment variable set by vcvars*.bat to be either x86 or x64
25 !IF
"$(PLATFORM)" == "x64"
26 SUBSYSTEM
=-SUBSYSTEM
:WINDOWS
,5.02
28 SUBSYSTEM
=-SUBSYSTEM
:WINDOWS
,5.01
33 ADD_DEFINE
=-D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE
=1
34 SUBSYSTEM
=-SUBSYSTEM
:WINDOWS
,10.00
38 CRTFLAGS
=$(ADD_DEFINE
)
39 CXXFLAGS
=-Zi
-TP
-MP
-W4
-EHsc
-std
:c
++17 -utf-8
$(CRTFLAGS
)
40 CXXDEBUG
=-Od
-MTd
-DDEBUG
41 CXXNDEBUG
=-O2
-MT
-DNDEBUG
-GL
43 LDFLAGS
=-OPT
:REF
-LTCG
-IGNORE
:4197 -DEBUG
$(SUBSYSTEM
) $(CETCOMPAT
)
45 LIBS
=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.lib OLEAUT32.lib ADVAPI32.lib
50 CXXFLAGS
=$(CXXFLAGS
) $(NOLOGO
)
51 LDFLAGS
=$(LDFLAGS
) $(NOLOGO
)
55 CXXFLAGS
=$(CXXFLAGS
) -DNO_CXX11_REGEX
59 CXXFLAGS
=$(CXXFLAGS
) $(CXXDEBUG
)
60 LDFLAGS
=$(LDDEBUG
) $(LDFLAGS
)
62 CXXFLAGS
=$(CXXFLAGS
) $(CXXNDEBUG
)
65 INCLUDES
=-I..
/include -I..
/src
66 CXXFLAGS
=$(CXXFLAGS
) $(INCLUDES
)
68 all: $(COMPONENT
) $(LIBSCI
)
71 -del
/q
$(DIR_O
)\
*.obj
$(DIR_O
)\
*.pdb
$(DIR_O
)\
*.asm
$(COMPONENT
) \
72 $(DIR_O
)\
*.res
$(DIR_BIN
)\
*.map
$(DIR_BIN
)\
*.exp
$(DIR_BIN
)\
*.pdb \
73 $(DIR_BIN
)\Scintilla.lib
$(LIBSCI
)
78 # Required for base Scintilla
80 $(DIR_O
)\AutoComplete.obj \
81 $(DIR_O
)\CallTip.obj \
82 $(DIR_O
)\CaseConvert.obj \
83 $(DIR_O
)\CaseFolder.obj \
84 $(DIR_O
)\CellBuffer.obj \
85 $(DIR_O
)\ChangeHistory.obj \
86 $(DIR_O
)\CharacterCategoryMap.obj \
87 $(DIR_O
)\CharacterType.obj \
88 $(DIR_O
)\CharClassify.obj \
89 $(DIR_O
)\ContractionState.obj \
91 $(DIR_O
)\Decoration.obj \
92 $(DIR_O
)\Document.obj \
93 $(DIR_O
)\EditModel.obj \
95 $(DIR_O
)\EditView.obj \
96 $(DIR_O
)\Geometry.obj \
97 $(DIR_O
)\Indicator.obj \
99 $(DIR_O
)\LineMarker.obj \
100 $(DIR_O
)\MarginView.obj \
101 $(DIR_O
)\PerLine.obj \
102 $(DIR_O
)\PositionCache.obj \
103 $(DIR_O
)\RESearch.obj \
104 $(DIR_O
)\RunStyles.obj \
105 $(DIR_O
)\Selection.obj \
107 $(DIR_O
)\UndoHistory.obj \
108 $(DIR_O
)\UniConversion.obj \
109 $(DIR_O
)\UniqueString.obj \
110 $(DIR_O
)\ViewStyle.obj \
114 $(DIR_O
)\HanjaDic.obj \
115 $(DIR_O
)\PlatWin.obj \
116 $(DIR_O
)\ScintillaBase.obj \
117 $(DIR_O
)\ScintillaWin.obj \
121 $(DIR_O
)\ScintillaDLL.obj
123 $(DIR_O
)\ScintRes.res
: ScintRes.rc
126 $(COMPONENT
): $(COMPONENT_OBJS
) $(SHARED_OBJS
) $(DIR_O
)\ScintRes.res
127 $(LD
) $(LDFLAGS
) -DEF
:Scintilla.def
-DLL
-OUT
:$@
$** $(LIBS
)
129 $(LIBSCI
): $(COMPONENT_OBJS
)
132 # Define how to build all the objects and what they depend on
134 {..\src
}.
cxx{$(DIR_O
)}.obj
::
135 $(CXX
) $(CXXFLAGS
) -c
$(NAME
)$(DIR_O
)\
$<
136 {.
}.
cxx{$(DIR_O
)}.obj
::
137 $(CXX
) $(CXXFLAGS
) -c
$(NAME
)$(DIR_O
)\
$<
141 !IF EXISTS
(nmdeps.mak
)
143 # Protect with !IF EXISTS to handle accidental deletion - just 'nmake -f scintilla.mak depend'