9644fb0ae2
This makes it easier to define it consistently to what the compiler and platform supports, and avoids having to include a special header everywhere, which is some kind of a problem for separate libraries like TagManager and especially Scintilla. As we only use these macros from the source and not the headers, it is fine for it to be defined to a configure-time check from the build system. Warning: Although Waf and Windows makefiles are updated they are not tested an will probably required tuning.
85 lines
2.4 KiB
Plaintext
85 lines
2.4 KiB
Plaintext
# Make file for Scintilla on Linux or compatible OS
|
|
# 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 assumes GCC 4.3 is used and changes will be needed to use other compilers.
|
|
# GNU make does not like \r\n line endings so should be saved to CVS in binary form.
|
|
# Builds for GTK+ 2 and no longer supports GTK+ 1.
|
|
# Also works with ming32-make on Windows.
|
|
|
|
.SUFFIXES: .cxx .c .o .h .a
|
|
CXX = g++
|
|
CC = gcc
|
|
AR = ar
|
|
|
|
ifdef GTK3
|
|
GTKVERSION=gtk+-3.0
|
|
else
|
|
GTKVERSION=gtk+-2.0
|
|
endif
|
|
|
|
RANLIB = ranlib
|
|
PREFIX = C:/libs
|
|
RM = del
|
|
-include ../../localwin32.mk
|
|
|
|
ifdef MSYS
|
|
RM = rm -f
|
|
endif
|
|
|
|
COMPLIB=../scintilla.a
|
|
|
|
vpath %.h ../src ../include ../lexlib
|
|
vpath %.cxx ../src ../lexlib ../lexers
|
|
|
|
INCLUDEDIRS=-I ../include -I ../src -I ../lexlib
|
|
CXXBASEFLAGS=-Wall -Wno-missing-braces -Wno-char-subscripts -DGTK -DSCI_LEXER $(INCLUDEDIRS) \
|
|
-DGEANY_EXPORT_SYMBOL="__declspec(dllexport)" \
|
|
-DGEANY_API_SYMBOL=GEANY_EXPORT_SYMBOL
|
|
|
|
ifdef THREADS
|
|
THREADFLAGS=
|
|
else
|
|
THREADFLAGS=-DG_THREADS_IMPL_NONE
|
|
endif
|
|
|
|
|
|
ifdef DEBUG
|
|
CTFLAGS=-DDEBUG -g -O0 $(CXXBASEFLAGS) $(THREADFLAGS)
|
|
else
|
|
CTFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS) $(THREADFLAGS)
|
|
endif
|
|
|
|
CFLAGS:=$(CTFLAGS)
|
|
CXXTFLAGS:=--std=c++0x $(CTFLAGS) $(REFLAGS)
|
|
|
|
CONFIGFLAGS:=$(shell pkg-config --cflags $(GTKVERSION))
|
|
MARSHALLER=scintilla-marshal.o
|
|
|
|
.cxx.o:
|
|
$(CXX) $(CONFIGFLAGS) $(CXXTFLAGS) $(CXXFLAGS) -c $<
|
|
.c.o:
|
|
$(CC) $(CONFIGFLAGS) $(CFLAGS) -w -c $<
|
|
|
|
LEXOBJS:=$(addsuffix .o,$(basename $(notdir $(wildcard ../lexers/Lex*.cxx))))
|
|
|
|
all: $(COMPLIB)
|
|
|
|
clean:
|
|
-$(RM) deps.mak *.o $(COMPLIB) *.plist
|
|
|
|
deps.mak:
|
|
$(CXX) -MM $(CONFIGFLAGS) $(CXXTFLAGS) *.cxx ../src/*.cxx ../lexlib/*.cxx ../lexers/*.cxx >deps.mak
|
|
|
|
$(COMPLIB): Accessor.o CharacterSet.o LexerBase.o LexerModule.o LexerSimple.o StyleContext.o WordList.o \
|
|
CharClassify.o Decoration.o Document.o PerLine.o Catalogue.o CallTip.o CaseConvert.o CaseFolder.o \
|
|
ScintillaBase.o ContractionState.o EditModel.o Editor.o EditView.o ExternalLexer.o MarginView.o \
|
|
PropSetSimple.o PlatGTK.o \
|
|
KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o CellBuffer.o CharacterCategory.o ViewStyle.o \
|
|
RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \
|
|
$(MARSHALLER) $(LEXOBJS)
|
|
$(AR) rc $@ $^
|
|
$(RANLIB) $@
|
|
|
|
# Generate header dependencies with "make deps.mak"
|
|
include deps.mak
|