Fix typos
[TortoiseGit.git] / ext / scintilla / win32 / scintilla.mak
blobe494c8b4593bbbc3fd3ae8ad738723adbfb8c8c8
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.
5 # Usage for Microsoft:
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.
11 .SUFFIXES: .cxx
13 DIR_O=.
14 DIR_BIN=..\bin
16 COMPONENT=$(DIR_BIN)\Scintilla.dll
17 LIBSCI=$(DIR_BIN)\libscintilla.lib
19 LD=link
21 !IFDEF SUPPORT_XP
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
27 !ELSE
28 SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.01
29 !ENDIF
30 !ELSE
31 CETCOMPAT=-CETCOMPAT
32 !IFDEF ARM64
33 ADD_DEFINE=-D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1
34 SUBSYSTEM=-SUBSYSTEM:WINDOWS,10.00
35 !ENDIF
36 !ENDIF
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
42 NAME=-Fo
43 LDFLAGS=-OPT:REF -LTCG -IGNORE:4197 -DEBUG $(SUBSYSTEM) $(CETCOMPAT)
44 LDDEBUG=
45 LIBS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.lib OLEAUT32.lib ADVAPI32.lib
46 NOLOGO=-nologo
48 !IFDEF QUIET
49 CXX=@$(CXX)
50 CXXFLAGS=$(CXXFLAGS) $(NOLOGO)
51 LDFLAGS=$(LDFLAGS) $(NOLOGO)
52 !ENDIF
54 !IFDEF NO_CXX11_REGEX
55 CXXFLAGS=$(CXXFLAGS) -DNO_CXX11_REGEX
56 !ENDIF
58 !IFDEF DEBUG
59 CXXFLAGS=$(CXXFLAGS) $(CXXDEBUG)
60 LDFLAGS=$(LDDEBUG) $(LDFLAGS)
61 !ELSE
62 CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
63 !ENDIF
65 INCLUDES=-I../include -I../src
66 CXXFLAGS=$(CXXFLAGS) $(INCLUDES)
68 all: $(COMPONENT) $(LIBSCI)
70 clean:
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)
75 depend:
76 pyw DepGen.py
78 # Required for base Scintilla
79 SRC_OBJS=\
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 \
90 $(DIR_O)\DBCS.obj \
91 $(DIR_O)\Decoration.obj \
92 $(DIR_O)\Document.obj \
93 $(DIR_O)\EditModel.obj \
94 $(DIR_O)\Editor.obj \
95 $(DIR_O)\EditView.obj \
96 $(DIR_O)\Geometry.obj \
97 $(DIR_O)\Indicator.obj \
98 $(DIR_O)\KeyMap.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 \
106 $(DIR_O)\Style.obj \
107 $(DIR_O)\UndoHistory.obj \
108 $(DIR_O)\UniConversion.obj \
109 $(DIR_O)\UniqueString.obj \
110 $(DIR_O)\ViewStyle.obj \
111 $(DIR_O)\XPM.obj
113 COMPONENT_OBJS = \
114 $(DIR_O)\HanjaDic.obj \
115 $(DIR_O)\PlatWin.obj \
116 $(DIR_O)\ScintillaBase.obj \
117 $(DIR_O)\ScintillaWin.obj \
118 $(SRC_OBJS)
120 SHARED_OBJS = \
121 $(DIR_O)\ScintillaDLL.obj
123 $(DIR_O)\ScintRes.res : ScintRes.rc
124 $(RC) -fo$@ $**
126 $(COMPONENT): $(COMPONENT_OBJS) $(SHARED_OBJS) $(DIR_O)\ScintRes.res
127 $(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
129 $(LIBSCI): $(COMPONENT_OBJS)
130 LIB /OUT:$@ $**
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)\ $<
139 # Dependencies
141 !IF EXISTS(nmdeps.mak)
143 # Protect with !IF EXISTS to handle accidental deletion - just 'nmake -f scintilla.mak depend'
145 !INCLUDE nmdeps.mak
147 !ENDIF