ARCH_FLAGS = STANDARD_FLAGS = -std=c++17 -Wno-sized-deallocation -fno-sized-deallocation WARNING_FLAGS = -Werror -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings -Wimplicit-fallthrough -Wno-expansion-to-defined FLAVOR_FLAGS = -fno-exceptions -fno-rtti OPTIMIZATION_FLAGS = -Os MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) SERENITY_BASE_DIR := $(patsubst %/,%,$(dir $(MAKEFILE_PATH))) INCLUDE_FLAGS = \ -I. \ -I$(SERENITY_BASE_DIR) \ -I$(SERENITY_BASE_DIR)/Libraries \ -I$(SERENITY_BASE_DIR)/Libraries/LibC \ -I$(SERENITY_BASE_DIR)/Servers \ -I$(SERENITY_BASE_DIR)/Libraries/LibM LDFLAGS = \ -L$(SERENITY_BASE_DIR)/Libraries/LibC \ -L$(SERENITY_BASE_DIR)/Libraries/LibCore \ -L$(SERENITY_BASE_DIR)/Libraries/LibIPC \ -L$(SERENITY_BASE_DIR)/Libraries/LibM \ -L$(SERENITY_BASE_DIR)/Libraries/LibDraw \ -L$(SERENITY_BASE_DIR)/Libraries/LibGUI \ -L$(SERENITY_BASE_DIR)/Libraries/LibHTML \ -L$(SERENITY_BASE_DIR)/Libraries/LibMarkdown \ -L$(SERENITY_BASE_DIR)/Libraries/LibThread \ -L$(SERENITY_BASE_DIR)/Libraries/LibVT \ -L$(SERENITY_BASE_DIR)/Libraries/LibAudio CLANG_FLAGS = -Wconsumed -m32 -ffreestanding -march=i686 #SUGGEST_FLAGS = -Wsuggest-final-types -Wsuggest-final-methods -Wsuggest-override #-Wsuggest-attribute=noreturn CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(ARCH_FLAGS) $(STANDARD_FLAGS) $(SUGGEST_FLAGS) $(INCLUDE_FLAGS) $(DEFINES) #CXX = clang $(CLANG_FLAGS) CXX = $(PRE_CXX) i686-pc-serenity-g++ LD = i686-pc-serenity-g++ AS = i686-pc-serenity-as LINK = i686-pc-serenity-ld DEFINES = -DSANITIZE_PTRS -DDEBUG IPCCOMPILER = $(SERENITY_BASE_DIR)/DevTools/IPCCompiler/IPCCompiler