1# Makefile for fastboot
2
3SRCDIR ?= $(S)
4
5VPATH += $(SRCDIR)/system/core/fastboot
6fastboot_SRC_FILES += protocol.c
7fastboot_SRC_FILES += engine.c
8fastboot_SRC_FILES += bootimg.c
9fastboot_SRC_FILES += fastboot.c
10fastboot_SRC_FILES += util.c
11fastboot_SRC_FILES += fs.c
12fastboot_SRC_FILES += usb_linux.c
13fastboot_SRC_FILES += util_linux.c
14fastboot_OBJS := $(fastboot_SRC_FILES:.c=.o)
15
16VPATH += $(SRCDIR)/system/core/libzipfile
17libzipfile_SRC_FILES += centraldir.c
18libzipfile_SRC_FILES += zipfile.c
19libzipfile_OBJS := $(libzipfile_SRC_FILES:.c=.o)
20
21VPATH += $(SRCDIR)/system/extras/ext4_utils
22libext4_utils_SRC_FILES += make_ext4fs.c
23libext4_utils_SRC_FILES += ext4fixup.c
24libext4_utils_SRC_FILES += ext4_utils.c
25libext4_utils_SRC_FILES += allocate.c
26libext4_utils_SRC_FILES += contents.c
27libext4_utils_SRC_FILES += extent.c
28libext4_utils_SRC_FILES += indirect.c
29libext4_utils_SRC_FILES += uuid.c
30libext4_utils_SRC_FILES += sha1.c
31libext4_utils_SRC_FILES += wipe.c
32libext4_utils_SRC_FILES += crc16.c
33libext4_utils_SRC_FILES += ext4_sb.c
34libext4_utils_OBJS := $(libext4_utils_SRC_FILES:.c=.o)
35
36VPATH += $(SRCDIR)/system/core/libsparse
37libsparse_SRC_FILES += backed_block.c
38libsparse_SRC_FILES += output_file.c
39libsparse_SRC_FILES += sparse.c
40libsparse_SRC_FILES += sparse_crc32.c
41libsparse_SRC_FILES += sparse_err.c
42libsparse_SRC_FILES += sparse_read.c
43libsparse_OBJS := $(libsparse_SRC_FILES:.c=.o)
44
45VPATH += $(SRCDIR)/external/libselinux/src
46libselinux_SRC_FILES += callbacks.c
47libselinux_SRC_FILES += check_context.c
48libselinux_SRC_FILES += freecon.c
49libselinux_SRC_FILES += init.c
50libselinux_SRC_FILES += label.c
51libselinux_SRC_FILES += label_file.c
52libselinux_SRC_FILES += label_android_property.c
53libselinux_OBJS := $(libselinux_SRC_FILES:.c=.o)
54
55CFLAGS += -std=gnu11
56CFLAGS += -DANDROID
57# CFLAGS += -DUSE_F2FS
58CFLAGS += -DHOST
59CFLAGS += -I$(SRCDIR)/system/core/fastboot
60CFLAGS += -I$(SRCDIR)/system/core/include
61CFLAGS += -I$(SRCDIR)/system/core/mkbootimg
62CFLAGS += -I$(SRCDIR)/system/extras/ext4_utils
63CFLAGS += -I$(SRCDIR)/system/extras/f2fs_utils
64CFLAGS += -I$(SRCDIR)/system/core/libsparse/include
65CFLAGS += -I$(SRCDIR)/external/libselinux/include
66CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h
67
68LIBS += libzipfile.a libext4_utils.a libsparse.a libselinux.a -lz -lpcre
69
70all: fastboot
71
72fastboot: libzipfile.a libext4_utils.a libsparse.a libselinux.a $(fastboot_OBJS)
73	$(CC) -o $@ $(LDFLAGS) $(fastboot_OBJS) $(LIBS)
74
75libzipfile.a: $(libzipfile_OBJS)
76	$(AR) rcs $@ $(libzipfile_OBJS)
77
78libext4_utils.a: $(libext4_utils_OBJS)
79	$(AR) rcs $@ $(libext4_utils_OBJS)
80
81libsparse.a: $(libsparse_OBJS)
82	$(AR) rcs $@ $(libsparse_OBJS)
83
84libselinux.a: $(libselinux_OBJS)
85	$(AR) rcs $@ $(libselinux_OBJS)
86
87clean:
88	$(RM) $(fastboot_OBJS) $(libzipfile_OBJS) $(libext4_utils_OBJS) \
89		$(libsparse_OBJS) $(libselinux_OBJS) fastboot *.a
90