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