aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/android-tools/android-tools/ext4_utils.mk
blob: c18aa9c4d2ccf84de021c1c287c9982e3027e1e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Makefile for ext4_utils

SRCDIR ?= $(S)

VPATH += $(SRCDIR)/system/extras/ext4_utils
make_ext4fs_SRC_FILES += make_ext4fs_main.c
make_ext4fs_SRC_FILES += canned_fs_config.c
make_ext4fs_OBJS := $(make_ext4fs_SRC_FILES:.c=.o)

ext2simg_SRC_FILES += ext2simg.c
ext2simg_OBJS := $(ext2simg_SRC_FILES:.c=.o)

ext4fixup_SRC_FILES += ext4fixup_main.c
ext4fixup_OBJS := $(ext4fixup_SRC_FILES:.c=.o)

libext4_utils_SRC_FILES += make_ext4fs.c
libext4_utils_SRC_FILES += ext4fixup.c
libext4_utils_SRC_FILES += ext4_utils.c
libext4_utils_SRC_FILES += allocate.c
libext4_utils_SRC_FILES += contents.c
libext4_utils_SRC_FILES += extent.c
libext4_utils_SRC_FILES += indirect.c
libext4_utils_SRC_FILES += uuid.c
libext4_utils_SRC_FILES += sha1.c
libext4_utils_SRC_FILES += wipe.c
libext4_utils_SRC_FILES += crc16.c
libext4_utils_SRC_FILES += ext4_sb.c
libext4_utils_OBJS := $(libext4_utils_SRC_FILES:.c=.o)

VPATH += $(SRCDIR)/system/core/libsparse
simg2img_SRC_FILES += simg2img.c
simg2img_SRC_FILES += sparse_crc32.c
simg2img_OBJS := $(simg2img_SRC_FILES:.c=.o)

img2simg_SRC_FILES += img2simg.c
img2simg_OBJS := $(img2simg_SRC_FILES:.c=.o)

simg2simg_SRC_FILES += simg2simg.c
simg2simg_SRC_FILES += sparse_crc32.c
simg2simg_OBJS := $(simg2simg_SRC_FILES:.c=.o)

libsparse_SRC_FILES += backed_block.c
libsparse_SRC_FILES += output_file.c
libsparse_SRC_FILES += sparse.c
libsparse_SRC_FILES += sparse_crc32.c
libsparse_SRC_FILES += sparse_err.c
libsparse_SRC_FILES += sparse_read.c
libsparse_OBJS := $(libsparse_SRC_FILES:.c=.o)

VPATH += $(SRCDIR)/external/libselinux/src
libselinux_SRC_FILES += callbacks.c
libselinux_SRC_FILES += check_context.c
libselinux_SRC_FILES += freecon.c
libselinux_SRC_FILES += init.c
libselinux_SRC_FILES += label.c
libselinux_SRC_FILES += label_file.c
libselinux_SRC_FILES += label_android_property.c
libselinux_OBJS := $(libselinux_SRC_FILES:.c=.o)

CFLAGS += -DANDROID
CFLAGS += -DHOST
CFLAGS += -I$(SRCDIR)/system/extras/ext4_utils
CFLAGS += -I$(SRCDIR)/system/core/include
CFLAGS += -I$(SRCDIR)/system/core/libsparse/include
CFLAGS += -I$(SRCDIR)/external/libselinux/include
CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h

all: make_ext4fs ext2simg ext4fixup simg2img img2simg simg2simg

make_ext4fs: libext4_utils.a libsparse.a libselinux.a $(make_ext4fs_OBJS)
	$(CC) -o $@ $(LDFLAGS) $(make_ext4fs_OBJS) \
		libext4_utils.a libsparse.a libselinux.a -lz -lpcre

ext2simg: libext4_utils.a libselinux.a libsparse.a $(ext2simg_OBJS)
	$(CC) -o $@ $(LDFLAGS) $(ext2simg_OBJS) \
		libext4_utils.a libselinux.a libsparse.a -lz -lpcre

ext4fixup: libext4_utils.a libsparse.a $(ext4fixup_OBJS)
	$(CC) -o $@ $(LDFLAGS) $(ext4fixup_OBJS) libext4_utils.a libsparse.a -lz

simg2img: libsparse.a $(simg2img_OBJS)
	$(CC) -o $@ $(LDFLAGS) $(simg2img_OBJS) libsparse.a -lz

img2simg: libsparse.a $(img2simg_OBJS)
	$(CC) -o $@ $(LDFLAGS) $(img2simg_OBJS) libsparse.a -lz

simg2simg: libsparse.a $(simg2simg_OBJS)
	$(CC) -o $@ $(LDFLAGS) $(simg2simg_OBJS) libsparse.a -lz

libext4_utils.a: $(libext4_utils_OBJS)
	$(AR) rcs $@ $(libext4_utils_OBJS)

libsparse.a: $(libsparse_OBJS)
	$(AR) rcs $@ $(libsparse_OBJS)

libselinux.a: $(libselinux_OBJS)
	$(AR) rcs $@ $(libselinux_OBJS)

clean:
	$(RM) $(make_ext4fs_OBJS) $(ext2simg_OBJS) $(ext4fixup_OBJS) \
		$(simg2img_OBJS) $(img2simg_OBJS) $(simg2simg_OBJS) \
		$(libext4_utils_OBJS) $(libsparse_OBJS) $(libselinux_OBJS) \
		make_ext4fs ext2simg ext4fixup simg2img img2simg simg2simg *.a