aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-12-29 11:13:51 +1100
committerNeil <nyamatongwe@gmail.com>2019-12-29 11:13:51 +1100
commiteeaa5bf8f4664259c0bd95e20a7cacad480ce4a7 (patch)
tree94ce748aefcc882f529a1ba9ae5bca8dbe928cef
parenta9d4d9cc99b8f5bf24aad8fb0b11c893565c9ce3 (diff)
downloadscintilla-mirror-eeaa5bf8f4664259c0bd95e20a7cacad480ce4a7.tar.gz
Backport: Standardize names and order between make files on win32 and gtk.
Backport of changeset 7853:662b62122bcb.
-rw-r--r--gtk/makefile7
-rw-r--r--win32/makefile107
-rw-r--r--win32/scintilla.mak61
3 files changed, 104 insertions, 71 deletions
diff --git a/gtk/makefile b/gtk/makefile
index ef557eb95..22d937de8 100644
--- a/gtk/makefile
+++ b/gtk/makefile
@@ -74,6 +74,7 @@ DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG)
BASE_FLAGS += $(if $(DEBUG),-g,-Os)
CXX_BASE_FLAGS =--std=gnu++0x $(BASE_FLAGS)
+CXX_ALL_FLAGS =$(DEFINES) $(INCLUDES) $(CXX_BASE_FLAGS) $(CONFIG_FLAGS)
ifdef LPEG_LEXER
CXX_BASE_FLAGS += -DLPEG_LEXER -I ../src/lua
LUA_CFLAGS:=-std=c99 -pedantic -Wall -I ../src/lua -DLUA_USE_POSIX -DLUA_USE_DLOPEN
@@ -95,7 +96,7 @@ clean:
$(DEL) *.o $(call normalize,$(COMPLIB)) *.plist
.cxx.o:
- $(CXX) $(DEFINES) $(INCLUDES) $(CONFIG_FLAGS) $(CXX_BASE_FLAGS) $(CXXFLAGS) -c $<
+ $(CXX) $(CXX_ALL_FLAGS) $(CXXFLAGS) -c $<
.c.o:
$(CC) $(DEFINES) $(INCLUDES) $(CONFIG_FLAGS) $(BASE_FLAGS) $(CFLAGS) -w -c $<
$(LUA_OBJS): %.o: ../lua/src/%.c
@@ -109,14 +110,14 @@ GLIB_GENMARSHAL_FLAGS = --prefix=scintilla_marshal
.list.c:
$(GLIB_GENMARSHAL) --body $(GLIB_GENMARSHAL_FLAGS) $< > $@
-LEX_OBJS:=$(addsuffix .o,$(basename $(sort $(notdir $(wildcard $(srcdir)/../lexers/Lex*.cxx)))))
-
analyze:
clang --analyze $(DEFINES) $(INCLUDES) $(CONFIG_FLAGS) $(CXX_BASE_FLAGS) $(CXXFLAGS) $(srcdir)/*.cxx $(basedir)/src/*.cxx $(basedir)/lexlib/*.cxx $(basedir)/lexers/*.cxx
depend deps.mak:
python DepGen.py
+LEX_OBJS:=$(addsuffix .o,$(basename $(sort $(notdir $(wildcard $(basedir)/lexers/Lex*.cxx)))))
+
# Required for base Scintilla
SRC_OBJS = \
AutoComplete.o \
diff --git a/win32/makefile b/win32/makefile
index e26ee6c5e..fa3720807 100644
--- a/win32/makefile
+++ b/win32/makefile
@@ -5,7 +5,7 @@
# This makefile assumes the MinGW32 version of GCC 4.8+ is used and changes will
# be needed to use other compilers.
-.SUFFIXES: .cxx
+.SUFFIXES: .cxx .c .o .h .a
DIR_BIN=../bin
@@ -13,25 +13,30 @@ COMPONENT = $(DIR_BIN)/Scintilla.dll
LEXCOMPONENT = $(DIR_BIN)/SciLexer.dll
LIBSCI = $(DIR_BIN)/libscintilla.a
+WARNINGS = -Wpedantic -Wall
+
ifdef CLANG
CXX = clang++
+DEFINES += -D_CRT_SECURE_NO_DEPRECATE
# Clang doesn't like omitting braces in array initialization but they just add noise,
# public visibility avoids warnings like 'locally defined symbol __std_terminate imported'
-CLANG_OPTS = -Wno-missing-braces -Xclang -flto-visibility-public-std
+DEFINES += -Wno-missing-braces -Xclang -flto-visibility-public-std
else
# MinGW GCC
LIBSMINGW = -lstdc++
STRIPOPTION = -s
-CXXSTD = gnu++0x
endif
+ARFLAGS = rc
+RANLIB ?= ranlib
+WINDRES ?= windres
-ifeq ($(OS),Windows_NT)
+# Environment variable windir always defined on Win32
+
+ifdef windir
DEL = $(if $(wildcard $(dir $(SHELL))rm.exe), $(dir $(SHELL))rm.exe -f, del /q)
else
DEL = rm -f
endif
-RANLIB ?= ranlib
-WINDRES ?= windres
vpath %.h ../src ../include ../lexlib
vpath %.cxx ../src ../lexlib ../lexers
@@ -39,22 +44,25 @@ vpath %.c ../lua/src
LDFLAGS=-shared -static -mwindows
LIBS=-lgdi32 -luser32 -limm32 -lole32 -luuid -loleaut32 -lmsimg32 $(LIBSMINGW)
-# Add -MMD to get dependencies
-INCLUDEDIRS=-I ../include -I ../src -I../lexlib
-CXXBASEFLAGS=--std=$(CXXSTD) -Wall -pedantic $(INCLUDEDIRS) -D_CRT_SECURE_NO_DEPRECATE=1
+INCLUDES=-I ../include -I ../src -I../lexlib
+
+BASE_FLAGS += $(WARNINGS)
ifdef NO_CXX11_REGEX
-REFLAGS=-DNO_CXX11_REGEX
+DEFINES += -DNO_CXX11_REGEX
endif
-ifdef DEBUG
-CXXFLAGS=-DDEBUG -g $(CXXBASEFLAGS)
-else
-CXXFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS)
+DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG)
+BASE_FLAGS += $(if $(DEBUG),-g,-Os)
+
+ifndef DEBUG
STRIPFLAG=$(STRIPOPTION)
endif
+CXX_BASE_FLAGS =--std=gnu++0x $(BASE_FLAGS)
+CXX_ALL_FLAGS =$(DEFINES) $(INCLUDES) $(CXX_BASE_FLAGS)
+
all: $(COMPONENT) $(LEXCOMPONENT) $(LIBSCI)
clean:
@@ -71,21 +79,18 @@ LUAOBJS:=lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o linit.o \
endif
.cxx.o:
- $(CXX) $(CXXFLAGS) $(REFLAGS) -c $<
-
-.c.o:
- $(CC) $(CFLAGS) -c $<
+ $(CXX) $(CXX_ALL_FLAGS) $(CXXFLAGS) -c $<
analyze:
- $(CXX) --analyze $(CXXFLAGS) *.cxx ../src/*.cxx ../lexlib/*.cxx ../lexers/*.cxx
+ $(CXX) --analyze $(CXX_ALL_FLAGS) $(CXXFLAGS) *.cxx ../src/*.cxx ../lexlib/*.cxx ../lexers/*.cxx
depend deps.mak:
python DepGen.py
-LEXOBJS:=$(addsuffix .o,$(basename $(sort $(notdir $(wildcard ../lexers/Lex*.cxx)))))
+LEX_OBJS:=$(addsuffix .o,$(basename $(sort $(notdir $(wildcard ../lexers/Lex*.cxx)))))
# Required for base Scintilla
-BASEOBJS = \
+SRC_OBJS = \
AutoComplete.o \
CallTip.o \
CaseConvert.o \
@@ -101,65 +106,77 @@ BASEOBJS = \
EditModel.o \
Editor.o \
EditView.o \
- KeyMap.o \
Indicator.o \
+ KeyMap.o \
LineMarker.o \
MarginView.o \
PerLine.o \
- PlatWin.o \
PositionCache.o \
- PropSetSimple.o \
RESearch.o \
RunStyles.o \
- ScintRes.o \
Selection.o \
Style.o \
UniConversion.o \
UniqueString.o \
ViewStyle.o \
- XPM.o \
- HanjaDic.o
-
-SOBJS = ScintillaDLL.o ScintillaWin.o ScintillaBase.o $(BASEOBJS)
+ XPM.o
# Required by lexers
-LEXLIBOBJS=\
+LEXLIB_OBJS = \
Accessor.o \
Catalogue.o \
- ExternalLexer.o \
DefaultLexer.o \
+ ExternalLexer.o \
LexerBase.o \
LexerModule.o \
LexerSimple.o \
+ PropSetSimple.o \
StyleContext.o \
- WordList.o \
+ WordList.o
# Required by libraries and DLLs that include lexing
-SCILEXOBJS=\
- $(BASEOBJS) \
- $(LEXLIBOBJS) \
- $(LEXOBJS) \
+SCILEX_OBJS=\
+ $(SRC_OBJS) \
+ $(LEXLIB_OBJS) \
+ $(LEX_OBJS) \
$(LUAOBJS) \
- ScintillaBaseL.o
+ HanjaDic.o \
+ PlatWin.o \
+ ScintillaBaseL.o \
+ ScintillaWinL.o
+
+COMPONENT_OBJS = \
+ $(SRC_OBJS) \
+ HanjaDic.o \
+ PlatWin.o \
+ ScintillaBase.o \
+ ScintillaDLL.o \
+ ScintillaWin.o \
+ ScintRes.o
+
+LEXCOMPONENT_OBJS = \
+ $(SCILEX_OBJS) \
+ ScintillaDLL.o \
+ ScintRes.o
-$(COMPONENT): $(SOBJS) Scintilla.def
- $(CXX) $(LDFLAGS) -o $@ $(STRIPFLAG) $(SOBJS) $(CXXFLAGS) $(LIBS)
+$(COMPONENT): $(COMPONENT_OBJS) Scintilla.def
+ $(CXX) $(LDFLAGS) -o $@ $(STRIPFLAG) $(COMPONENT_OBJS) $(CXXFLAGS) $(LIBS)
-$(LEXCOMPONENT): ScintillaDLL.o ScintillaWinL.o $(SCILEXOBJS) Scintilla.def
- $(CXX) $(LDFLAGS) -o $@ $(STRIPFLAG) ScintillaDLL.o ScintillaWinL.o $(SCILEXOBJS) $(CXXFLAGS) $(LIBS)
+$(LEXCOMPONENT): $(LEXCOMPONENT_OBJS) Scintilla.def
+ $(CXX) $(LDFLAGS) -o $@ $(STRIPFLAG) $(LEXCOMPONENT_OBJS) $(CXXFLAGS) $(LIBS)
-$(LIBSCI): ScintillaWin.o $(SCILEXOBJS)
- $(AR) rc $@ $^
+$(LIBSCI): $(SCILEX_OBJS)
+ $(AR) $(ARFLAGS) $@ $^
$(RANLIB) $@
# Automatically generate dependencies for most files with "make deps"
include deps.mak
ScintillaBaseL.o:
- $(CXX) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
+ $(CXX) $(CXX_ALL_FLAGS) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
ScintillaWinL.o:
- $(CXX) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
+ $(CXX) $(CXX_ALL_FLAGS) $(CXXFLAGS) -D SCI_LEXER -c $< -o $@
ScintRes.o: ScintRes.rc
$(WINDRES) ScintRes.rc $@
diff --git a/win32/scintilla.mak b/win32/scintilla.mak
index 567c51405..db855fc60 100644
--- a/win32/scintilla.mak
+++ b/win32/scintilla.mak
@@ -54,8 +54,8 @@ LDFLAGS=$(LDDEBUG) $(LDFLAGS)
CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG)
!ENDIF
-INCLUDEDIRS=-I../include -I../src -I../lexlib
-CXXFLAGS=$(CXXFLAGS) $(INCLUDEDIRS)
+INCLUDES=-I../include -I../src -I../lexlib
+CXXFLAGS=$(CXXFLAGS) $(INCLUDES)
all: $(COMPONENT) $(LEXCOMPONENT) $(LIBSCI)
@@ -67,7 +67,7 @@ depend:
python DepGen.py
# Required for base Scintilla
-BASEOBJS=\
+SRC_OBJS=\
$(DIR_O)\AutoComplete.obj \
$(DIR_O)\CallTip.obj \
$(DIR_O)\CaseConvert.obj \
@@ -88,7 +88,6 @@ BASEOBJS=\
$(DIR_O)\LineMarker.obj \
$(DIR_O)\MarginView.obj \
$(DIR_O)\PerLine.obj \
- $(DIR_O)\PlatWin.obj \
$(DIR_O)\PositionCache.obj \
$(DIR_O)\PropSetSimple.obj \
$(DIR_O)\RESearch.obj \
@@ -98,18 +97,11 @@ BASEOBJS=\
$(DIR_O)\UniConversion.obj \
$(DIR_O)\UniqueString.obj \
$(DIR_O)\ViewStyle.obj \
- $(DIR_O)\XPM.obj \
- $(DIR_O)\HanjaDic.obj \
-
-SOBJS=\
- $(BASEOBJS) \
- $(DIR_O)\ScintillaBase.obj \
- $(DIR_O)\ScintillaWin.obj \
- $(DIR_O)\ScintillaDLL.obj
+ $(DIR_O)\XPM.obj
#++Autogenerated -- run scripts/LexGen.py to regenerate
-#**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
-LEXOBJS=\
+#**LEX_OBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
+LEX_OBJS=\
$(DIR_O)\LexA68k.obj \
$(DIR_O)\LexAbaqus.obj \
$(DIR_O)\LexAda.obj \
@@ -228,7 +220,7 @@ LEXOBJS=\
#--Autogenerated -- end of automatically generated section
# Required by lexers
-LEXLIBOBJS=\
+LEXLIB_OBJS = \
$(DIR_O)\Accessor.obj \
$(DIR_O)\Catalogue.obj \
$(DIR_O)\ExternalLexer.obj \
@@ -240,22 +232,45 @@ LEXLIBOBJS=\
$(DIR_O)\WordList.obj \
# Required by libraries and DLLs that include lexing
-SCILEXOBJS=\
- $(BASEOBJS) \
- $(LEXLIBOBJS) \
- $(LEXOBJS) \
- $(DIR_O)\ScintillaBaseL.obj
+SCILEX_OBJS = \
+ $(SRC_OBJS) \
+ $(LEXLIB_OBJS) \
+ $(LEX_OBJS) \
+ $(DIR_O)\HanjaDic.obj \
+ $(DIR_O)\PlatWin.obj \
+ $(DIR_O)\ScintillaBaseL.obj \
+ $(DIR_O)\ScintillaWinL.obj
+
+COMPONENT_OBJS = \
+ $(DIR_O)\HanjaDic.obj \
+ $(DIR_O)\PlatWin.obj \
+ $(DIR_O)\ScintillaBase.obj \
+ $(DIR_O)\ScintillaDLL.obj \
+ $(DIR_O)\ScintillaWin.obj \
+ $(SRC_OBJS)
+
+LEXCOMPONENT_OBJS = \
+ $(DIR_O)\ScintillaDLL.obj \
+ $(SCILEX_OBJS)
+
+SOBJS = \
+ $(SRC_OBJS) \
+ $(DIR_O)\HanjaDic.obj \
+ $(DIR_O)\PlatWin.obj \
+ $(DIR_O)\ScintillaBase.obj \
+ $(DIR_O)\ScintillaWin.obj \
+ $(DIR_O)\ScintillaDLL.obj
$(DIR_O)\ScintRes.res : ScintRes.rc
$(RC) -fo$@ $**
-$(COMPONENT): $(SOBJS) $(DIR_O)\ScintRes.res
+$(COMPONENT): $(COMPONENT_OBJS) $(DIR_O)\ScintRes.res
$(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
-$(LEXCOMPONENT): $(SCILEXOBJS) $(DIR_O)\ScintillaDLL.obj $(DIR_O)\ScintillaWinL.obj $(DIR_O)\ScintRes.res
+$(LEXCOMPONENT): $(LEXCOMPONENT_OBJS) $(DIR_O)\ScintRes.res
$(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
-$(LIBSCI): $(SCILEXOBJS) $(DIR_O)\ScintillaWin.obj
+$(LIBSCI): $(SCILEX_OBJS)
LIB /OUT:$@ $**
# Define how to build all the objects and what they depend on