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
21 ifndef $(E2FSPROGS_DIR)
22 E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs/
24 srcdir=$(top_srcdir)/e2fsprogs
26 E2FSPROGS_CFLAGS := -I$(E2FSPROGS_DIR) -include $(E2FSPROGS_DIR)e2fsbb.h
28 BLKID_SRC := cache.c dev.c devname.c devno.c getsize.c llseek.c probe.c \
29 read.c resolve.c save.c tag.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
35 E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
36 E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
38 EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
39 llseek.c rw_bitmaps.c initialize.c bitmaps.c block.c \
40 ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
41 openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c
42 EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
43 EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
45 UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
47 UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
48 UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
51 E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
52 E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
53 E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
55 libraries-y+=$(E2FSPROGS_DIR)$(E2FSPROGS_AR)
58 $(E2FSPROGS_DIR)$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
59 $(AR) -ro $@ $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
61 $(E2FSPROGS_DIR)%.o: $(srcdir)/%.c
62 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(E2FSPROGS_CFLAGS) -c -o $@ $<