• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH:= $(call my-dir)
2
3# f2fs-tools depends on Linux kernel headers being in the system include path.
4ifeq ($(HOST_OS),linux)
5
6# The versions depend on $(LOCAL_PATH)/VERSION
7version_CFLAGS := -DF2FS_MAJOR_VERSION=1 -DF2FS_MINOR_VERSION=8 -DF2FS_TOOLS_VERSION=\"1.8.0\" -DF2FS_TOOLS_DATE=\"2017-02-03\"
8common_CFLAGS := -DWITH_ANDROID -DWITH_BLKDISCARD $(version_CFLAGS)
9# Workaround for the <sys/types.h>/<sys/sysmacros.h> split, here now for
10# bionic and coming later for glibc.
11target_CFLAGS := $(common_CFLAGS) -include sys/sysmacros.h
12
13# external/e2fsprogs/lib is needed for uuid/uuid.h
14common_C_INCLUDES := $(LOCAL_PATH)/include external/e2fsprogs/lib/ system/core/libsparse/include
15
16#----------------------------------------------------------
17include $(CLEAR_VARS)
18LOCAL_MODULE := libf2fs_fmt
19LOCAL_SRC_FILES := \
20	lib/libf2fs.c \
21	lib/libf2fs_zoned.c \
22	mkfs/f2fs_format.c \
23	mkfs/f2fs_format_utils.c \
24
25LOCAL_C_INCLUDES := $(common_C_INCLUDES)
26LOCAL_CFLAGS := $(target_CFLAGS)
27LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/mkfs
28include $(BUILD_STATIC_LIBRARY)
29
30#----------------------------------------------------------
31include $(CLEAR_VARS)
32LOCAL_MODULE := libf2fs_fmt_host
33LOCAL_SRC_FILES := \
34	lib/libf2fs.c \
35	lib/libf2fs_zoned.c \
36	mkfs/f2fs_format.c \
37	mkfs/f2fs_format_utils.c \
38
39LOCAL_C_INCLUDES := $(common_C_INCLUDES)
40LOCAL_CFLAGS := $(common_CFLAGS)
41LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/mkfs
42include $(BUILD_HOST_STATIC_LIBRARY)
43
44#----------------------------------------------------------
45include $(CLEAR_VARS)
46LOCAL_MODULE := libf2fs_fmt_host_dyn
47LOCAL_SRC_FILES := \
48	lib/libf2fs.c \
49	lib/libf2fs_zoned.c \
50	lib/libf2fs_io.c \
51	mkfs/f2fs_format.c \
52	mkfs/f2fs_format_utils.c \
53
54LOCAL_C_INCLUDES := $(common_C_INCLUDES)
55LOCAL_CFLAGS := $(common_CFLAGS)
56LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/mkfs
57LOCAL_STATIC_LIBRARIES := \
58	libf2fs_ioutils_host \
59	libext2_uuid \
60	libsparse \
61	libz
62# LOCAL_LDLIBS := -ldl
63include $(BUILD_HOST_SHARED_LIBRARY)
64
65#----------------------------------------------------------
66include $(CLEAR_VARS)
67# The LOCAL_MODULE name is referenced by the code. Don't change it.
68LOCAL_MODULE := mkfs.f2fs
69
70# mkfs.f2fs is used in recovery: must be static.
71LOCAL_FORCE_STATIC_EXECUTABLE := true
72
73LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
74
75LOCAL_SRC_FILES := \
76	lib/libf2fs_io.c \
77	mkfs/f2fs_format_main.c
78LOCAL_C_INCLUDES := $(common_C_INCLUDES)
79LOCAL_CFLAGS := $(target_CFLAGS)
80LOCAL_STATIC_LIBRARIES := \
81	libf2fs_fmt \
82	libext2_uuid \
83	libsparse \
84	libz
85LOCAL_MODULE_TAGS := optional
86include $(BUILD_EXECUTABLE)
87
88#----------------------------------------------------------
89include $(CLEAR_VARS)
90LOCAL_MODULE := make_f2fs
91
92LOCAL_SRC_FILES := \
93	lib/libf2fs_io.c \
94	mkfs/f2fs_format_main.c
95LOCAL_C_INCLUDES := $(common_C_INCLUDES)
96LOCAL_CFLAGS := $(target_CFLAGS)
97LOCAL_STATIC_LIBRARIES := libf2fs_fmt
98LOCAL_SHARED_LIBRARIES := libext2_uuid libsparse
99LOCAL_SYSTEM_SHARED_LIBRARIES := libc
100LOCAL_MODULE_TAGS := optional
101include $(BUILD_EXECUTABLE)
102
103#----------------------------------------------------------
104include $(CLEAR_VARS)
105LOCAL_MODULE := make_f2fs
106
107LOCAL_SRC_FILES := \
108	mkfs/f2fs_format_main.c \
109	lib/libf2fs_io.c \
110
111LOCAL_C_INCLUDES := $(common_C_INCLUDES)
112LOCAL_CFLAGS := $(common_CFLAGS)
113LOCAL_STATIC_LIBRARIES := libf2fs_fmt_host
114LOCAL_SHARED_LIBRARIES := libext2_uuid libsparse
115include $(BUILD_HOST_EXECUTABLE)
116
117#----------------------------------------------------------
118include $(CLEAR_VARS)
119# The LOCAL_MODULE name is referenced by the code. Don't change it.
120LOCAL_MODULE := fsck.f2fs
121LOCAL_SRC_FILES := \
122	fsck/dump.c \
123	fsck/fsck.c \
124	fsck/main.c \
125	fsck/mount.c \
126	lib/libf2fs.c \
127	lib/libf2fs_io.c \
128
129LOCAL_C_INCLUDES := $(common_C_INCLUDES)
130LOCAL_CFLAGS := $(target_CFLAGS)
131LOCAL_SHARED_LIBRARIES := libext2_uuid libsparse
132LOCAL_SYSTEM_SHARED_LIBRARIES := libc
133LOCAL_MODULE_TAGS := optional
134include $(BUILD_EXECUTABLE)
135
136#----------------------------------------------------------
137include $(CLEAR_VARS)
138LOCAL_MODULE := fsck.f2fs
139LOCAL_SRC_FILES := \
140	fsck/dump.c \
141	fsck/fsck.c \
142	fsck/main.c \
143	fsck/mount.c \
144	lib/libf2fs.c \
145	lib/libf2fs_io.c \
146
147LOCAL_C_INCLUDES := $(common_C_INCLUDES)
148LOCAL_CFLAGS := $(common_CFLAGS)
149LOCAL_SHARED_LIBRARIES := libsparse
150LOCAL_HOST_SHARED_LIBRARIES :=  libext2_uuid
151include $(BUILD_HOST_EXECUTABLE)
152
153endif
154