Merge branch 'scintilla-update-342'
[geany-mirror.git] / scintilla / makefile.win32
blob6daac9b63e370953ba6af2c6ae3bfeedeb093377
1 # Make file for Scintilla on Linux or compatible OS
2 # Copyright 1998-2001 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 GCC 3.1 is used and changes will be needed to use other compilers.
5 # GNU make does not like \r\n line endings so should be saved to CVS in binary form.
6 # Builds for GTK+ 2 if available else GTK+ 1.
7 # To force GTK+ 2 build, define GTK2 on the make command line.
8 # To force GTK+ 1 build, define GTK1 on the make command line.
10 .SUFFIXES: .cxx .c .o .h .a
11 CXX = g++
12 CC = gcc
13 AR = ar
14 RANLIB = ranlib
15 PREFIX = C:/libs
16 RM = del
17 -include ../localwin32.mk
19 ifdef MSYS
20 RM = rm -f
21 endif
23 COMPLIB=scintilla.a
25 GTK_INCLUDES= \
26         -I$(PREFIX)/include/gtk-2.0 \
27         -I$(PREFIX)/lib/gtk-2.0/include \
28         -I$(PREFIX)/include/atk-1.0 \
29         -I$(PREFIX)/include/cairo \
30         -I$(PREFIX)/include/gdk-pixbuf-2.0 \
31         -I$(PREFIX)/include/pango-1.0 \
32         -I$(PREFIX)/include/glib-2.0 \
33         -I$(PREFIX)/lib/glib-2.0/include \
34         -I$(PREFIX)/include \
35         -I$(PREFIX)/include/gettext
38 vpath %.h gtk lexers lexlib src include
39 vpath %.cxx gtk lexers lexlib src
40 vpath %.c gtk
42 INCLUDEDIRS=-I include -I src -I lexlib -I . $(GTK_INCLUDES)
43 CXXBASEFLAGS=-Wall -Wno-missing-braces -Wno-char-subscripts -DGTK -DSCI_LEXER $(INCLUDEDIRS) -mms-bitfields
45 ifdef THREADS
46 THREADFLAGS=
47 else
48 THREADFLAGS=-DG_THREADS_IMPL_NONE
49 endif
51 ifdef DEBUG
52 CXXFLAGS=-DDEBUG -g -O0 $(CXXBASEFLAGS) $(THREADFLAGS)
53 else
54 CXXFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS) $(THREADFLAGS)
55 endif
57 CONFIGFLAGS=$(GTK_INCLUDES)
58 MARSHALLER=scintilla-marshal.o
60 .cxx.o:
61         $(CXX) $(CXXFLAGS) -c $<
62 .c.o:
63         $(CC) $(CXXFLAGS) -c $<
65 LEXOBJS=\
66 LexAbaqus.o \
67 LexAda.o \
68 LexAsm.o \
69 LexBash.o \
70 LexCOBOL.o \
71 LexCSS.o \
72 LexCPP.o \
73 LexHTML.o \
74 LexOthers.o \
75 LexPascal.o \
76 LexPerl.o \
77 LexPO.o \
78 LexPowerShell.o \
79 LexPython.o \
80 LexSQL.o \
81 LexCaml.o \
82 LexTCL.o \
83 LexTxt2tags.o \
84 LexRuby.o \
85 LexErlang.o \
86 LexForth.o \
87 LexFortran.o \
88 LexVHDL.o \
89 LexVerilog.o \
90 LexMarkdown.o \
91 LexMatlab.o \
92 LexD.o \
93 LexLaTeX.o \
94 LexLisp.o \
95 LexLua.o \
96 LexHaskell.o \
97 LexBasic.o \
98 LexR.o \
99 LexRust.o \
100 LexYAML.o \
101 LexCmake.o \
102 LexNsis.o
104 all: $(COMPLIB)
106 clean:
107         -$(RM) deps.mak *.o $(COMPLIB)
109 SRCOBJS=\
110         PlatGTK.o \
111         ScintillaGTK.o \
112         Accessor.o \
113         CharacterCategory.o \
114         CaseConvert.o \
115         CaseFolder.o \
116         CharacterSet.o \
117         LexerBase.o \
118         LexerModule.o \
119         LexerNoExceptions.o \
120         LexerSimple.o \
121         PropSetSimple.o \
122         StyleContext.o \
123         WordList.o \
124         AutoComplete.o \
125         CallTip.o \
126         Catalogue.o \
127         CellBuffer.o \
128         CharClassify.o \
129         ContractionState.o \
130         Decoration.o \
131         Document.o \
132         Editor.o \
133         ExternalLexer.o \
134         Indicator.o \
135         KeyMap.o \
136         LineMarker.o \
137         PerLine.o \
138         PositionCache.o \
139         RESearch.o \
140         RunStyles.o \
141         ScintillaBase.o \
142         Selection.o \
143         Style.o \
144         UniConversion.o \
145         ViewStyle.o \
146         XPM.o
148 $(COMPLIB): $(MARSHALLER) $(LEXOBJS) $(SRCOBJS)
149         $(AR) rc $@ $^
150         $(RANLIB) $@
152 deps.mak:
153         $(CXX) -MM  $(CXXFLAGS) gtk/*.cxx lexers/*.cxx lexlib/*.cxx src/*.cxx >deps.mak
155 # Generate header dependencies with "make deps.mak"
156 include deps.mak