1LOCAL_DIR := $(GET_LOCAL_DIR)
2
3MODULE := $(LOCAL_DIR)
4
5KERNEL_INCLUDES += $(LOCAL_DIR)/source/include
6
7# Disable warnings we won't fix in third-party code.
8MODULE_CFLAGS += -Wno-implicit-fallthrough
9ifeq ($(call TOBOOL,$(USE_CLANG)),false)
10MODULE_CFLAGS += \
11    -Wno-discarded-qualifiers \
12    -Wno-format-signedness
13else
14MODULE_CFLAGS += \
15    -Wno-incompatible-pointer-types-discards-qualifiers \
16    -Wno-null-pointer-arithmetic
17endif
18# We need to specify -fno-strict-aliasing, since ACPICA has a habit of
19# violating strict aliasing rules in some of its macros.  Rewriting this
20# code would increase the maintenance cost of bringing in the latest
21# upstream ACPICA, so instead we mitigate the problem with a compile-time
22# flag.  We take the more conservative approach of disabling
23# strict-aliasing-based optimizations, rather than disabling warnings.
24MODULE_CFLAGS += -fno-strict-aliasing
25
26MODULE_COMPILEFLAGS += -I$(LOCAL_DIR)/source/include/acpica
27
28MODULE_SRCS += \
29	$(LOCAL_DIR)/source/components/hardware/hwregs.c \
30	$(LOCAL_DIR)/source/components/hardware/hwsleep.c \
31	$(LOCAL_DIR)/source/components/hardware/hwvalid.c \
32	$(LOCAL_DIR)/source/components/hardware/hwxface.c \
33	$(LOCAL_DIR)/source/components/hardware/hwxfsleep.c \
34	$(LOCAL_DIR)/source/components/tables/tbdata.c \
35	$(LOCAL_DIR)/source/components/tables/tbfadt.c \
36	$(LOCAL_DIR)/source/components/tables/tbfind.c \
37	$(LOCAL_DIR)/source/components/tables/tbinstal.c \
38	$(LOCAL_DIR)/source/components/tables/tbprint.c \
39	$(LOCAL_DIR)/source/components/tables/tbutils.c \
40	$(LOCAL_DIR)/source/components/tables/tbxface.c \
41	$(LOCAL_DIR)/source/components/tables/tbxfroot.c \
42	$(LOCAL_DIR)/source/components/utilities/utalloc.c \
43	$(LOCAL_DIR)/source/components/utilities/utexcep.c \
44	$(LOCAL_DIR)/source/components/utilities/utglobal.c \
45	$(LOCAL_DIR)/source/components/utilities/utmisc.c \
46	$(LOCAL_DIR)/source/components/utilities/utstring.c \
47	$(LOCAL_DIR)/source/components/utilities/utxferror.c \
48	$(LOCAL_DIR)/source/os_specific/service_layers/oszircon.cpp
49
50include make/module.mk
51