diff options
| author | Neil <nyamatongwe@gmail.com> | 2019-12-29 11:13:51 +1100 |
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2019-12-29 11:13:51 +1100 |
| commit | eeaa5bf8f4664259c0bd95e20a7cacad480ce4a7 (patch) | |
| tree | 94ce748aefcc882f529a1ba9ae5bca8dbe928cef | |
| parent | a9d4d9cc99b8f5bf24aad8fb0b11c893565c9ce3 (diff) | |
| download | scintilla-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/makefile | 7 | ||||
| -rw-r--r-- | win32/makefile | 107 | ||||
| -rw-r--r-- | win32/scintilla.mak | 61 |
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 |
