3 # Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
5 # Licensed under the GPL v2, see the file LICENSE in this tarball.
7 E2FSPROGS_AR:=e2fsprogs.a
9 E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs
11 E2FSPROGS_CFLAGS := -I$(E2FSPROGS_DIR) -include $(E2FSPROGS_DIR)/e2fsbb.h
13 BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \
14 probe.c read.c resolve.c save.c tag.c resolve.c
15 BLKID_SRCS := $(patsubst %,blkid/%, $(BLKID_SRC))
16 BLKID_OBJS := $(patsubst %.c,%.o, $(BLKID_SRCS))
18 E2FSCK_SRC := badblocks.c dict.c dirinfo.c dx_dirinfo.c e2fsck.c \
19 ea_refcount.c ehandler.c journal.c message.c pass1.c pass1b.c \
20 pass2.c pass3.c pass4.c pass5.c problem.c recovery.c region.c \
21 rehash.c revoke.c super.c swapfs.c util.c
22 E2FSCK_SRCS := $(patsubst %,e2fsck/%, $(E2FSCK_SRC))
23 E2FSCK_OBJS := $(patsubst %.c,%.o, $(E2FSCK_SRCS))
25 E2P_SRC := fgetsetflags.c fgetsetversion.c pf.c iod.c mntopts.c \
26 feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c \
28 E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
29 E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
31 EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
32 rw_bitmaps.c initialize.c bitmaps.c block.c \
33 ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
34 openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c \
35 getsize.c getsectsize.c alloc_tables.c read_bb_file.c mkdir.c \
36 bb_inode.c newdir.c alloc_sb.c lookup.c dirblock.c expanddir.c \
37 dir_iterate.c link.c res_gdt.c icount.c get_pathname.c dblist.c \
38 dirhash.c version.c flushb.c unlink.c check_desc.c valid_blk.c \
39 ext_attr.c bmap.c dblist_dir.c
40 EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
41 EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
43 UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
45 UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
46 UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
49 E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
50 E2FSPROGS-$(CONFIG_E2FSCK) += e2fsck.o $(BLKID_OBJS) $(E2FSCK_OBJS)
51 E2FSPROGS-$(CONFIG_FSCK) += fsck.o base_device.o
52 E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
53 E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
54 E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
56 libraries-y+=$(E2FSPROGS_DIR)/$(E2FSPROGS_AR)
59 $(E2FSPROGS_DIR)/$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y))
60 $(AR) $(ARFLAGS) $@ $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y))
62 $(E2FSPROGS_DIR)/%.o: $(E2FSPROGS_DIR)/%.c
63 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(E2FSPROGS_CFLAGS) -c -o $@ $<