]>
Commit | Line | Data |
---|---|---|
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 |
5 | ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GCC_CC_INCLUDED |
6 | MAKEFILE_CONFIGURE_BUILD_DEPENDS_GCC_CC_INCLUDED := 1 | |
546141e1 AC |
7 | |
8 | ||
16322535 AC |
9 | include $(MAKEFILEDIR)/configure/build-depends/coreutils/echo.mk |
10 | include $(MAKEFILEDIR)/configure/build-depends/grep/grep.mk | |
11 | include $(MAKEFILEDIR)/configure/build-depends/sed/sed.mk | |
546141e1 AC |
12 | |
13 | ||
14 | CC := gcc | |
15 | ||
16 | ||
17 | CC_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 | ||
29 | COMMON_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 | ||
43 | GCC_CFLAGS := -fanalyzer | |
44 | ||
45 | ||
4d1b426e AC |
46 | CLANG_CFLAGS := \ |
47 | -Weverything \ | |
48 | -Wno-unsafe-buffer-usage | |
546141e1 AC |
49 | |
50 | ||
51 | DEFAULT_CFLAGS := $(COMMON_CFLAGS) | |
52 | ||
53 | ifeq ($(CC_VENDOR),gcc) | |
54 | DEFAULT_CFLAGS += $(GCC_CFLAGS) | |
55 | else ifeq ($(CC_VENDOR),clang) | |
56 | DEFAULT_CFLAGS += $(CLANG_CFLAGS) | |
57 | endif | |
58 | ||
59 | EXTRA_CFLAGS := | |
60 | CFLAGS := $(DEFAULT_CFLAGS) $(EXTRA_CFLAGS) | |
61 | ||
62 | ||
63 | endif # include guard |