]> git.ipfire.org Git - thirdparty/man-pages.git/blame - share/mk/configure/build-depends/gcc/cc.mk
share/mk/: Reorganize dependencies
[thirdparty/man-pages.git] / share / mk / configure / build-depends / gcc / cc.mk
CommitLineData
b00b746f 1# Copyright 2024, Alejandro Colomar <alx@kernel.org>
546141e1
AC
2# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
3
4
16322535
AC
5ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GCC_CC_INCLUDED
6MAKEFILE_CONFIGURE_BUILD_DEPENDS_GCC_CC_INCLUDED := 1
546141e1
AC
7
8
16322535
AC
9include $(MAKEFILEDIR)/configure/build-depends/coreutils/echo.mk
10include $(MAKEFILEDIR)/configure/build-depends/grep/grep.mk
11include $(MAKEFILEDIR)/configure/build-depends/sed/sed.mk
546141e1
AC
12
13
14CC := gcc
15
16
17CC_VENDOR := \
18 $(shell \
19 $(CC) -v 2>&1 \
20 | $(SED) -n '1p;$$p' \
21 | $(SED) '/gcc version/s/.*/gcc/' \
22 | $(SED) '/clang version/s/.*/clang/' \
23 | $(SED) '/Apple LLVM version/s/.*/clang/' \
24 | $(GREP) -e '^gcc$$' -e '^clang$$' \
25 || $(ECHO) unknown; \
26 )
27
28
29COMMON_CFLAGS := \
30 -O3 \
31 -flto \
32 -Wall \
33 -Wextra \
34 -Werror \
35 -Wstrict-prototypes \
36 -Wdeclaration-after-statement \
37 -Wno-error=unused-parameter \
38 -Wno-error=sign-compare \
39 -Wno-error=format \
40 -Wno-error=uninitialized
41
42
43GCC_CFLAGS := -fanalyzer
44
45
4d1b426e
AC
46CLANG_CFLAGS := \
47 -Weverything \
48 -Wno-unsafe-buffer-usage
546141e1
AC
49
50
51DEFAULT_CFLAGS := $(COMMON_CFLAGS)
52
53ifeq ($(CC_VENDOR),gcc)
54DEFAULT_CFLAGS += $(GCC_CFLAGS)
55else ifeq ($(CC_VENDOR),clang)
56DEFAULT_CFLAGS += $(CLANG_CFLAGS)
57endif
58
59EXTRA_CFLAGS :=
60CFLAGS := $(DEFAULT_CFLAGS) $(EXTRA_CFLAGS)
61
62
63endif # include guard