blob: ccbbb56198f6785b328e3650abda2434f19d0ce7 [file] [log] [blame]
San Mehatf1b736b2009-10-10 17:22:08 -07001LOCAL_PATH:= $(call my-dir)
2
Kenny Rootacc9e7d2010-06-18 19:06:50 -07003common_src_files := \
4 VolumeManager.cpp \
5 CommandListener.cpp \
Paul Lawrenced0b42952015-06-03 14:19:51 -07006 CryptCommandListener.cpp \
Kenny Rootacc9e7d2010-06-18 19:06:50 -07007 VoldCommand.cpp \
8 NetlinkManager.cpp \
9 NetlinkHandler.cpp \
Kenny Rootacc9e7d2010-06-18 19:06:50 -070010 Process.cpp \
Jeff Sharkeyd0640f62015-05-21 22:35:42 -070011 fs/Ext4.cpp \
12 fs/F2fs.cpp \
13 fs/Vfat.cpp \
Kenny Rootacc9e7d2010-06-18 19:06:50 -070014 Loop.cpp \
15 Devmapper.cpp \
16 ResponseCode.cpp \
Paul Lawrence87999172014-02-20 12:21:31 -080017 CheckBattery.cpp \
Paul Lawrence707fd6c2015-04-28 22:14:15 +000018 Ext4Crypt.cpp \
Ken Sumrall9caab762013-06-11 19:10:20 -070019 VoldUtil.c \
Wei Wang4375f1b2017-02-24 17:43:01 -080020 cryptfs.cpp \
Jeff Sharkey11c2d382017-09-11 10:32:01 -060021 model/Disk.cpp \
22 model/VolumeBase.cpp \
23 model/PublicVolume.cpp \
24 model/PrivateVolume.cpp \
25 model/EmulatedVolume.cpp \
26 model/ObbVolume.cpp \
Jeff Sharkeydeb24052015-03-02 21:01:40 -080027 Utils.cpp \
Jeff Sharkey1d6fbcc2015-04-24 16:00:03 -070028 MoveTask.cpp \
Jeff Sharkey5a6bfca2015-05-14 20:33:55 -070029 Benchmark.cpp \
Jeff Sharkeyc86ab6f2015-06-26 14:02:09 -070030 TrimTask.cpp \
Pavel Grafove2e2d302017-08-01 17:15:53 +010031 KeyBuffer.cpp \
Paul Crowley1ef25582016-01-21 20:26:12 +000032 Keymaster.cpp \
33 KeyStorage.cpp \
Paul Crowleyf71ace32016-06-02 11:01:19 -070034 KeyUtil.cpp \
Paul Crowley63c18d32016-02-10 14:02:47 +000035 ScryptParameters.cpp \
Jeff Vander Stoepdf725752016-01-29 15:34:43 -080036 secontext.cpp \
Paul Crowleyf71ace32016-06-02 11:01:19 -070037 EncryptInplace.cpp \
Paul Crowleyd5759812016-06-02 11:04:27 -070038 MetadataCrypt.cpp \
Jeff Sharkey068c6be2017-09-06 13:47:40 -060039 binder/android/os/IVold.aidl \
Jeff Sharkey814e9d32017-09-13 11:49:44 -060040 binder/android/os/IVoldListener.aidl \
Jeff Sharkey068c6be2017-09-06 13:47:40 -060041 VoldNativeService.cpp \
Kenny Rootacc9e7d2010-06-18 19:06:50 -070042
43common_c_includes := \
Daniel Rosenberge82df162014-08-15 22:19:23 +000044 system/extras/f2fs_utils \
Paul Lawrence87999172014-02-20 12:21:31 -080045 external/scrypt/lib/crypto \
Paul Crowleyf71ace32016-06-02 11:01:19 -070046 external/f2fs-tools/include \
Paul Lawrence69f4ebd2014-04-14 12:17:14 -070047 frameworks/native/include \
48 system/security/keystore \
Kenny Rootacc9e7d2010-06-18 19:06:50 -070049
50common_shared_libraries := \
51 libsysutils \
Paul Lawrence87999172014-02-20 12:21:31 -080052 libbinder \
Kenny Rootacc9e7d2010-06-18 19:06:50 -070053 libcutils \
Elliott Hughesc3bda182017-05-09 17:01:04 -070054 libkeyutils \
Ying Wang741a1692013-04-09 22:05:28 -070055 liblog \
Kenny Rootacc9e7d2010-06-18 19:06:50 -070056 libdiskconfig \
Ken Sumrall5d4c68e2011-01-30 19:06:03 -080057 libhardware_legacy \
Rom Lemarchand2ba45aa2013-01-16 12:29:28 -080058 liblogwrap \
Ken Sumrall5cf759a2013-08-14 20:15:17 -070059 libext4_utils \
Daniel Rosenberge82df162014-08-15 22:19:23 +000060 libf2fs_sparseblock \
Mattias Nisslerdc803232016-03-31 16:32:59 +020061 libcrypto_utils \
Robert Craigb9e3ba52014-02-04 10:53:00 -050062 libcrypto \
Paul Lawrence87999172014-02-20 12:21:31 -080063 libselinux \
Paul Lawrence69f4ebd2014-04-14 12:17:14 -070064 libutils \
65 libhardware \
Paul Crowley1ef25582016-01-21 20:26:12 +000066 libbase \
Janis Danisevskis8e537b82016-10-26 14:27:10 +010067 libhwbinder \
68 libhidlbase \
69 android.hardware.keymaster@3.0 \
70 libkeystore_binder
Kenny Rootacc9e7d2010-06-18 19:06:50 -070071
Kenny Rootc4c70f12013-06-14 12:11:38 -070072common_static_libraries := \
Yabin Cui1fb59662016-06-24 14:48:49 -070073 libbootloader_message \
Kenny Rootc4c70f12013-06-14 12:11:38 -070074 libfs_mgr \
Sami Tolvanenefe67cd2015-06-01 15:38:29 +010075 libfec \
76 libfec_rs \
Mohamad Ayyashc489d7f2015-04-06 18:15:53 -070077 libsquashfs_utils \
Geremy Condrac49f0f22013-08-07 13:12:41 -070078 libscrypt_static \
Paul Crowley1ef25582016-01-21 20:26:12 +000079 libbatteryservice \
bowgotsai58bdac82017-01-07 00:44:35 +080080 libavb \
Kenny Rootc4c70f12013-06-14 12:11:38 -070081
Jeff Sharkey32ebb732017-03-27 16:18:50 -060082# TODO: include "cert-err34-c" once we move to Binder
83# TODO: include "cert-err58-cpp" once 36656327 is fixed
Jeff Sharkey83b559c2017-09-12 16:30:52 -060084common_local_tidy_enabled := true
Jeff Sharkey32ebb732017-03-27 16:18:50 -060085common_local_tidy_flags := -warnings-as-errors=clang-analyzer-security*,cert-*
86common_local_tidy_checks := -*,clang-analyzer-security*,cert-*,-cert-err34-c,-cert-err58-cpp
87
Dan Albertc07fa3f2014-12-18 10:00:55 -080088vold_conlyflags := -std=c11
Jeff Sharkeydeb24052015-03-02 21:01:40 -080089vold_cflags := -Werror -Wall -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter
Dan Albertc07fa3f2014-12-18 10:00:55 -080090
Adrien Schildknechte0f409c2016-11-21 15:14:37 -080091required_modules :=
92ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
Jin Qianb678d7c2017-08-15 16:44:04 -070093 required_modules += mke2fs
Adrien Schildknechte0f409c2016-11-21 15:14:37 -080094endif
95
San Mehatf1b736b2009-10-10 17:22:08 -070096include $(CLEAR_VARS)
97
Dan Albertb2aaf3a2014-09-12 10:48:12 -070098LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
Kenny Rootacc9e7d2010-06-18 19:06:50 -070099LOCAL_MODULE := libvold
Dan Albertc07fa3f2014-12-18 10:00:55 -0800100LOCAL_CLANG := true
Jeff Sharkey83b559c2017-09-12 16:30:52 -0600101LOCAL_TIDY := $(common_local_tidy_enabled)
Jeff Sharkey32ebb732017-03-27 16:18:50 -0600102LOCAL_TIDY_FLAGS := $(common_local_tidy_flags)
103LOCAL_TIDY_CHECKS := $(common_local_tidy_checks)
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700104LOCAL_SRC_FILES := $(common_src_files)
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700105LOCAL_C_INCLUDES := $(common_c_includes)
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700106LOCAL_SHARED_LIBRARIES := $(common_shared_libraries)
Kenny Rootc4c70f12013-06-14 12:11:38 -0700107LOCAL_STATIC_LIBRARIES := $(common_static_libraries)
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700108LOCAL_MODULE_TAGS := eng tests
Dan Albertc07fa3f2014-12-18 10:00:55 -0800109LOCAL_CFLAGS := $(vold_cflags)
110LOCAL_CONLYFLAGS := $(vold_conlyflags)
Adrien Schildknechte0f409c2016-11-21 15:14:37 -0800111LOCAL_REQUIRED_MODULES := $(required_modules)
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700112
Jeff Sharkey814e9d32017-09-13 11:49:44 -0600113LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder
114
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700115include $(BUILD_STATIC_LIBRARY)
116
117include $(CLEAR_VARS)
San Mehatf1b736b2009-10-10 17:22:08 -0700118
Dan Albertb2aaf3a2014-09-12 10:48:12 -0700119LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
Jeff Sharkey47695b22016-02-01 17:02:29 -0700120LOCAL_MODULE := vold
Dan Albertc07fa3f2014-12-18 10:00:55 -0800121LOCAL_CLANG := true
Jeff Sharkey83b559c2017-09-12 16:30:52 -0600122LOCAL_TIDY := $(common_local_tidy_enabled)
Jeff Sharkey32ebb732017-03-27 16:18:50 -0600123LOCAL_TIDY_FLAGS := $(common_local_tidy_flags)
124LOCAL_TIDY_CHECKS := $(common_local_tidy_checks)
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700125LOCAL_SRC_FILES := \
126 main.cpp \
127 $(common_src_files)
128
Tom Cherrya2859842015-08-14 13:06:45 -0700129LOCAL_INIT_RC := vold.rc
130
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700131LOCAL_C_INCLUDES := $(common_c_includes)
Dan Albertc07fa3f2014-12-18 10:00:55 -0800132LOCAL_CFLAGS := $(vold_cflags)
133LOCAL_CONLYFLAGS := $(vold_conlyflags)
San Mehatf1b736b2009-10-10 17:22:08 -0700134
Kenny Rootacc9e7d2010-06-18 19:06:50 -0700135LOCAL_SHARED_LIBRARIES := $(common_shared_libraries)
Kenny Rootc4c70f12013-06-14 12:11:38 -0700136LOCAL_STATIC_LIBRARIES := $(common_static_libraries)
Adrien Schildknechte0f409c2016-11-21 15:14:37 -0800137LOCAL_REQUIRED_MODULES := $(required_modules)
Ken Sumrallf0679f02012-04-01 23:58:44 -0700138
Jeff Sharkey068c6be2017-09-06 13:47:40 -0600139LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder
140
San Mehatf1b736b2009-10-10 17:22:08 -0700141include $(BUILD_EXECUTABLE)
142
143include $(CLEAR_VARS)
Kenny Root7b18a7b2010-03-15 13:13:41 -0700144
Dan Albertb2aaf3a2014-09-12 10:48:12 -0700145LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
Dan Albertc07fa3f2014-12-18 10:00:55 -0800146LOCAL_CLANG := true
Jeff Sharkey83b559c2017-09-12 16:30:52 -0600147LOCAL_TIDY := $(common_local_tidy_enabled)
Jeff Sharkey32ebb732017-03-27 16:18:50 -0600148LOCAL_TIDY_FLAGS := $(common_local_tidy_flags)
149LOCAL_TIDY_CHECKS := $(common_local_tidy_checks)
Jeff Sharkey0990b692017-09-14 17:24:26 -0600150
151LOCAL_SRC_FILES := \
152 vdc.cpp \
153 binder/android/os/IVold.aidl \
154 binder/android/os/IVoldListener.aidl \
155
Jeff Sharkey47695b22016-02-01 17:02:29 -0700156LOCAL_MODULE := vdc
Jeff Sharkey99f92682017-09-13 18:43:44 -0600157LOCAL_SHARED_LIBRARIES := libbase libbinder libcutils libutils
Dan Albertc07fa3f2014-12-18 10:00:55 -0800158LOCAL_CFLAGS := $(vold_cflags)
159LOCAL_CONLYFLAGS := $(vold_conlyflags)
Tom Cherrya2859842015-08-14 13:06:45 -0700160LOCAL_INIT_RC := vdc.rc
San Mehatf1b736b2009-10-10 17:22:08 -0700161
Jeff Sharkey99f92682017-09-13 18:43:44 -0600162LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder
163
San Mehatf1b736b2009-10-10 17:22:08 -0700164include $(BUILD_EXECUTABLE)
Paul Crowley5bd0daf2015-05-19 17:31:39 +0100165
166include $(CLEAR_VARS)
167
168LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
169LOCAL_CLANG := true
Jeff Sharkey83b559c2017-09-12 16:30:52 -0600170LOCAL_TIDY := $(common_local_tidy_enabled)
Jeff Sharkey32ebb732017-03-27 16:18:50 -0600171LOCAL_TIDY_FLAGS := $(common_local_tidy_flags)
172LOCAL_TIDY_CHECKS := $(common_local_tidy_checks)
Paul Crowley03f89d32017-06-16 09:37:31 -0700173LOCAL_SRC_FILES:= \
174 FileDeviceUtils.cpp \
175 secdiscard.cpp \
176
Paul Crowley5bd0daf2015-05-19 17:31:39 +0100177LOCAL_MODULE:= secdiscard
Paul Crowley8bb8fcf2016-01-11 12:26:44 +0000178LOCAL_SHARED_LIBRARIES := libbase
Paul Crowley5bd0daf2015-05-19 17:31:39 +0100179LOCAL_CFLAGS := $(vold_cflags)
180LOCAL_CONLYFLAGS := $(vold_conlyflags)
181
182include $(BUILD_EXECUTABLE)
Paul Crowley4315c6a2016-12-06 08:22:04 -0800183
184include $(LOCAL_PATH)/tests/Android.mk