blob: b0019ac3ae30cc08bb612b2f842939e80a68aa96 [file] [log] [blame]
Jaegeuk Kim595231e2017-11-28 21:44:34 -08001// Copyright 2017 The Android Open Source Project
2
3cc_defaults {
4 name: "f2fs-tools-defaults",
5 cflags: [
6 "-DF2FS_MAJOR_VERSION=1",
Park Ju Hyung98a20c32018-02-06 23:47:33 +09007 "-DF2FS_MINOR_VERSION=10",
8 "-DF2FS_TOOLS_VERSION=\"1.10.0\"",
9 "-DF2FS_TOOLS_DATE=\"2018-01-30\"",
Jaegeuk Kim595231e2017-11-28 21:44:34 -080010 "-DWITH_ANDROID",
11 "-Wall",
12 "-Werror",
13 "-Wno-format",
14 "-Wno-macro-redefined",
15 "-Wno-missing-field-initializers",
16 "-Wno-pointer-arith",
17 "-Wno-sign-compare",
18 "-Wno-unused-function",
19 ],
20 local_include_dirs: [
21 "include",
22 "mkfs",
23 "fsck",
24 ],
25 include_dirs: [
26 "external/e2fsprogs/lib/",
27 "system/core/libsparse/include",
28 ],
29 target: {
30 windows: {
31 enabled: false,
32 },
33 },
34}
35
36cc_defaults {
37 name: "libf2fs_src_files",
Jaegeuk Kim71313112018-08-20 13:39:27 -070038 cflags: ["-DWITH_BLKDISCARD"],
Jaegeuk Kim595231e2017-11-28 21:44:34 -080039 srcs: [
40 "lib/libf2fs.c",
41 "mkfs/f2fs_format.c",
42 "mkfs/f2fs_format_utils.c",
Jaegeuk Kim71313112018-08-20 13:39:27 -070043 "lib/libf2fs_zoned.c",
Jaegeuk Kim595231e2017-11-28 21:44:34 -080044 ],
45}
46
47cc_defaults {
48 name: "make_f2fs_src_files",
49 srcs: [
50 "lib/libf2fs_io.c",
51 "mkfs/f2fs_format_main.c",
52 ],
53}
54
55cc_defaults {
56 name: "fsck_main_src_files",
57 srcs: [
58 "fsck/dir.c",
59 "fsck/dict.c",
60 "fsck/mkquota.c",
61 "fsck/quotaio.c",
62 "fsck/quotaio_tree.c",
63 "fsck/quotaio_v2.c",
64 "fsck/node.c",
65 "fsck/segment.c",
66 "fsck/xattr.c",
67 "fsck/main.c",
68 "fsck/mount.c",
69 "lib/libf2fs.c",
70 "lib/libf2fs_io.c",
71 ],
72}
73
74cc_library_static {
75 name: "libf2fs_fmt",
76 defaults: [
77 "f2fs-tools-defaults",
78 "libf2fs_src_files"
79 ],
80}
81
82cc_library_host_static {
83 name: "libf2fs_fmt_host",
84 defaults: [
85 "f2fs-tools-defaults",
86 "libf2fs_src_files"
87 ],
Jaegeuk Kim830fd602017-12-01 15:42:49 -080088 target: {
89 windows: {
90 include_dirs: [ "external/e2fsprogs/include/mingw" ],
91 cflags: ["-DANDROID_WINDOWS_HOST"],
92 enabled: true
93 },
94 },
Jaegeuk Kim595231e2017-11-28 21:44:34 -080095}
96
97cc_binary {
98 name: "make_f2fs",
99 defaults: [
100 "f2fs-tools-defaults",
101 "make_f2fs_src_files",
102 ],
103 host_supported: true,
104 target: {
105 android: {
106 static_libs: [
107 "libf2fs_fmt",
108 ],
109 shared_libs: [
110 "libext2_uuid",
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800111 "libsparse",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800112 "libbase",
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800113 ],
114 },
115 host: {
116 static_libs: [
117 "libf2fs_fmt_host",
118 "libext2_uuid",
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800119 "libsparse",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800120 "libbase",
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800121 "libz",
122 ],
123 },
Jaegeuk Kim830fd602017-12-01 15:42:49 -0800124 windows: {
125 include_dirs: [ "external/e2fsprogs/include/mingw" ],
126 cflags: ["-DANDROID_WINDOWS_HOST"],
127 ldflags: ["-static"],
128 host_ldlibs: ["-lws2_32"],
129 enabled: true
130 },
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800131 },
132}
133
134cc_binary {
135 name: "fsck.f2fs",
136 defaults: [
137 "f2fs-tools-defaults",
138 "fsck_main_src_files",
139 ],
140 host_supported: true,
141 srcs: ["fsck/fsck.c"],
142 shared_libs: [
143 "libext2_uuid",
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800144 "libsparse",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800145 "libbase",
Jaegeuk Kim595231e2017-11-28 21:44:34 -0800146 ],
147}
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800148
149cc_binary {
150 name: "sload_f2fs",
151 defaults: [
152 "f2fs-tools-defaults",
153 "fsck_main_src_files",
154 ],
155 host_supported: true,
156 cflags: ["-DWITH_SLOAD"],
157 srcs: ["fsck/fsck.c", "fsck/sload.c"],
158 target: {
159 android: {
160 shared_libs: [
161 "libext2_uuid",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800162 "libsparse",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800163 "libbase",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800164 "libcrypto",
165 "libselinux",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800166 "libcutils",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800167 "liblog",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800168 ],
169 },
170 host: {
171 static_libs: [
172 "libext2_uuid",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800173 "libsparse",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800174 "libbase",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800175 "libcrypto",
176 "libselinux",
Jaegeuk Kim8a94acb2017-12-21 09:22:53 -0800177 "libcutils",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800178 "liblog",
179 "libz",
Jaegeuk Kimcbc47842017-11-30 17:40:24 -0800180 ],
181 },
182 },
183 stl: "libc++_static",
184}
Jaegeuk Kimcab11602018-03-29 15:31:37 -0700185
186cc_binary {
187 name: "check_f2fs",
188 host_supported: false,
189 cflags: ["--static"],
190 srcs: ["tools/check_f2fs.c"],
191}