15fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_PATH := $(call my-dir)
25fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
35fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer#########################
45fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer# Build the libext2 profile library
55fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
65fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerlibext2_profile_src_files :=  \
75fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	prof_err.c \
85fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	profile.c
95fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
105fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerlibext2_profile_shared_libraries := \
115fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2_com_err
125fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
135fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerlibext2_profile_system_shared_libraries := libc
145fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
155fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerlibext2_profile_c_includes := external/e2fsprogs/lib
165fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
175fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerlibext2_profile_cflags := -O2 -g -W -Wall \
185fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_UNISTD_H \
195fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_ERRNO_H \
205fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_NETINET_IN_H \
215fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_IOCTL_H \
225fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_MMAN_H \
235fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_MOUNT_H \
245fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_PRCTL_H \
255fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_RESOURCE_H \
265fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_SELECT_H \
275fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_STAT_H \
285fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_TYPES_H \
295fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_STDLIB_H \
305fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_STRDUP \
315fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_MMAP \
325fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_UTIME_H \
335fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_GETPAGESIZE \
345fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_LSEEK64 \
355fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_LSEEK64_PROTOTYPE \
365fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_EXT2_IOCTLS \
375fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_LINUX_FD_H \
385fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_TYPE_SSIZE_T \
395fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_TIME_H \
405fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer        -DHAVE_SYS_PARAM_H \
41e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	-DHAVE_SYSCONF \
42e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	-DDISABLE_BACKTRACE=1
435fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
445fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(CLEAR_VARS)
455fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
465fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SRC_FILES := $(libext2_profile_src_files)
475fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SYSTEM_SHARED_LIBRARIES := $(libext2_profile_system_shared_libraries)
485fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SHARED_LIBRARIES := $(libext2_profile_shared_libraries)
495fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_C_INCLUDES := $(libext2_profile_c_includes)
505fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_CFLAGS := $(libext2_profile_cflags)
515fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_PRELINK_MODULE := false
525fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE := libext2_profile
535fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE_TAGS := optional
545fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
555fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(BUILD_SHARED_LIBRARY)
565fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
575fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(CLEAR_VARS)
585fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
595fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SRC_FILES := $(libext2_profile_src_files)
605fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SHARED_LIBRARIES := $(addsuffix _host, $(libext2_profile_shared_libraries))
615fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_C_INCLUDES := $(libext2_profile_c_includes)
625fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_CFLAGS := $(libext2_profile_cflags)
635fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE := libext2_profile_host
645fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE_TAGS := optional
655fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
665fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(BUILD_HOST_SHARED_LIBRARY)
675fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
685fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer#########################
695fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer# Build the e2fsck binary
705fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
715fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzere2fsck_src_files :=  \
725fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	crc32.c \
735fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	e2fsck.c \
745fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	dict.c \
755fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	super.c \
765fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	pass1.c \
775fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	pass1b.c \
785fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	pass2.c \
795fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	pass3.c \
805fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	pass4.c \
815fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	pass5.c \
82e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	logfile.c \
835fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	journal.c \
845fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	recovery.c \
855fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	revoke.c \
865fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	badblocks.c \
875fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	util.c \
885fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	unix.c \
895fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	dirinfo.c \
905fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	dx_dirinfo.c \
915fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	ehandler.c \
925fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	problem.c \
935fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	message.c \
945fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	ea_refcount.c \
95e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	quota.c \
965fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	rehash.c \
97e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	region.c \
98e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	sigcatcher.c
995fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1005fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzere2fsck_shared_libraries := \
1015fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2fs \
1025fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2_blkid \
1035fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2_uuid \
1045fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2_profile \
105e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	libext2_quota \
1065fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2_com_err \
1075fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	libext2_e2p
1085fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzere2fsck_system_shared_libraries := libc
1095fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1105fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzere2fsck_c_includes := external/e2fsprogs/lib
1115fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
112e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralle2fsck_cflags := -O2 -g -W -Wall -fno-strict-aliasing \
1135fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_DIRENT_H \
1145fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_ERRNO_H \
1155fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_INTTYPES_H \
1165fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_LINUX_FD_H \
1175fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_NETINET_IN_H \
1185fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SETJMP_H \
1195fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_IOCTL_H \
1205fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_MMAN_H \
1215fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_MOUNT_H \
1225fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_PRCTL_H \
1235fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_RESOURCE_H \
1245fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_SELECT_H \
1255fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_STAT_H \
1265fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_TYPES_H \
1275fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_STDLIB_H \
1285fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_UNISTD_H \
1295fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_UTIME_H \
1305fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_STRDUP \
1315fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_MMAP \
1325fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_GETPAGESIZE \
1335fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_LSEEK64 \
1345fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_LSEEK64_PROTOTYPE \
1355fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_EXT2_IOCTLS \
1365fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_TYPE_SSIZE_T \
1375fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_INTPTR_T \
1385fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DENABLE_HTREE=1 \
1395fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer	-DHAVE_SYS_TIME_H \
1405fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer        -DHAVE_SYS_PARAM_H \
141e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	-DHAVE_SYSCONF \
142e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	-DDISABLE_BACKTRACE=1
1435fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1445fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(CLEAR_VARS)
1455fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1465fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SRC_FILES := $(e2fsck_src_files)
1475fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_C_INCLUDES := $(e2fsck_c_includes)
1485fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_CFLAGS := $(e2fsck_cflags)
1495fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SYSTEM_SHARED_LIBRARIES := $(e2fsck_system_shared_libraries)
1505fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SHARED_LIBRARIES := $(e2fsck_shared_libraries)
1515fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE := e2fsck
1525fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE_TAGS := optional
1535fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(BUILD_EXECUTABLE)
1545fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1555fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(CLEAR_VARS)
1565fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1575fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SRC_FILES := $(e2fsck_src_files)
1585fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_C_INCLUDES := $(e2fsck_c_includes)
1595fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_CFLAGS := $(e2fsck_cflags)
1605fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_SHARED_LIBRARIES := $(addsuffix _host, $(e2fsck_shared_libraries))
1615fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE := e2fsck_host
1625fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE_STEM := e2fsck
1635fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard RosenkränzerLOCAL_MODULE_TAGS := optional
1645fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzer
1655fe0b41dba699fa14432a633c863ea8cb7bf3f5dBernhard Rosenkränzerinclude $(BUILD_HOST_EXECUTABLE)
166