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