uname_rs := $(shell uname -rs)
cc_version := $(shell $(CC) --version | head -n 1)
GIT_VERSION := $(shell ./GIT-VERSION-GEN git-version.h)
-COPYRIGHT_YEAR := 2022
+COPYRIGHT_YEAR := 2024
ifeq ("$(origin O)", "command line")
build_dir := $(O)
CPPFLAGS += -I$(lls_suite_dir)
CPPFLAGS += -I$(yy_build_dir)
CPPFLAGS += $(lopsub_cppflags)
+CPPFLAGS += -Wunused-macros
STRICT_CFLAGS += -fno-strict-aliasing
STRICT_CFLAGS += -ftrapv
STRICT_CFLAGS += -Wno-sign-compare -Wno-unknown-pragmas
STRICT_CFLAGS += -Wdeclaration-after-statement
STRICT_CFLAGS += -Wformat -Wformat-security -Wmissing-format-attribute
+STRICT_CFLAGS += -fdata-sections -ffunction-sections
+STRICT_CFLAGS += -Wstrict-prototypes
+STRICT_CFLAGS += -Wshadow
+
+LDFLAGS += -Wl,--gc-sections
ifeq ($(ENABLE_UBSAN), yes)
STRICT_CFLAGS += -fsanitize=undefined
ifeq ($(uname_s),Linux)
# these cause warnings on *BSD
- CPPFLAGS += -Wunused-macros
- STRICT_CFLAGS += -fdata-sections -ffunction-sections
- STRICT_CFLAGS += -Wstrict-prototypes
- STRICT_CFLAGS += -Wshadow
STRICT_CFLAGS += -Wunused -Wall
- LDFLAGS += -Wl,--gc-sections
endif
cc-option = $(shell \
STRICT_CFLAGS += $(call cc-option, -Wformat-signedness)
STRICT_CFLAGS += $(call cc-option, -Wdiscarded-qualifiers)
+STRICT_CFLAGS += $(call cc-option, -Wsuggest-attribute=malloc)
# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
CPPFLAGS += $(osl_cppflags)
$(call OD, compress_filter): CFLAGS += -O3
+$(call OD, openssl): CFLAGS += -Wno-deprecated-declarations
+$(object_dir)/%.o: %.c | $(object_dir) $(dep_dir) $(lsg_h) $(yy_h)
define CC_CMD
$(call SAY, CC $<)
$(CC) -c -o $(object_dir)/$(*F).o -MMD -MF \
$(call SAY, DISTCLEAN)
rm -f Makefile autoscan.log config.status config.log
rm -f config.h configure config.h.in
-maintainer-clean: distclean
+maintainer-clean: distclean test-clean
$(call SAY, MAINTAINER-CLEAN)
rm -f *.tar.bz2 *.tar.xz
rm -f GPATH GRTAGS GSYMS GTAGS