3 # Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 E2FSPROGS_AR:=e2fsprogs.a
22 E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs/
24 srcdir=$(top_srcdir)/e2fsprogs
26 E2FSPROGS_CFLAGS := -I$(srcdir) -include $(srcdir)/e2fsbb.h
28 BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \
29 probe.c read.c resolve.c save.c tag.c resolve.c
30 BLKID_SRCS := $(patsubst %,blkid/%, $(BLKID_SRC))
31 BLKID_OBJS := $(patsubst %.c,%.o, $(BLKID_SRCS))
33 E2P_SRC := fgetsetflags.c fgetsetversion.c pf.c iod.c mntopts.c \
34 feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c \
36 E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
37 E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
39 EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
40 rw_bitmaps.c initialize.c bitmaps.c block.c \
41 ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
42 openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c \
43 getsize.c getsectsize.c alloc_tables.c read_bb_file.c mkdir.c \
44 bb_inode.c newdir.c alloc_sb.c lookup.c dirblock.c expanddir.c \
45 dir_iterate.c link.c res_gdt.c
46 EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
47 EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
49 UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
51 UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
52 UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
55 E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
56 E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
57 E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
58 E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
60 libraries-y+=$(E2FSPROGS_DIR)$(E2FSPROGS_AR)
63 $(E2FSPROGS_DIR)$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
64 $(AR) $(ARFLAGS) $@ $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
66 $(E2FSPROGS_DIR)%.o: $(srcdir)/%.c
67 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(E2FSPROGS_CFLAGS) -c -o $@ $<