You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
3.9 KiB
152 lines
3.9 KiB
# Make file for Scintilla on Windows Visual C++ version |
|
# Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org> |
|
# The License.txt file describes the conditions under which this software may be distributed. |
|
# This makefile is for using Visual C++ with nmake. |
|
# Usage for Microsoft: |
|
# nmake -f scintilla.mak |
|
# For debug versions define DEBUG on the command line: |
|
# nmake DEBUG=1 -f scintilla.mak |
|
# The main makefile uses mingw32 gcc and may be more current than this file. |
|
|
|
.SUFFIXES: .cxx |
|
|
|
DIR_O=. |
|
DIR_BIN=..\bin |
|
|
|
COMPONENT=$(DIR_BIN)\Scintilla.dll |
|
LIBSCI=$(DIR_BIN)\libscintilla.lib |
|
|
|
LD=link |
|
|
|
!IFDEF SUPPORT_XP |
|
ADD_DEFINE=-D_USING_V110_SDK71_ |
|
# Different subsystems for 32-bit and 64-bit Windows XP so detect based on Platform |
|
# environment variable set by vcvars*.bat to be either x86 or x64 |
|
!IF "$(PLATFORM)" == "x64" |
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.02 |
|
!ELSE |
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.01 |
|
!ENDIF |
|
!ELSE |
|
CETCOMPAT=-CETCOMPAT |
|
!IFDEF ARM64 |
|
ADD_DEFINE=-D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1 |
|
SUBSYSTEM=-SUBSYSTEM:WINDOWS,10.00 |
|
!ENDIF |
|
!ENDIF |
|
|
|
CRTFLAGS=-D_CRT_SECURE_NO_DEPRECATE=1 $(ADD_DEFINE) |
|
CXXFLAGS=-Zi -TP -MP -W4 -EHsc -std:c++17 -utf-8 $(CRTFLAGS) |
|
CXXDEBUG=-Od -MTd -DDEBUG |
|
CXXNDEBUG=-O2 -MT -DNDEBUG -GL |
|
NAME=-Fo |
|
LDFLAGS=-OPT:REF -LTCG -IGNORE:4197 -DEBUG $(SUBSYSTEM) $(CETCOMPAT) |
|
LDDEBUG= |
|
LIBS=KERNEL32.lib USER32.lib GDI32.lib IMM32.lib OLE32.lib OLEAUT32.lib ADVAPI32.lib |
|
NOLOGO=-nologo |
|
|
|
!IFDEF QUIET |
|
CXX=@$(CXX) |
|
CXXFLAGS=$(CXXFLAGS) $(NOLOGO) |
|
LDFLAGS=$(LDFLAGS) $(NOLOGO) |
|
!ENDIF |
|
|
|
!IFDEF NO_CXX11_REGEX |
|
CXXFLAGS=$(CXXFLAGS) -DNO_CXX11_REGEX |
|
!ENDIF |
|
|
|
!IFDEF DEBUG |
|
CXXFLAGS=$(CXXFLAGS) $(CXXDEBUG) |
|
LDFLAGS=$(LDDEBUG) $(LDFLAGS) |
|
!ELSE |
|
CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG) |
|
!ENDIF |
|
|
|
INCLUDES=-I../include -I../src |
|
CXXFLAGS=$(CXXFLAGS) $(INCLUDES) |
|
|
|
all: $(COMPONENT) $(LIBSCI) |
|
|
|
clean: |
|
-del /q $(DIR_O)\*.obj $(DIR_O)\*.pdb $(DIR_O)\*.asm $(COMPONENT) \ |
|
$(DIR_O)\*.res $(DIR_BIN)\*.map $(DIR_BIN)\*.exp $(DIR_BIN)\*.pdb \ |
|
$(DIR_BIN)\Scintilla.lib $(LIBSCI) |
|
|
|
depend: |
|
pyw DepGen.py |
|
|
|
# Required for base Scintilla |
|
SRC_OBJS=\ |
|
$(DIR_O)\AutoComplete.obj \ |
|
$(DIR_O)\CallTip.obj \ |
|
$(DIR_O)\CaseConvert.obj \ |
|
$(DIR_O)\CaseFolder.obj \ |
|
$(DIR_O)\CellBuffer.obj \ |
|
$(DIR_O)\ChangeHistory.obj \ |
|
$(DIR_O)\CharacterCategoryMap.obj \ |
|
$(DIR_O)\CharacterType.obj \ |
|
$(DIR_O)\CharClassify.obj \ |
|
$(DIR_O)\ContractionState.obj \ |
|
$(DIR_O)\DBCS.obj \ |
|
$(DIR_O)\Decoration.obj \ |
|
$(DIR_O)\Document.obj \ |
|
$(DIR_O)\EditModel.obj \ |
|
$(DIR_O)\Editor.obj \ |
|
$(DIR_O)\EditView.obj \ |
|
$(DIR_O)\Geometry.obj \ |
|
$(DIR_O)\Indicator.obj \ |
|
$(DIR_O)\KeyMap.obj \ |
|
$(DIR_O)\LineMarker.obj \ |
|
$(DIR_O)\MarginView.obj \ |
|
$(DIR_O)\PerLine.obj \ |
|
$(DIR_O)\PositionCache.obj \ |
|
$(DIR_O)\RESearch.obj \ |
|
$(DIR_O)\RunStyles.obj \ |
|
$(DIR_O)\Selection.obj \ |
|
$(DIR_O)\Style.obj \ |
|
$(DIR_O)\UndoHistory.obj \ |
|
$(DIR_O)\UniConversion.obj \ |
|
$(DIR_O)\UniqueString.obj \ |
|
$(DIR_O)\ViewStyle.obj \ |
|
$(DIR_O)\XPM.obj |
|
|
|
|
|
# To have PCRE boost regex with header only is integrated and not just the one from std |
|
!INCLUDE ../../boostregex/nppSpecifics.mak |
|
|
|
COMPONENT_OBJS = \ |
|
$(DIR_O)\HanjaDic.obj \ |
|
$(DIR_O)\PlatWin.obj \ |
|
$(DIR_O)\ScintillaBase.obj \ |
|
$(DIR_O)\ScintillaWin.obj \ |
|
$(SRC_OBJS) |
|
|
|
SHARED_OBJS = \ |
|
$(DIR_O)\ScintillaDLL.obj |
|
|
|
$(DIR_O)\ScintRes.res : ScintRes.rc |
|
$(RC) -fo$@ $** |
|
|
|
$(COMPONENT): $(COMPONENT_OBJS) $(SHARED_OBJS) $(DIR_O)\ScintRes.res |
|
$(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS) |
|
|
|
$(LIBSCI): $(COMPONENT_OBJS) |
|
LIB /OUT:$@ $** |
|
|
|
# Define how to build all the objects and what they depend on |
|
|
|
{..\src}.cxx{$(DIR_O)}.obj:: |
|
$(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $< |
|
{.}.cxx{$(DIR_O)}.obj:: |
|
$(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $< |
|
|
|
# Dependencies |
|
|
|
!IF EXISTS(nmdeps.mak) |
|
|
|
# Protect with !IF EXISTS to handle accidental deletion - just 'nmake -f scintilla.mak depend' |
|
|
|
!INCLUDE nmdeps.mak |
|
|
|
!ENDIF |
|
|
|
|