1818# definitions
1919#
2020
21+ MAKEFILE_ABS_DIR = $(abspath $(dir $(lastword $(MAKEFILE_LIST ) ) ) )
22+
2123GCC_DIRECTORY := ../gcc
2224GCC_EXCLUDE := $(GCC_DIRECTORY ) /gcc-%
2325SRC_DIRECTORY := ../src
@@ -38,8 +40,11 @@ LEXILLA_TARGET := liblexilla.a
3840
3941ifeq ($(CXX ) ,clang++)
4042 CXX := $(CROSS_COMPILE ) clang++
43+ SCI_CLANG := 1
44+ COMPILER_SUFFIX := clang.
4145else
4246 CXX := $(CROSS_COMPILE ) g++
47+ COMPILER_SUFFIX := gcc.
4348endif
4449
4550CXXFLAGS := -include $(GCC_DIRECTORY ) /gcc-fixes.h -std=c++20
@@ -74,26 +79,34 @@ CXXFLAGS += -Og \
7479 -Wextra-semi \
7580 -Wformat=2 \
7681 -Wmisleading-indentation \
77- -Wunused \
78- -Wno-cast-function-type \
79- -Wno-overloaded-virtual
82+ -Wunused
8083CPP_DEFINE += DEBUG
8184endif
8285
8386ifeq ($(CXX ) ,clang++)
84- CXXFLAGS += -Wimplicit-fallthrough \
87+ CXXFLAGS += -Wpedantic \
88+ -Wall \
89+ -Wextra \
90+ -Wimplicit-fallthrough \
8591 -Wno-c++98-compat \
8692 -Wno-c++98-compat-pedantic \
87- -Wno-reserved-id-macro \
88- -Wno-pragma-pack \
89- -Wno-unknown-pragmas \
90- -Wno-unused-command-line-argument \
93+ -Wno-c99-extensions \
94+ -Wno-cast-align \
95+ -Wno-deprecated-declarations \
96+ -Wno-nested-anon-types \
9197 -Wno-overloaded-virtual \
98+ -Wno-padded \
99+ -Wno-pragma-pack \
100+ -Wno-reserved-id-macro \
101+ -Wno-reserved-identifier \
92102 -Wno-sign-conversion \
93- -Wno-c99-extensions \
94- -Wno-deprecated-declarations
95- else ifeq ($(BUILD_TYPE),release)
96- CXXFLAGS += -Wno-alloc-size-larger-than
103+ -Wno-switch-default \
104+ -Wno-unsafe-buffer-usage \
105+ -Wno-unsafe-buffer-usage-in-libc-call \
106+ -Wno-unused-command-line-argument
107+ else
108+ CXXFLAGS += -Wno-cast-function-type \
109+ -Wno-overloaded-virtual
97110endif
98111
99112ifneq "$(filter-out 0,$(CLANGANALYZE ) ) " ""
@@ -135,7 +148,7 @@ export RC += -Fpe-x86-64
135148endif
136149
137150# define target and build directories and update dependent variables
138- TARGET_DIRECTORY := bin.$(TARGET_CPU )$(BUILD_SUFFIX )
151+ TARGET_DIRECTORY := bin.$(COMPILER_SUFFIX )$( TARGET_CPU )$(BUILD_SUFFIX )
139152BUILD_DIRECTORY := $(TARGET_DIRECTORY ) .build
140153
141154TARGET_BINARY := $(TARGET_DIRECTORY ) /$(TARGET_BINARY )
@@ -195,7 +208,7 @@ CPDIR := cp -r
195208RMDIR := rm -rf
196209CP := cp
197210RM := rm -f
198- PREBUILD_EVENT_CMD := cmd //C "cd PowerEditor/ src && NppLibsVersionH-generator.bat"
211+ PREBUILD_EVENT_CMD := cmd //C "$( MAKEFILE_ABS_DIR ) /../ src/ NppLibsVersionH-generator.bat"
199212normalize-path = $1
200213else ifneq "$(wildcard $(dir $(SHELL))ls.exe)" ""
201214# a Windows system with a proper shell
@@ -207,7 +220,7 @@ CPDIR := $(SHELL_DIRECTORY)cp.exe -r
207220RMDIR := $(SHELL_DIRECTORY ) rm.exe -rf
208221CP := $(SHELL_DIRECTORY ) cp.exe
209222RM := $(SHELL_DIRECTORY ) rm.exe -f
210- PREBUILD_EVENT_CMD := cmd //C "cd PowerEditor/ src && NppLibsVersionH-generator.bat"
223+ PREBUILD_EVENT_CMD := cmd //C "$( MAKEFILE_ABS_DIR ) /../ src/ NppLibsVersionH-generator.bat"
211224normalize-path = $1
212225else
213226# a standard Windows system
@@ -269,10 +282,10 @@ $(LEXILLA_TARGET): .force
269282endif
270283
271284$(SCINTILLA_TARGET ) : | $(BUILD_DIRECTORY ) $(SCINTILLA_BUILD_DIRECTORY )
272- $(AT )$(MAKE ) $(SUBMAKEFLAGS ) -C $(SCINTILLA_DIRECTORY ) /win32 -f makefile -f ../../boostregex/nppSpecifics_mingw.mak DIR_O=$(SCINTILLA_BUILD_PATH ) LIBSCI=$(SCINTILLA_TARGET_PATH ) $(SCINTILLA_TARGET_PATH )
285+ $(AT )$(MAKE ) $(SUBMAKEFLAGS ) -C $(SCINTILLA_DIRECTORY ) /win32 -f makefile -f ../../boostregex/nppSpecifics_mingw.mak DIR_O=$(SCINTILLA_BUILD_PATH ) LIBSCI=$(SCINTILLA_TARGET_PATH ) $(SCINTILLA_TARGET_PATH ) CLANG= $( SCI_CLANG )
273286
274287$(LEXILLA_TARGET ) : | $(BUILD_DIRECTORY ) $(LEXILLA_BUILD_DIRECTORY )
275- $(AT )$(MAKE ) $(SUBMAKEFLAGS ) -C $(LEXILLA_DIRECTORY ) /src DIR_O=$(LEXILLA_BUILD_PATH ) LIBLEXILLA=$(LEXILLA_TARGET_PATH ) $(LEXILLA_TARGET_PATH )
288+ $(AT )$(MAKE ) $(SUBMAKEFLAGS ) -C $(LEXILLA_DIRECTORY ) /src DIR_O=$(LEXILLA_BUILD_PATH ) LIBLEXILLA=$(LEXILLA_TARGET_PATH ) $(LEXILLA_TARGET_PATH ) CLANG= $( SCI_CLANG )
276289
277290binary : $(TARGET_BINARY ) data
278291 @echo +++ $(TARGET_CPU ) $(BUILD_TYPE ) : $(CURDIR ) /$(TARGET_BINARY ) +++
0 commit comments