1 # Make file for Scintilla on Windows
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 assumes the mingw32 version of GCC 3.x or 4.x is used and changes will
5 # be needed to use other compilers.
11 COMPONENT
= ..
/bin
/Scintilla.dll
12 LEXCOMPONENT
= ..
/bin
/SciLexer.dll
15 vpath
%.h ..
/src ..
/include ..
/lexlib
16 vpath
%.
cxx ..
/src ..
/lexlib ..
/lexers
18 LDFLAGS
=-shared
-static
-Wl
,--enable-runtime-pseudo-reloc-v2
-mwindows
-Wl
,--add-stdcall-alias
19 LIBS
=-lstdc
++ -limm32
-lole32
-luuid
20 # Add -MMD to get dependencies
21 INCLUDEDIRS
=-I ..
/include -I ..
/src
-I..
/lexlib
22 CXXBASEFLAGS
=-Wall
-Wno-missing-braces
-Wno-char-subscripts
-pedantic
$(INCLUDEDIRS
) -fno-rtti
25 CXXFLAGS
=-DDEBUG
-g
$(CXXBASEFLAGS
)
27 CXXFLAGS
=-DNDEBUG
-Os
$(CXXBASEFLAGS
)
32 $(CC
) $(CXXFLAGS
) -c
$<
34 ALL
: $(COMPONENT
) $(LEXCOMPONENT
) $(LEXLIB
) ScintillaWinS.o
37 $(DEL
) *.exe
*.o
*.obj
*.dll
*.res
*.map
40 $(CC
) -MM
$(CXXFLAGS
) *.
cxx ..
/src
/*.
cxx ..
/lexlib
/*.
cxx ..
/lexers
/*.
cxx >deps.mak
42 LEXOBJS
:=$(addsuffix .o
,$(basename $(notdir $(wildcard ..
/lexers
/Lex
*.
cxx))))
71 SOBJS
= ScintillaWin.o ScintillaBase.o
$(BASEOBJS
)
73 $(COMPONENT
): $(SOBJS
) Scintilla.def
74 $(CC
) $(LDFLAGS
) -o
$@
$(STRIPFLAG
) $(SOBJS
) $(CXXFLAGS
) $(LIBS
)
89 $(LEXCOMPONENT
): $(LOBJS
) Scintilla.def
90 $(CC
) $(LDFLAGS
) -o
$@
$(STRIPFLAG
) $(LOBJS
) $(CXXFLAGS
) $(LIBS
)
96 # Automatically generate dependencies for most files with "make deps"
99 # These dependencies are maintained by hand as they do not use the default output name
101 ScintillaBaseL.o
: ScintillaBase.
cxx Platform.h \
102 ILexer.h Scintilla.h SciLexer.h PropSetSimple.h \
103 SplitVector.h Partitioning.h RunStyles.h \
104 ContractionState.h CellBuffer.h CallTip.h \
105 KeyMap.h Indicator.h XPM.h LineMarker.h \
106 Style.h ViewStyle.h AutoComplete.h \
107 CharClassify.h Decoration.h Document.h \
108 Selection.h PositionCache.h Editor.h \
109 ScintillaBase.h LexAccessor.h Accessor.h \
110 LexerModule.h Catalogue.h
112 ScintillaWinL.o
: ScintillaWin.
cxx Platform.h \
113 ILexer.h Scintilla.h SplitVector.h \
114 Partitioning.h RunStyles.h ContractionState.h \
115 CellBuffer.h CallTip.h KeyMap.h Indicator.h \
116 XPM.h LineMarker.h Style.h AutoComplete.h \
117 ViewStyle.h CharClassify.h Decoration.h \
118 Document.h Selection.h PositionCache.h \
119 Editor.h ScintillaBase.h UniConversion.h \
120 LexAccessor.h Accessor.h \
121 LexerModule.h Catalogue.h
123 ScintillaWinS.o
: ScintillaWin.
cxx Platform.h \
124 ILexer.h Scintilla.h SplitVector.h \
125 Partitioning.h RunStyles.h ContractionState.h \
126 CellBuffer.h CallTip.h KeyMap.h Indicator.h \
127 XPM.h LineMarker.h Style.h AutoComplete.h \
128 ViewStyle.h CharClassify.h Decoration.h \
129 Document.h Selection.h PositionCache.h \
130 Editor.h ScintillaBase.h UniConversion.h
133 $(CC
) $(CXXFLAGS
) -D SCI_LEXER
-c
$< -o
$@
136 $(CC
) $(CXXFLAGS
) -D STATIC_BUILD
-c
$< -o
$@
139 $(CC
) $(CXXFLAGS
) -D SCI_LEXER
-c
$< -o
$@
141 ScintRes.o
: ScintRes.rc
142 windres ScintRes.rc
$@