1LOCAL_PATH:= $(call my-dir)
2
3common_src_files := \
4	VolumeManager.cpp \
5	CommandListener.cpp \
6	CryptCommandListener.cpp \
7	VoldCommand.cpp \
8	NetlinkManager.cpp \
9	NetlinkHandler.cpp \
10	Process.cpp \
11	fs/Ext4.cpp \
12	fs/F2fs.cpp \
13	fs/Vfat.cpp \
14	Loop.cpp \
15	Devmapper.cpp \
16	ResponseCode.cpp \
17	CheckBattery.cpp \
18	Ext4Crypt.cpp \
19	VoldUtil.c \
20	cryptfs.c \
21	Disk.cpp \
22	VolumeBase.cpp \
23	PublicVolume.cpp \
24	PrivateVolume.cpp \
25	EmulatedVolume.cpp \
26	Utils.cpp \
27	MoveTask.cpp \
28	Benchmark.cpp \
29	TrimTask.cpp \
30	Keymaster.cpp \
31	KeyStorage.cpp \
32	ScryptParameters.cpp \
33	secontext.cpp \
34
35common_c_includes := \
36	system/extras/ext4_utils \
37	system/extras/f2fs_utils \
38	external/scrypt/lib/crypto \
39	frameworks/native/include \
40	system/security/keystore \
41	hardware/libhardware/include/hardware \
42	system/security/softkeymaster/include/keymaster
43
44common_shared_libraries := \
45	libsysutils \
46	libbinder \
47	libcutils \
48	liblog \
49	libdiskconfig \
50	libhardware_legacy \
51	liblogwrap \
52	libext4_utils \
53	libf2fs_sparseblock \
54	libcrypto \
55	libselinux \
56	libutils \
57	libhardware \
58	libsoftkeymaster \
59	libbase \
60	libkeymaster_messages \
61
62common_static_libraries := \
63	libbootloader_message_writer \
64	libfs_mgr \
65	libfec \
66	libfec_rs \
67	libsquashfs_utils \
68	libscrypt_static \
69	libmincrypt \
70	libbatteryservice \
71
72vold_conlyflags := -std=c11
73vold_cflags := -Werror -Wall -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter
74
75include $(CLEAR_VARS)
76
77LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
78LOCAL_MODULE := libvold
79LOCAL_CLANG := true
80LOCAL_SRC_FILES := $(common_src_files)
81LOCAL_C_INCLUDES := $(common_c_includes)
82LOCAL_SHARED_LIBRARIES := $(common_shared_libraries)
83LOCAL_STATIC_LIBRARIES := $(common_static_libraries)
84LOCAL_MODULE_TAGS := eng tests
85LOCAL_CFLAGS := $(vold_cflags)
86LOCAL_CONLYFLAGS := $(vold_conlyflags)
87
88include $(BUILD_STATIC_LIBRARY)
89
90include $(CLEAR_VARS)
91
92LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
93LOCAL_MODULE := vold
94LOCAL_CLANG := true
95LOCAL_SRC_FILES := \
96	main.cpp \
97	$(common_src_files)
98
99LOCAL_INIT_RC := vold.rc
100
101LOCAL_C_INCLUDES := $(common_c_includes)
102LOCAL_CFLAGS := $(vold_cflags)
103LOCAL_CONLYFLAGS := $(vold_conlyflags)
104
105ifeq ($(TARGET_HW_DISK_ENCRYPTION),true)
106LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH)
107common_shared_libraries += libcryptfs_hw
108LOCAL_CFLAGS += -DCONFIG_HW_DISK_ENCRYPTION
109endif
110
111LOCAL_SHARED_LIBRARIES := $(common_shared_libraries)
112LOCAL_STATIC_LIBRARIES := $(common_static_libraries)
113
114include $(BUILD_EXECUTABLE)
115
116include $(CLEAR_VARS)
117
118LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
119LOCAL_CLANG := true
120LOCAL_SRC_FILES := vdc.cpp
121LOCAL_MODULE := vdc
122LOCAL_SHARED_LIBRARIES := libcutils libbase
123LOCAL_CFLAGS := $(vold_cflags)
124LOCAL_CONLYFLAGS := $(vold_conlyflags)
125LOCAL_INIT_RC := vdc.rc
126
127include $(BUILD_EXECUTABLE)
128
129include $(CLEAR_VARS)
130
131LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
132LOCAL_CLANG := true
133LOCAL_SRC_FILES:= secdiscard.cpp
134LOCAL_MODULE:= secdiscard
135LOCAL_SHARED_LIBRARIES := libbase
136LOCAL_CFLAGS := $(vold_cflags)
137LOCAL_CONLYFLAGS := $(vold_conlyflags)
138
139include $(BUILD_EXECUTABLE)
140