118 lines
4.7 KiB
Makefile
118 lines
4.7 KiB
Makefile
# Make file for Scintilla on Windows
|
|
# Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org>
|
|
# The License.txt file describes the conditions under which this software may be distributed.
|
|
# This makefile assumes the mingw32 version of GCC 2.95.3 is used and changes will
|
|
# be needed to use other compilers.
|
|
# The -fvtable-thunks option is required for older (2.9*) versions of gcc but can be removed
|
|
# safely if using a newer version which may display warning messages.
|
|
|
|
.SUFFIXES: .cxx
|
|
CC = g++
|
|
DLLWRAP = dllwrap
|
|
DEL = del /q
|
|
|
|
COMPONENT = ../bin/Scintilla.dll
|
|
LEXCOMPONENT = ../bin/SciLexer.dll
|
|
LEXLIB = Lexers.a
|
|
|
|
ifndef NOTHUNKS
|
|
gversion = $(word 1,$(subst ., ,$(shell g++ --version)))
|
|
ifeq ($(gversion),2)
|
|
THUNKFLAGS=-fvtable-thunks
|
|
endif
|
|
endif
|
|
|
|
vpath %.h ../src ../include
|
|
vpath %.cxx ../src
|
|
|
|
LDFLAGS=-mwindows -lstdc++ -limm32 -lole32 -luuid -mno-cygwin
|
|
# Add -MMD to get dependencies
|
|
#CXXFLAGS = -g -pg -pedantic -Os -fno-exceptions -fvtable-thunks -fno-rtti
|
|
INCLUDEDIRS=-I ../include -I ../src
|
|
CXXBASEFLAGS=-Wall -Wno-missing-braces -Wno-char-subscripts -pedantic $(INCLUDEDIRS) -Os -fno-exceptions $(THUNKFLAGS) -fno-rtti -mno-cygwin
|
|
|
|
ifdef DEBUG
|
|
CXXFLAGS=-DDEBUG $(CXXBASEFLAGS)
|
|
else
|
|
CXXFLAGS=-DNDEBUG $(CXXBASEFLAGS)
|
|
endif
|
|
|
|
.cxx.o:
|
|
$(CC) $(CXXFLAGS) -c $<
|
|
|
|
ALL: $(COMPONENT) $(LEXCOMPONENT) $(LEXLIB) ScintillaWinS.o WindowAccessor.o
|
|
|
|
clean:
|
|
$(DEL) *.exe *.o *.obj *.dll *.res *.map
|
|
|
|
deps:
|
|
$(CC) -MM $(CXXFLAGS) *.cxx ../src/*.cxx >deps.mak
|
|
|
|
#++Autogenerated -- run src/LexGen.py to regenerate
|
|
#**LEXOBJS=\\\n\(\*.o \)
|
|
LEXOBJS=\
|
|
LexAbaqus.o LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexASY.o LexAU3.o LexAVE.o \
|
|
LexBaan.o LexBash.o LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o \
|
|
LexConf.o LexCPP.o LexCrontab.o LexCsound.o LexCSS.o LexD.o LexEiffel.o \
|
|
LexErlang.o LexEScript.o LexFlagship.o LexForth.o LexFortran.o LexGAP.o \
|
|
LexGui4Cli.o LexHaskell.o LexHTML.o LexInno.o LexKix.o LexLisp.o LexLout.o \
|
|
LexLua.o LexMagik.o LexMatlab.o LexMetapost.o LexMMIXAL.o LexMPT.o LexMSSQL.o \
|
|
LexNsis.o LexObjC.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o \
|
|
LexPLM.o LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o \
|
|
LexRebol.o LexRuby.o LexScriptol.o LexSearchResult.o LexSmalltalk.o \
|
|
LexSpecman.o LexSpice.o LexSQL.o LexTADS3.o LexTCL.o LexTeX.o LexUser.o \
|
|
LexVB.o LexVerilog.o LexVHDL.o LexYAML.o
|
|
#--Autogenerated -- end of automatically generated section
|
|
|
|
SOBJS = ScintillaWin.o ScintillaBase.o Editor.o CharClassify.o Decoration.o \
|
|
Document.o ContractionState.o CellBuffer.o CallTip.o \
|
|
ScintRes.o PlatWin.o PositionCache.o KeyMap.o Indicator.o LineMarker.o RESearch.o RunStyles.o \
|
|
Style.o ViewStyle.o AutoComplete.o UniConversion.o PropSet.o XPM.o
|
|
$(COMPONENT): $(SOBJS) Scintilla.def
|
|
$(DLLWRAP) --add-stdcall-alias --target i386-mingw32 -o $@ $(SOBJS) $(LDFLAGS) -s --relocatable
|
|
|
|
LOBJS = ScintillaWinL.o ScintillaBaseL.o Editor.o CharClassify.o Decoration.o \
|
|
Document.o ContractionState.o CellBuffer.o CallTip.o \
|
|
ScintRes.o PlatWin.o PositionCache.o KeyMap.o Indicator.o LineMarker.o RESearch.o RunStyles.o \
|
|
Style.o ViewStyle.o AutoComplete.o UniConversion.o KeyWords.o \
|
|
DocumentAccessor.o PropSet.o ExternalLexer.o StyleContext.o XPM.o $(LEXOBJS)
|
|
$(LEXCOMPONENT): $(LOBJS) Scintilla.def
|
|
$(DLLWRAP) --add-stdcall-alias --target i386-mingw32 -o $@ $(LOBJS) $(LDFLAGS) -s --relocatable
|
|
|
|
$(LEXLIB): $(LEXOBJS)
|
|
$(AR) rc $@ $^
|
|
ranlib $@
|
|
|
|
# Automatically generate dependencies for most files with "make deps"
|
|
include deps.mak
|
|
|
|
# These dependencies are maintained by hand as they do not use the default output name
|
|
ScintillaBaseL.o: ScintillaBase.cxx Platform.h Scintilla.h SciLexer.h \
|
|
ContractionState.h CellBuffer.h CallTip.h KeyMap.h Indicator.h \
|
|
LineMarker.h Style.h AutoComplete.h ViewStyle.h Document.h Editor.h \
|
|
ScintillaBase.h PropSet.h SString.h Accessor.h DocumentAccessor.h \
|
|
KeyWords.h ExternalLexer.h
|
|
ScintillaWinL.o: ScintillaWin.cxx Platform.h Scintilla.h SciLexer.h \
|
|
ContractionState.h CellBuffer.h CallTip.h KeyMap.h Indicator.h \
|
|
LineMarker.h Style.h AutoComplete.h ViewStyle.h Document.h Editor.h \
|
|
ScintillaBase.h PropSet.h SString.h Accessor.h KeyWords.h \
|
|
ExternalLexer.h UniConversion.h
|
|
ScintillaWinS.o: ScintillaWin.cxx Platform.h Scintilla.h \
|
|
ContractionState.h CellBuffer.h CallTip.h KeyMap.h Indicator.h \
|
|
LineMarker.h Style.h AutoComplete.h ViewStyle.h Document.h Editor.h \
|
|
ScintillaBase.h UniConversion.h
|
|
|
|
ScintillaBaseL.o:
|
|
$(CC) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
|
|
|
|
ScintillaWinS.o:
|
|
$(CC) $(CXXFLAGS) -D STATIC_BUILD -c $< -o $@
|
|
|
|
ScintillaWinL.o:
|
|
$(CC) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
|
|
|
|
ScintRes.o: ScintRes.rc PlatformRes.h
|
|
windres ScintRes.rc $@
|
|
|
|
|