1LOCAL_PATH:= $(call my-dir)
2
3common_SRC_FILES := \
4	src/booleans.c \
5	src/canonicalize_context.c \
6	src/disable.c \
7	src/enabled.c \
8	src/fgetfilecon.c \
9	src/fsetfilecon.c \
10	src/getenforce.c \
11	src/getfilecon.c \
12	src/getpeercon.c \
13	src/lgetfilecon.c \
14	src/load_policy.c \
15	src/lsetfilecon.c \
16	src/policyvers.c \
17	src/procattr.c \
18	src/setenforce.c \
19	src/setfilecon.c \
20	src/context.c \
21	src/mapping.c \
22	src/stringrep.c \
23	src/compute_create.c \
24	src/compute_av.c \
25	src/avc.c \
26	src/avc_internal.c \
27	src/avc_sidtab.c \
28	src/get_initial_context.c \
29	src/checkAccess.c \
30	src/sestatus.c \
31	src/deny_unknown.c
32
33common_HOST_FILES := \
34	src/callbacks.c \
35	src/check_context.c \
36	src/freecon.c \
37	src/init.c \
38	src/label.c \
39	src/label_file.c \
40	src/label_android_property.c \
41	src/label_support.c
42
43
44include $(CLEAR_VARS)
45LOCAL_SRC_FILES := $(common_SRC_FILES) $(common_HOST_FILES) src/android.c
46LOCAL_MODULE:= libselinux
47LOCAL_MODULE_TAGS := eng
48LOCAL_STATIC_LIBRARIES := libcrypto_static
49LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
50LOCAL_WHOLE_STATIC_LIBRARIES := libpcre libpackagelistparser
51# 1003 corresponds to auditd, from system/core/logd/event.logtags
52LOCAL_CFLAGS := -DAUDITD_LOG_TAG=1003
53# mapping.c has redundant check of array p_in->perms.
54LOCAL_CLANG_CFLAGS += -Wno-pointer-bool-conversion
55LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
56
57include $(BUILD_STATIC_LIBRARY)
58
59include $(CLEAR_VARS)
60LOCAL_CFLAGS := -DHOST
61
62ifeq ($(HOST_OS),darwin)
63LOCAL_CFLAGS += -DDARWIN
64endif
65
66LOCAL_SRC_FILES := $(common_HOST_FILES)
67LOCAL_MODULE:= libselinux
68LOCAL_MODULE_TAGS := eng
69LOCAL_WHOLE_STATIC_LIBRARIES := libpcre
70LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
71LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
72include $(BUILD_HOST_STATIC_LIBRARY)
73
74include $(CLEAR_VARS)
75LOCAL_SRC_FILES := $(common_SRC_FILES) $(common_HOST_FILES) src/android.c
76LOCAL_MODULE:= libselinux
77LOCAL_MODULE_TAGS := eng
78LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
79LOCAL_SHARED_LIBRARIES := libcrypto liblog libpcre libpackagelistparser
80# 1003 corresponds to auditd, from system/core/logd/event.logtags
81LOCAL_CFLAGS := -DAUDITD_LOG_TAG=1003
82# mapping.c has redundant check of array p_in->perms.
83LOCAL_CLANG_CFLAGS += -Wno-pointer-bool-conversion
84LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
85
86include $(BUILD_SHARED_LIBRARY)
87
88include $(CLEAR_VARS)
89LOCAL_CFLAGS := -DHOST
90
91ifeq ($(HOST_OS),darwin)
92LOCAL_CFLAGS += -DDARWIN
93endif
94
95LOCAL_SRC_FILES := $(common_HOST_FILES)
96LOCAL_MODULE:= libselinux
97LOCAL_MODULE_TAGS := eng
98LOCAL_WHOLE_STATIC_LIBRARIES := libpcre
99LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
100LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
101include $(BUILD_HOST_SHARED_LIBRARY)
102
103#################################
104include $(CLEAR_VARS)
105LOCAL_CFLAGS := -DHOST
106
107ifeq ($(HOST_OS),darwin)
108LOCAL_CFLAGS += -DDARWIN
109endif
110
111LOCAL_MODULE := sefcontext_compile
112LOCAL_MODULE_TAGS := eng
113LOCAL_C_INCLUDES := ../src/label_file.h
114LOCAL_SRC_FILES := utils/sefcontext_compile.c
115LOCAL_STATIC_LIBRARIES := libselinux
116LOCAL_WHOLE_STATIC_LIBRARIES := libpcre
117LOCAL_C_INCLUDES := external/pcre
118include $(BUILD_HOST_EXECUTABLE)
119