-
Notifications
You must be signed in to change notification settings - Fork 329
/
config.mk
85 lines (72 loc) · 2.33 KB
/
config.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
###############################################################################
# Config #
# #
# [XHYVE_CONFIG_ASSERT] VMM asserts (disable for release builds?) #
# [XHYVE_CONFIG_TRACE] VMM event tracer #
# [XHYVE_CONFIG_STATS] VMM event profiler #
###############################################################################
DEFINES := \
-DXHYVE_CONFIG_ASSERT
###############################################################################
# Toolchain #
###############################################################################
CC := clang
AS := clang
LD := clang
STRIP := strip
DSYM := dsymutil
DTRACE := dtrace
CODESIGN := codesign
ENV := \
LANG=en_US.US-ASCII
###############################################################################
# CFLAGS #
###############################################################################
CFLAGS_OPT := \
-Os \
-flto \
-fstrict-aliasing
# enable everything and then selectively disable some warnings
CFLAGS_WARN := \
-Weverything \
-Werror \
-pedantic \
\
-Wno-dollar-in-identifier-extension \
-Wno-gnu-statement-expression \
-Wno-packed \
-Wno-padded \
-Wno-reserved-id-macro \
-Wno-unknown-warning-option \
-Wno-unused-macros \
-Wno-switch-enum \
-Wno-poison-system-directories
CFLAGS_DIAG := \
-fmessage-length=152 \
-fdiagnostics-show-note-include-stack \
-fmacro-backtrace-limit=0 \
-fcolor-diagnostics
CFLAGS_DBG := \
-g
CFLAGS := \
-arch x86_64 \
-x c \
-std=c11 \
-fno-common \
-fvisibility=hidden \
$(DEFINES) \
$(CFLAGS_OPT) \
$(CFLAGS_WARN) \
$(CFLAGS_DIAG) \
$(CFLAGS_DBG)
###############################################################################
# LDFLAGS #
###############################################################################
LDFLAGS_DBG := \
-Xlinker -object_path_lto
LDFLAGS := \
-arch x86_64 \
-framework Hypervisor \
-framework vmnet \
-Wl,-no_compact_unwind \
$(LDFLAGS_DBG)