Whamcloud - gitweb
Update Makefile.in files using "make depend"
[tools/e2fsprogs.git] / misc / Makefile.in
index b4c39ee..9902841 100644 (file)
@@ -11,28 +11,48 @@ INSTALL = @INSTALL@
 
 @MCONFIG@
 
+@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_PROG= e4defrag
+@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_MAN= e4defrag.8
+
+@LINUX_CMT@E4CRYPT_PROG = e4crypt
+@LINUX_CMT@E4CRYPT_MAN= e4crypt.8
+
 @IMAGER_CMT@E2IMAGE_PROG= e2image
 @IMAGER_CMT@E2IMAGE_MAN= e2image.8
 
 @UUIDD_CMT@UUIDD_PROG= uuidd
 @UUIDD_CMT@UUIDD_MAN= uuidd.8
+@UUIDD_CMT@UUIDD_PROFILED= uuidd.profiled
+
+@BLKID_CMT@BLKID_PROG= blkid
+@BLKID_CMT@BLKID_MAN= blkid.8
+
+@BLKID_CMT@FINDFS_LINK= findfs
+@BLKID_CMT@FINDFS_MAN= findfs.8
+
+@FUSE_CMT@FUSE_PROG= fuse2fs
 
-SPROGS=                mke2fs badblocks tune2fs dumpe2fs blkid logsave \
-                       $(E2IMAGE_PROG) @FSCK_PROG@
-USPROGS=       mklost+found filefrag $(UUIDD_PROG)
+SPROGS=                mke2fs badblocks tune2fs dumpe2fs $(BLKID_PROG) logsave \
+                       $(E2IMAGE_PROG) @FSCK_PROG@ e2undo
+USPROGS=       mklost+found filefrag e2freefrag $(UUIDD_PROG) \
+                       $(E4DEFRAG_PROG) $(E4CRYPT_PROG) $(FUSE_PROG)
 SMANPAGES=     tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 \
-                       e2label.8 findfs.8 blkid.8 $(E2IMAGE_MAN) \
-                       logsave.8 filefrag.8 $(UUIDD_MAN) @FSCK_MAN@
-FMANPAGES=     mke2fs.conf.5
+                       e2label.8 $(FINDFS_MAN) $(BLKID_MAN) $(E2IMAGE_MAN) \
+                       logsave.8 filefrag.8 e2freefrag.8 e2undo.8 \
+                       $(UUIDD_MAN) $(E4DEFRAG_MAN) $(E4CRYPT_MAN) @FSCK_MAN@ \
+                       e2mmpstatus.8
+FMANPAGES=     mke2fs.conf.5 ext4.5
 
-UPROGS=                chattr lsattr uuidgen
-UMANPAGES=     chattr.1 lsattr.1 uuidgen.1
+UPROGS=                chattr lsattr @UUID_CMT@ uuidgen
+UMANPAGES=     chattr.1 lsattr.1 @UUID_CMT@ uuidgen.1
+UMANPAGES+=    @FUSE_CMT@ fuse2fs.1
 
 LPROGS=                @E2INITRD_PROG@
 
-TUNE2FS_OBJS=  tune2fs.o util.o
+TUNE2FS_OBJS=  tune2fs.o util.o journal.o recovery.o revoke.o
 MKLPF_OBJS=    mklost+found.o
-MKE2FS_OBJS=   mke2fs.o util.o profile.o prof_err.o default_profile.o
+MKE2FS_OBJS=   mke2fs.o util.o default_profile.o mk_hugefiles.o \
+                       create_inode.o
 CHATTR_OBJS=   chattr.o
 LSATTR_OBJS=   lsattr.o
 UUIDGEN_OBJS=  uuidgen.o
@@ -43,291 +63,579 @@ E2IMAGE_OBJS=     e2image.o
 FSCK_OBJS=     fsck.o base_device.o ismounted.o
 BLKID_OBJS=    blkid.o
 FILEFRAG_OBJS= filefrag.o
-
-XTRA_CFLAGS=   -I$(srcdir)/../e2fsck -I.
-
-SRCS=  $(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c \
+E2UNDO_OBJS=  e2undo.o
+E4DEFRAG_OBJS= e4defrag.o
+E4CRYPT_OBJS=   e4crypt.o
+E2FREEFRAG_OBJS= e2freefrag.o
+E2FUZZ_OBJS=   e2fuzz.o
+FUSE2FS_OBJS=  fuse2fs.o journal.o recovery.o revoke.o
+
+PROFILED_TUNE2FS_OBJS= profiled/tune2fs.o profiled/util.o profiled/journal.o \
+                               profiled/recovery.o profiled/revoke.o
+PROFILED_MKLPF_OBJS=   profiled/mklost+found.o
+PROFILED_MKE2FS_OBJS=  profiled/mke2fs.o profiled/util.o \
+                               profiled/default_profile.o \
+                               profiled/mk_hugefiles.o \
+                               profiled/create_inode.o
+PROFILED_CHATTR_OBJS=  profiled/chattr.o
+PROFILED_LSATTR_OBJS=  profiled/lsattr.o
+PROFILED_UUIDGEN_OBJS= profiled/uuidgen.o
+PROFILED_UUIDD_OBJS=   profiled/uuidd.o
+PROFILED_DUMPE2FS_OBJS=        profiled/dumpe2fs.o
+PROFILED_BADBLOCKS_OBJS=       profiled/badblocks.o
+PROFILED_E2IMAGE_OBJS= profiled/e2image.o
+PROFILED_FSCK_OBJS=    profiled/fsck.o profiled/base_device.o \
+                       profiled/ismounted.o
+PROFILED_BLKID_OBJS=   profiled/blkid.o
+PROFILED_FILEFRAG_OBJS=        profiled/filefrag.o
+PROFILED_E2FREEFRAG_OBJS= profiled/e2freefrag.o
+PROFILED_E2UNDO_OBJS=  profiled/e2undo.o
+PROFILED_E4DEFRAG_OBJS=        profiled/e4defrag.o
+PROFILED_E4CRYPT_OBJS= profiled/e4crypt.o
+PROFILED_FUSE2FS_OJBS= profiled/fuse2fs.o profiled/journal.o \
+                       profiled/recovery.o profiled/revoke.o
+
+SRCS=  $(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c $(srcdir)/mk_hugefiles.c \
                $(srcdir)/chattr.c $(srcdir)/lsattr.c $(srcdir)/dumpe2fs.c \
                $(srcdir)/badblocks.c $(srcdir)/fsck.c $(srcdir)/util.c \
                $(srcdir)/uuidgen.c $(srcdir)/blkid.c $(srcdir)/logsave.c \
                $(srcdir)/filefrag.c $(srcdir)/base_device.c \
-               $(srcdir)/ismounted.c $(srcdir)/../e2fsck/profile.c
+               $(srcdir)/ismounted.c $(srcdir)/e2undo.c \
+               $(srcdir)/e2freefrag.c $(srcdir)/create_inode.c \
+               $(srcdir)/fuse2fs.c \
+               $(srcdir)/../debugfs/journal.c $(srcdir)/../e2fsck/revoke.c \
+               $(srcdir)/../e2fsck/recovery.c
 
-LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) 
-DEPLIBS= $(LIBEXT2FS) $(LIBCOM_ERR) 
+LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBSUPPORT)
+DEPLIBS= $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBSUPPORT)
+PROFILED_LIBS= $(LIBSUPPORT) $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR)
+PROFILED_DEPLIBS= $(DEPLIBSUPPORT) $(PROFILED_LIBEXT2FS) $(DEPPROFILED_LIBCOM_ERR)
 
-STATIC_LIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) 
-STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) 
+STATIC_LIBS= $(LIBSUPPORT) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR)
+STATIC_DEPLIBS= $(DEPLIBSUPPORT) $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
 
-LIBS_BLKID= $(LIBBLKID) $(LIBUUID)
-DEPLIBS_BLKID= $(DEPLIBBLKID) $(DEPLIBUUID)
+LIBS_E2P= $(LIBE2P) $(LIBCOM_ERR)
+DEPLIBS_E2P= $(LIBE2P) $(DEPLIBCOM_ERR)
 
-LIBS_E2P= $(LIBE2P) $(LIBCOM_ERR) 
-DEPLIBS_E2P= $(LIBE2P) $(LIBCOM_ERR) 
+COMPILE_ET=    _ET_DIR_OVERRIDE=$(srcdir)/../lib/et/et ../lib/et/compile_et
 
-COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree
+# This nastiness is needed because of jfs_user.h hackery; when we finally
+# clean up this mess, we should be able to drop it
+JOURNAL_CFLAGS = -I$(srcdir)/../e2fsck $(ALL_CFLAGS) -DDEBUGFS
+DEPEND_CFLAGS = -I$(top_srcdir)/e2fsck
 
 .c.o:
-       @echo " CC $<"
-       @$(CC) -c $(ALL_CFLAGS) $< -o $@
-
-all:: $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) \
-       $(FMANPAGES) $(LPROGS)
-
-prof_err.c prof_err.h: $(srcdir)/../e2fsck/prof_err.et
-       @echo " COMPILE_ET prof_err.et"
-       @$(COMPILE_ET) $(srcdir)/../e2fsck/prof_err.et
+       $(E) "  CC $<"
+       $(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@
+       $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
+       $(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $<
+@PROFILE_CMT@  $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
+
+all:: profiled $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) \
+       $(FMANPAGES) $(LPROGS) $(E4DEFRAG_PROG) $(E4CRYPT_PROGS) e2fuzz
+
+@PROFILE_CMT@all:: tune2fs.profiled blkid.profiled e2image.profiled \
+       e2undo.profiled mke2fs.profiled dumpe2fs.profiled fsck.profiled \
+       logsave.profiled filefrag.profiled uuidgen.profiled $(UUIDD_PROFILED) \
+       e2image.profiled e4defrag.profiled e4crypt.profiled \
+       e2freefrag.profiled
+
+profiled:
+@PROFILE_CMT@  $(E) "  MKDIR $@"
+@PROFILE_CMT@  $(Q) mkdir profiled
+
+mke2fs.conf: $(srcdir)/mke2fs.conf.in
+       if test -f $(srcdir)/mke2fs.conf.custom.in ; then \
+               cp $(srcdir)/mke2fs.conf.custom.in mke2fs.conf; \
+       else \
+               cp $(srcdir)/mke2fs.conf.in mke2fs.conf; \
+       fi
 
-default_profile.c: $(srcdir)/mke2fs.conf $(srcdir)/profile-to-c.awk
-       @echo " PROFILE_TO_C mke2fs.conf"
-       $(AWK) -f $(srcdir)/profile-to-c.awk < $(srcdir)/mke2fs.conf \
+default_profile.c: mke2fs.conf $(srcdir)/profile-to-c.awk
+       $(E) "  PROFILE_TO_C mke2fs.conf"
+       $(Q) $(AWK) -f $(srcdir)/profile-to-c.awk < mke2fs.conf \
                >  default_profile.c
-profile.o:
-       @echo " CC $<"
-       @$(CC) -c $(ALL_CFLAGS) $(srcdir)/../e2fsck/profile.c -o $@
-
 findsuper: findsuper.o
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o findsuper findsuper.o
-
-partinfo: partinfo.o
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o partinfo partinfo.o
-
-e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBS_BLKID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o e2initrd_helper e2initrd_helper.o $(LIBS) \
-               $(LIBS_BLKID) $(LIBS_E2P) $(LIBINTL)
-
-tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBS_BLKID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS) \
-               $(LIBS_BLKID) $(LIBS_E2P) $(LIBINTL)
-
-blkid: $(BLKID_OBJS) $(DEPLIBS_BLKID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o blkid $(BLKID_OBJS) $(LIBS_BLKID) $(LIBINTL)
-
-e2image: $(E2IMAGE_OBJS) $(DEPLIBS)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o e2image $(E2IMAGE_OBJS) $(LIBS) $(LIBINTL)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o findsuper findsuper.o $(LIBS) $(SYSLIBS)
+
+partinfo: partinfo.o $(DEPLIBCOM_ERR)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o partinfo partinfo.o $(LIBCOM_ERR)
+
+e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBBLKID) $(LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e2initrd_helper e2initrd_helper.o $(LIBS) \
+               $(LIBBLKID) $(LIBEXT2FS) $(LIBINTL) $(SYSLIBS)
+
+tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBBLKID) \
+               $(DEPLIBUUID) $(LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS) \
+               $(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(LIBS_E2P) \
+               $(LIBINTL) $(SYSLIBS) $(LIBBLKID) $(LIBMAGIC)
+
+tune2fs.static: $(TUNE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(LDFLAGS_STATIC) -o tune2fs.static $(TUNE2FS_OBJS) \
+               $(STATIC_LIBS) $(STATIC_LIBBLKID) $(STATIC_LIBUUID) \
+               $(STATIC_LIBE2P) $(LIBINTL) $(SYSLIBS) \
+               $(STATIC_LIBBLKID) $(LIBMAGIC)
+
+tune2fs.profiled: $(TUNE2FS_OBJS) $(PROFILED_DEPLIBS) \
+               $(PROFILED_E2P) $(DEPPROFILED_LIBBLKID) $(DEPPROFILED_LIBUUID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o tune2fs.profiled \
+               $(PROFILED_TUNE2FS_OBJS) $(PROFILED_LIBS) \
+               $(PROFILED_LIBBLKID) $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) \
+               $(LIBINTL) $(SYSLIBS) $(PROFILED_LIBUUID) $(LIBMAGIC)
+
+blkid: $(BLKID_OBJS) $(DEPLIBBLKID) $(LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o blkid $(BLKID_OBJS) $(LIBBLKID) $(LIBINTL) \
+               $(LIBEXT2FS) $(SYSLIBS)
+
+blkid.static: $(BLKID_OBJS) $(STATIC_DEPLIBS) $(DEPSTATIC_LIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o blkid.static $(BLKID_OBJS) $(STATIC_LIBS) \
+               $(STATIC_LIBBLKID) $(LIBINTL) $(SYSLIBS)
+
+blkid.profiled: $(BLKID_OBJS) $(DEPPROFILED_LIBBLKID) \
+               $(PROFILED_LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o blkid.profiled $(PROFILED_BLKID_OBJS) \
+               $(PROFILED_LIBBLKID) $(LIBINTL) $(PROFILED_LIBEXT2FS) $(SYSLIBS)
+
+e2image: $(E2IMAGE_OBJS) $(DEPLIBS) $(DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e2image $(E2IMAGE_OBJS) $(LIBS) \
+               $(LIBINTL) $(SYSLIBS) $(LIBBLKID) $(LIBMAGIC)
+
+e2image.profiled: $(E2IMAGE_OBJS) $(PROFILED_DEPLIBS) $(DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2image.profiled \
+               $(PROFILED_E2IMAGE_OBJS) $(PROFILED_LIBS) $(LIBINTL) $(SYSLIBS) \
+               $(LIBBLKID) $(LIBMAGIC)
+
+e2image.static: $(E2IMAGE_OBJS) $(PROFILED_DEPLIBS) $(DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(LDFLAGS_STATIC) -g -pg -o e2image.static \
+               $(E2IMAGE_OBJS) $(STATIC_LIBS) $(LIBINTL) $(SYSLIBS) \
+               $(STATIC_LIBBLKID) $(LIBMAGIC)
+
+e2undo: $(E2UNDO_OBJS) $(DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e2undo $(E2UNDO_OBJS) $(LIBS) \
+               $(LIBINTL) $(SYSLIBS)
+
+e2undo.profiled: $(E2UNDO_OBJS) $(PROFILED_DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2undo.profiled \
+               $(PROFILED_E2UNDO_OBJS) $(PROFILED_LIBS) $(LIBINTL) $(SYSLIBS)
+
+e4defrag: $(E4DEFRAG_OBJS) $(DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e4defrag $(E4DEFRAG_OBJS) $(LIBS) \
+               $(SYSLIBS)
+
+e4crypt: $(E4CRYPT_OBJS) $(DEPLIBS) $(DEPSTATIC_LIBUUID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e4crypt $(E4CRYPT_OBJS) \
+               $(LIBUUID) $(LIBS)
+
+e4defrag.profiled: $(E4DEFRAG_OBJS) $(PROFILED_DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e4defrag.profiled \
+               $(PROFILED_E4DEFRAG_OBJS) $(PROFILED_LIBS) $(SYSLIBS)
+
+e4crypt.profiled: $(E4CRYPT_OBJS) $(DEPPROFILED_LIBUUID) $(PROFILED_DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e4crypt.profiled \
+               $(PROFILED_E4CRYPT_OBJS) $(PROFILED_LIBUUID) $(PROFILED_LIBS) \
+               $(SYSLIBS)
 
 base_device: base_device.c
-       @echo " LD $@"
-       @$(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(srcdir)/base_device.c \
-               -DDEBUG -o base_device
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(srcdir)/base_device.c \
+               -DDEBUG -o base_device $(SYSLIBS)
 
-check:: base_device
+fullcheck check:: base_device
        ./base_device < $(srcdir)/base_device.tst > base_device.out
        cmp $(srcdir)/base_device.tst base_device.out
 
 mklost+found: $(MKLPF_OBJS)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o mklost+found $(MKLPF_OBJS) $(LIBINTL)
-
-mke2fs: $(MKE2FS_OBJS) $(DEPLIBS) $(LIBE2P) $(DEPLIBUUID) $(DEPLIBS_BLKID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o mke2fs $(MKE2FS_OBJS) $(LIBS) $(LIBS_BLKID) \
-               $(LIBE2P) $(LIBUUID) $(LIBINTL)
-
-mke2fs.static: $(MKE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBUUID) $(DEPSTATIC_LIBBLKID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -static -o mke2fs.static $(MKE2FS_OBJS) \
-               $(STATIC_LIBS) $(STATIC_LIBE2P) $(STATIC_LIBBLKID) \
-               $(STATIC_LIBUUID) $(LIBINTL)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o mklost+found $(MKLPF_OBJS) \
+               $(LIBINTL) $(SYSLIBS)
+
+mke2fs: $(MKE2FS_OBJS) $(DEPLIBS) $(LIBE2P) $(DEPLIBBLKID) $(DEPLIBUUID) \
+               $(LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o mke2fs $(MKE2FS_OBJS) $(LIBS) $(LIBBLKID) \
+               $(LIBUUID) $(LIBEXT2FS) $(LIBE2P) $(LIBINTL) \
+               $(SYSLIBS) $(LIBMAGIC)
+
+mke2fs.static: $(MKE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBUUID) \
+               $(DEPSTATIC_LIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(LDFLAGS_STATIC) -o mke2fs.static $(MKE2FS_OBJS) \
+               $(STATIC_LIBS) $(STATIC_LIBE2P) \
+               $(STATIC_LIBBLKID) $(STATIC_LIBUUID) $(LIBINTL) $(SYSLIBS) \
+               $(LIBMAGIC)
+
+mke2fs.profiled: $(MKE2FS_OBJS) $(PROFILED_DEPLIBS) \
+       $(PROFILED_LIBE2P) $(PROFILED_DEPLIBBLKID) $(PROFILED_DEPLIBUUID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o mke2fs.profiled \
+               $(PROFILED_MKE2FS_OBJS) $(PROFILED_LIBBLKID) \
+               $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) \
+               $(LIBINTL) $(PROFILED_LIBS) $(SYSLIBS) $(LIBMAGIC)
 
 chattr: $(CHATTR_OBJS) $(DEPLIBS_E2P)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS_E2P) $(LIBINTL)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS_E2P) \
+               $(LIBINTL) $(SYSLIBS)
 
 lsattr: $(LSATTR_OBJS) $(DEPLIBS_E2P)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o lsattr $(LSATTR_OBJS) $(LIBS_E2P) $(LIBINTL)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o lsattr $(LSATTR_OBJS) $(LIBS_E2P) \
+               $(LIBINTL) $(SYSLIBS)
 
 uuidgen: $(UUIDGEN_OBJS) $(DEPLIBUUID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o uuidgen $(UUIDGEN_OBJS) $(LIBUUID) $(LIBINTL)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o uuidgen $(UUIDGEN_OBJS) $(LIBUUID) \
+               $(LIBINTL) $(SYSLIBS)
 
-uuidd: $(UUIDD_OBJS) $(DEPLIBUUID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o uuidd $(UUIDD_OBJS) $(LIBUUID) $(LIBINTL)
+uuidgen.profiled: $(UUIDGEN_OBJS) $(PROFILED_DEPLIBUUID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o uuidgen.profiled \
+               $(PROFILED_UUIDGEN_OBJS) $(PROFILED_LIBUUID) $(LIBINTL) \
+               $(SYSLIBS)
 
-dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS) \
-               $(LIBS_E2P) $(LIBUUID) $(LIBINTL)
-
-fsck: $(FSCK_OBJS) $(DEBLIBS_BLKID)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBS_BLKID) $(LIBINTL)
+uuidd: $(UUIDD_OBJS) $(DEPLIBUUID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o uuidd $(UUIDD_OBJS) $(LIBUUID) \
+               $(LIBINTL) $(SYSLIBS)
+
+uuidd.profiled: $(UUIDD_OBJS) $(PROFILED_DEPLIBUUID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o uuidd.profiled $(PROFILED_UUIDD_OBJS) \
+               $(PROFILED_LIBUUID) $(LIBINTL) $(SYSLIBS)
+
+dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID) $(DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS) \
+               $(LIBS_E2P) $(LIBUUID) $(LIBINTL) $(SYSLIBS) $(LIBBLKID) \
+               $(LIBMAGIC)
+
+dumpe2fs.profiled: $(DUMPE2FS_OBJS) $(PROFILED_DEPLIBS) \
+               $(PROFILED_LIBE2P) $(PROFILED_DEPLIBUUID) $(PROFILED_DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o dumpe2fs.profiled \
+               $(PROFILED_DUMPE2FS_OBJS) $(PROFILED_LIBS) \
+               $(PROFILED_LIBE2P) $(PROFILED_LIBUUID) $(LIBINTL) $(SYSLIBS) \
+               $(PROFILED_LIBBLKID) $(LIBMAGIC)
+
+dumpe2fs.static: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID) $(DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(LDFLAGS_STATIC) -o dumpe2fs.static $(DUMPE2FS_OBJS) \
+               $(STATIC_LIBS) $(STATIC_LIBE2P) $(STATIC_LIBUUID) \
+               $(LIBINTL) $(SYSLIBS) $(STATIC_LIBBLKID) $(LIBMAGIC)
+
+fsck: $(FSCK_OBJS) $(DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) \
+               $(LIBINTL) $(SYSLIBS)
+
+fsck.profiled: $(FSCK_OBJS) $(PROFILED_DEPLIBBLKID)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o fsck.profiled $(PROFILED_FSCK_OBJS) \
+               $(PROFILED_LIBBLKID) $(LIBINTL) $(SYSLIBS)
 
 badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS) $(LIBINTL)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS) \
+               $(LIBINTL) $(SYSLIBS)
+
+badblocks.profiled: $(BADBLOCKS_OBJS) $(PROFILED_DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o badblocks.profiled \
+               $(PROFILED_BADBLOCKS_OBJS) $(PROFILED_LIBS) $(LIBINTL) \
+               $(SYSLIBS)
 
 logsave: logsave.o
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o logsave logsave.o
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o logsave logsave.o $(SYSLIBS)
+
+logsave.profiled: logsave.o
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o logsave.profiled \
+               profiled/logsave.o $(SYSLIBS)
+
+e2freefrag: $(E2FREEFRAG_OBJS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e2freefrag $(E2FREEFRAG_OBJS) \
+               $(LIBS) $(SYSLIBS)
+
+e2freefrag.profiled: $(E2FREEFRAG_OBJS) $(PROFILED_DEPLIBS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2freefrag.profiled \
+               $(PROFILED_E2FREEFRAG_OBJS) $(PROFILED_LIBS) $(SYSLIBS)
+
+e2fuzz: $(E2FUZZ_OBJS) $(DEPLIBS) $(DEPLIBBLKID) $(DEPLIBUUID) \
+               $(LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o e2fuzz $(E2FUZZ_OBJS) $(LIBS) \
+               $(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(SYSLIBS)
 
 filefrag: $(FILEFRAG_OBJS)
-       @echo " LD $@"
-       @$(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) 
-
-tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS)
-       @echo " LD $@"
-       $(CC) -o tst_ismounted $(srcdir)/ismounted.c -DDEBUG $(ALL_CFLAGS) $(LIBCOM_ERR)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) $(SYSLIBS)
+
+filefrag.profiled: $(FILEFRAG_OBJS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o filefrag.profiled \
+               $(PROFILED_FILEFRAG_OBJS) 
+
+fuse2fs: $(FUSE2FS_OBJS) $(DEPLIBS) $(DEPLIBBLKID) $(DEPLIBUUID) \
+               $(LIBEXT2FS)
+       $(E) "  LD $@"
+       $(Q) $(CC) $(ALL_LDFLAGS) -o fuse2fs $(FUSE2FS_OBJS) $(LIBS) \
+               $(LIBFUSE) $(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(LIBINTL) \
+               $(CLOCK_GETTIME_LIB) $(SYSLIBS)
+
+journal.o: $(srcdir)/../debugfs/journal.c
+       $(E) "  CC $<"
+       $(Q) $(CC) -c $(JOURNAL_CFLAGS) -I$(srcdir) \
+               $(srcdir)/../debugfs/journal.c -o $@
+@PROFILE_CMT@  $(Q) $(CC) $(JOURNAL_CFLAGS) -g -pg -o profiled/$*.o -c $<
+
+recovery.o: $(srcdir)/../e2fsck/recovery.c
+       $(E) "  CC $<"
+       $(Q) $(CC) -c $(JOURNAL_CFLAGS) -I$(srcdir) \
+               $(srcdir)/../e2fsck/recovery.c -o $@
+@PROFILE_CMT@  $(Q) $(CC) $(JOURNAL_CFLAGS) -g -pg -o profiled/$*.o -c $<
+
+revoke.o: $(srcdir)/../e2fsck/revoke.c
+       $(E) "  CC $<"
+       $(Q) $(CC) -c $(JOURNAL_CFLAGS) -I$(srcdir) \
+               $(srcdir)/../e2fsck/revoke.c -o $@
+@PROFILE_CMT@  $(Q) $(CC) $(JOURNAL_CFLAGS) -g -pg -o profiled/$*.o -c $<
+
+tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR)
+       $(E) "  LD $@"
+       $(CC) -o tst_ismounted $(srcdir)/ismounted.c -DDEBUG $(ALL_CFLAGS) \
+               $(LIBCOM_ERR) $(SYSLIBS)
+@PROFILE_CMT@  $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<
 
 tune2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/tune2fs.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/tune2fs.8.in tune2fs.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/tune2fs.8.in tune2fs.8
 
 mklost+found.8: $(DEP_SUBSTITUTE) $(srcdir)/mklost+found.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/mklost+found.8.in mklost+found.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mklost+found.8.in mklost+found.8
 
 mke2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/mke2fs.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.8.in mke2fs.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.8.in mke2fs.8
 
 mke2fs.conf.5: $(DEP_SUBSTITUTE) $(srcdir)/mke2fs.conf.5.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.conf.5.in mke2fs.conf.5
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.conf.5.in mke2fs.conf.5
+
+ext4.5: $(DEP_SUBSTITUTE) $(srcdir)/ext4.5.in
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/$@.in $@
 
 e2label.8: $(DEP_SUBSTITUTE) $(srcdir)/e2label.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/e2label.8.in e2label.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2label.8.in e2label.8
+
+e2undo.8: $(DEP_SUBSTITUTE) $(srcdir)/e2undo.8.in
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2undo.8.in e2undo.8
 
 findfs.8: $(DEP_SUBSTITUTE) $(srcdir)/findfs.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/findfs.8.in findfs.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/findfs.8.in findfs.8
 
 e2image.8: $(DEP_SUBSTITUTE) $(srcdir)/e2image.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/e2image.8.in e2image.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2image.8.in e2image.8
+
+e4defrag.8: $(DEP_SUBSTITUTE) $(srcdir)/e4defrag.8.in
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e4defrag.8.in e4defrag.8
+
+e4crypt.8: $(DEP_SUBSTITUTE) $(srcdir)/e4crypt.8.in
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e4crypt.8.in e4crypt.8
 
 dumpe2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/dumpe2fs.8.in 
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/dumpe2fs.8.in dumpe2fs.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/dumpe2fs.8.in dumpe2fs.8
+
+e2mmpstatus.8: $(DEP_SUBSTITUTE) $(srcdir)/e2mmpstatus.8.in
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2mmpstatus.8.in e2mmpstatus.8
 
 badblocks.8: $(DEP_SUBSTITUTE) $(srcdir)/badblocks.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/badblocks.8.in badblocks.8      
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/badblocks.8.in badblocks.8  
 
 fsck.8: $(DEP_SUBSTITUTE) $(srcdir)/fsck.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/fsck.8.in fsck.8 
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/fsck.8.in fsck.8 
 
 blkid.8: $(DEP_SUBSTITUTE) $(srcdir)/blkid.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/blkid.8.in blkid.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/blkid.8.in blkid.8
 
 logsave.8: $(DEP_SUBSTITUTE) $(srcdir)/logsave.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/logsave.8.in logsave.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/logsave.8.in logsave.8
 
 uuidd.8: $(DEP_SUBSTITUTE) $(srcdir)/uuidd.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/uuidd.8.in uuidd.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuidd.8.in uuidd.8
 
 chattr.1: $(DEP_SUBSTITUTE) $(srcdir)/chattr.1.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/chattr.1.in chattr.1 
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/chattr.1.in chattr.1 
+
+fuse2fs.1: $(DEP_SUBSTITUTE) $(srcdir)/fuse2fs.1.in
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/fuse2fs.1.in fuse2fs.1
 
 lsattr.1: $(DEP_SUBSTITUTE) $(srcdir)/lsattr.1.in 
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/lsattr.1.in lsattr.1 
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/lsattr.1.in lsattr.1 
 
 uuidgen.1: $(DEP_SUBSTITUTE) $(srcdir)/uuidgen.1.in 
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/uuidgen.1.in uuidgen.1 
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuidgen.1.in uuidgen.1 
 
 blkid.1: $(DEP_SUBSTITUTE) $(srcdir)/blkid.1.in 
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/blkid.1.in blkid.1 
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/blkid.1.in blkid.1 
+
+e2freefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/e2freefrag.8.in
+       $(E) "  SUBST $@"
+       @$(SUBSTITUTE_UPTIME) $(srcdir)/e2freefrag.8.in e2freefrag.8
 
 filefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/filefrag.8.in
-       @echo " SUBST $@"
-       @$(SUBSTITUTE_UPTIME) $(srcdir)/filefrag.8.in filefrag.8
+       $(E) "  SUBST $@"
+       $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/filefrag.8.in filefrag.8
 
 installdirs:
-       @echo " MKINSTALLDIRS $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir) $(root_sysconfdir)"
-       @$(MKINSTALLDIRS) $(DESTDIR)$(sbindir) \
+       $(E) "  MKINSTALLDIRS $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir) $(root_sysconfdir)"
+       $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(sbindir) \
                $(DESTDIR)$(root_sbindir) $(DESTDIR)$(bindir) \
                $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) \
                $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
                $(DESTDIR)$(libdir) $(DESTDIR)/$(root_sysconfdir)
 
 install: all $(SMANPAGES) $(UMANPAGES) installdirs
-       @for i in $(SPROGS); do \
-               echo "  INSTALL $(root_sbindir)/$$i"; \
+       $(Q) for i in $(SPROGS); do \
+               $(ES) " INSTALL $(root_sbindir)/$$i"; \
                $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \
        done
-       @for i in $(USPROGS); do \
-               echo "  INSTALL $(sbindir)/$$i"; \
+       $(Q) for i in $(USPROGS); do \
+               $(ES) " INSTALL $(sbindir)/$$i"; \
                $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \
        done
-       @echo " LINK $(root_sbindir)/mkfs.ext2"
-       @$(LN) -f $(DESTDIR)$(root_sbindir)/mke2fs \
-               $(DESTDIR)$(root_sbindir)/mkfs.ext2
-       @echo " LINK $(root_sbindir)/mkfs.ext3"
-       @$(LN) -f $(DESTDIR)$(root_sbindir)/mke2fs \
-               $(DESTDIR)$(root_sbindir)/mkfs.ext3
-       @echo " LINK $(root_sbindir)/e2label"
-       @$(LN) -f $(DESTDIR)$(root_sbindir)/tune2fs \
-               $(DESTDIR)$(root_sbindir)/e2label
-       @echo " LINK $(root_sbindir)/findfs"
-       @$(LN) -f $(DESTDIR)$(root_sbindir)/tune2fs \
-               $(DESTDIR)$(root_sbindir)/findfs
-       @for i in $(UPROGS); do \
-               echo "  INSTALL $(bindir)/$$i"; \
+       $(Q) for i in ext2 ext3 ext4; do \
+               $(ES) " LINK $(root_sbindir)/mkfs.$$i"; \
+               (cd $(DESTDIR)$(root_sbindir); \
+                       $(LN) $(LINK_INSTALL_FLAGS) mke2fs mkfs.$$i); \
+       done
+       $(Q) (cd $(DESTDIR)$(root_sbindir); \
+               $(LN) $(LINK_INSTALL_FLAGS) dumpe2fs e2mmpstatus)
+       $(Q) (cd $(DESTDIR)$(root_sbindir); \
+               $(LN) $(LINK_INSTALL_FLAGS) tune2fs e2label)
+       $(Q) if test -n "$(FINDFS_LINK)"; then \
+               $(ES) " LINK $(root_sbindir)/findfs"; \
+               (cd $(DESTDIR)$(root_sbindir); \
+               $(LN) $(LINK_INSTALL_FLAGS) tune2fs $(FINDFS_LINK)); \
+       fi
+       $(Q) for i in $(UPROGS); do \
+               $(ES) " INSTALL $(bindir)/$$i"; \
                $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$i; \
        done
-       @for i in $(LPROGS); do \
-               echo "  INSTALL $(libdir)/$$i"; \
+       $(Q) for i in $(LPROGS); do \
+               $(ES) " INSTALL $(libdir)/$$i"; \
                $(INSTALL_PROGRAM) $$i $(DESTDIR)$(libdir)/$$i; \
        done
-       @for i in $(SMANPAGES); do \
+       $(Q) for i in $(SMANPAGES); do \
                for j in $(COMPRESS_EXT); do \
                        $(RM) -f $(DESTDIR)$(man8dir)/$$i.$$j; \
                done; \
-               echo "  INSTALL_DATA $(man8dir)/$$i"; \
+               $(ES) " INSTALL_DATA $(man8dir)/$$i"; \
                $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \
        done
-       @$(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \
+       $(Q) $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \
                $(DESTDIR)$(man8dir)/mkfs.ext3.8.gz
-       @echo " LINK mkfs.ext2.8"
-       @$(LN) -f $(DESTDIR)$(man8dir)/mke2fs.8 \
-               $(DESTDIR)$(man8dir)/mkfs.ext2.8
-       @echo " LINK mkfs.ext3.8"
-       @$(LN) -f $(DESTDIR)$(man8dir)/mke2fs.8 \
-               $(DESTDIR)$(man8dir)/mkfs.ext3.8
-       @for i in $(UMANPAGES); do \
+       $(Q) for i in ext2 ext3 ext4; do \
+               $(ES) " LINK mkfs.$$i.8"; \
+               (cd $(DESTDIR)$(man8dir); \
+                       $(LN) $(LINK_INSTALL_FLAGS) mke2fs.8 mkfs.$$i.8); \
+       done
+       $(Q) for i in $(UMANPAGES); do \
                for j in $(COMPRESS_EXT); do \
                        $(RM) -f $(DESTDIR)$(man1dir)/$$i.$$j; \
                done; \
-               echo "  INSTALL_DATA $(man1dir)/$$i"; \
+               $(ES) " INSTALL_DATA $(man1dir)/$$i"; \
                $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$i; \
        done
-       @for i in $(FMANPAGES); do \
+       $(Q) for i in $(FMANPAGES); do \
                for j in $(COMPRESS_EXT); do \
                        $(RM) -f $(DESTDIR)$(man5dir)/$$i.$$j; \
                done; \
-               echo "  INSTALL_DATA $(man5dir)/$$i"; \
+               $(ES) " INSTALL_DATA $(man5dir)/$$i"; \
                $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \
        done
-       @if ! test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \
-               echo "  INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \
-               $(INSTALL_DATA) $(srcdir)/mke2fs.conf \
+       $(Q) for i in ext2 ext3; do \
+               $(ES) " LINK $$i.5"; \
+               (cd $(DESTDIR)$(man5dir); \
+                       $(LN) $(LINK_INSTALL_FLAGS) ext4.5 $$i.5); \
+       done
+       $(Q) if test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \
+               if cmp -s $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \
+                       mke2fs.conf; then \
+                       true; \
+               else \
+                       if grep -q ext4dev $(DESTDIR)$(root_sysconfdir)/mke2fs.conf ; then \
+                               $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \
+                               $(INSTALL_DATA) mke2fs.conf \
+                                       $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \
+                               echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \
+                               echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \
+                       else \
+                               $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \
+                               mv $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \
+                                  $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old; \
+                               $(INSTALL_DATA) mke2fs.conf \
+                                       $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \
+                               echo "Your mke2fs.conf is too old.  Backing up old version in"; \
+                               echo "$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old.  Please check to see"; \
+                               echo "if you have any local customizations that you wish to preserve."; \
+                       fi; \
+                       echo " "; \
+               fi; \
+       else \
+               $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \
+               $(INSTALL_DATA) mke2fs.conf \
                        $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \
        fi
 
 install-strip: install
-       @for i in $(SPROGS); do \
-               echo "  STRIP $(root_sbindir)/$$i"; \
+       $(Q) for i in $(SPROGS); do \
+               $(E) "  STRIP $(root_sbindir)/$$i"; \
                $(STRIP) $(DESTDIR)$(root_sbindir)/$$i; \
        done
-       @for i in $(USPROGS); do \
-               echo "  STRIP $(sbindir)/$$i"; \
+       $(Q) for i in $(USPROGS); do \
+               $(E) "  STRIP $(sbindir)/$$i"; \
                $(STRIP) $(DESTDIR)$(sbindir)/$$i; \
        done
 
@@ -342,7 +650,8 @@ uninstall:
                $(RM) -f $(DESTDIR)$(libdir)/$$i; \
        done
        $(RM) -f $(DESTDIR)$(root_sbindir)/mkfs.ext2 \
-                       $(DESTDIR)$(root_sbindir)/mkfs.ext3
+                       $(DESTDIR)$(root_sbindir)/mkfs.ext3 \
+                       $(DESTDIR)$(root_sbindir)/mkfs.ext4
        for i in $(UPROGS); do \
                $(RM) -f $(DESTDIR)$(bindir)/$$i; \
        done
@@ -350,29 +659,41 @@ uninstall:
                $(RM) -f $(DESTDIR)$(man8dir)/$$i; \
        done
        $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8 \
-               $(DESTDIR)$(man8dir)/mkfs.ext3.8
+               $(DESTDIR)$(man8dir)/mkfs.ext3.8 \
+               $(DESTDIR)$(man8dir)/mkfs.ext4.8 \
+               $(DESTDIR)$(man8dir)/fsck.ext2.8 \
+               $(DESTDIR)$(man8dir)/fsck.ext3.8 \
+               $(DESTDIR)$(man8dir)/fsck.ext4.8
+
        for i in $(UMANPAGES); do \
                $(RM) -f $(DESTDIR)$(man1dir)/$$i; \
        done
-       for i in findfs e2label ; do \
+       for i in $(FINDFS_LINK) e2label e2mmpstatus ; do \
                $(RM) -f $(DESTDIR)$(root_sbindir)/$$i; \
        done
-       for i in fsck.ext2.8 fsck.ext3.8 ; do \
-               $(RM) -f $(DESTDIR)$(man8dir)/$$i; \
-       done
        for i in $(FMANPAGES); do \
                $(RM) -f $(DESTDIR)$(man5dir)/$$i; \
        done
-       if cmp -s $(srcdir)/mke2fs.conf $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; then \
+       $(Q) for i in ext2 ext3; do \
+               $(ES) " LINK $$i.5"; \
+               $(RM) -f $(DESTDIR)$(man5dir)/$$i.5; \
+       done
+       if cmp -s mke2fs.conf $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; then \
                $(RM) $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; \
        fi
 
-clean:
+clean::
        $(RM) -f $(SPROGS) $(USPROGS) $(UPROGS) $(UMANPAGES) $(SMANPAGES) \
-               $(FMANPAGES) \
-               base_device base_device.out mke2fs.static filefrag \
+               $(FMANPAGES) profile.h \
+               base_device base_device.out mke2fs.static filefrag e2freefrag \
                e2initrd_helper partinfo prof_err.[ch] default_profile.c \
-               uuidd e2image tst_ismounted \#* *.s *.o *.a *~ core
+               uuidd e2image tune2fs.static tst_ismounted fsck.profiled \
+               blkid.profiled tune2fs.profiled e2image.profiled \
+               e2undo.profiled mke2fs.profiled dumpe2fs.profiled \
+               dumpe2fs.static e2image.static \
+               logsave.profiled filefrag.profiled uuidgen.profiled \
+               uuidd.profiled e2image.profiled e2fuzz mke2fs.conf \
+               profiled/*.o \#* *.s *.o *.a *~ core gmon.out
 
 mostlyclean: clean
 distclean: clean
@@ -383,71 +704,177 @@ distclean: clean
 # Makefile dependencies follow.  This must be the last section in
 # the Makefile.in file
 #
-tune2fs.o: $(srcdir)/tune2fs.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+tune2fs.o: $(srcdir)/tune2fs.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
  $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
- $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
- $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
- $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h \
- $(top_srcdir)/lib/uuid/uuid.h $(top_srcdir)/lib/e2p/e2p.h \
- $(srcdir)/jfs_user.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \
- $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \
- $(srcdir)/util.h $(top_srcdir)/lib/blkid/blkid.h \
- $(top_builddir)/lib/blkid/blkid_types.h $(top_srcdir)/version.h \
- $(srcdir)/nls-enable.h
-mklost+found.o: $(srcdir)/mklost+found.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/version.h \
- $(srcdir)/nls-enable.h
-mke2fs.o: $(srcdir)/mke2fs.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/uuid/uuid.h $(top_srcdir)/lib/e2p/e2p.h \
- $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
  $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
  $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \
+ $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \
+ $(top_srcdir)/lib/support/plausible.h $(top_srcdir)/lib/support/quotaio.h \
+ $(top_srcdir)/lib/support/dqblk_v2.h \
+ $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(srcdir)/util.h $(top_srcdir)/version.h \
+ $(top_srcdir)/lib/support/nls-enable.h
+mklost+found.o: $(srcdir)/mklost+found.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/version.h \
+ $(top_srcdir)/lib/support/nls-enable.h
+mke2fs.o: $(srcdir)/mke2fs.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fsP.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
+ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
  $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/util.h \
- $(srcdir)/../e2fsck/profile.h prof_err.h $(top_srcdir)/version.h \
- $(srcdir)/nls-enable.h
-chattr.o: $(srcdir)/chattr.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/support/nls-enable.h $(top_srcdir)/lib/support/plausible.h \
+ $(top_srcdir)/lib/support/profile.h $(top_builddir)/lib/support/prof_err.h \
+ $(top_srcdir)/version.h $(top_srcdir)/lib/support/quotaio.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/support/dqblk_v2.h \
+ $(top_srcdir)/lib/support/quotaio_tree.h $(srcdir)/mke2fs.h \
+ $(srcdir)/create_inode.h $(top_srcdir)/lib/e2p/e2p.h
+mk_hugefiles.o: $(srcdir)/mk_hugefiles.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fsP.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
+ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(srcdir)/util.h \
+ $(top_srcdir)/lib/support/profile.h $(top_builddir)/lib/support/prof_err.h \
+ $(top_srcdir)/lib/support/nls-enable.h $(srcdir)/mke2fs.h
+chattr.o: $(srcdir)/chattr.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
  $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_srcdir)/version.h $(srcdir)/nls-enable.h
-lsattr.o: $(srcdir)/lsattr.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/nls-enable.h \
+ $(top_srcdir)/version.h
+lsattr.o: $(srcdir)/lsattr.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
  $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/nls-enable.h \
+ $(top_srcdir)/version.h
+dumpe2fs.o: $(srcdir)/dumpe2fs.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
+ $(top_srcdir)/lib/ext2fs/kernel-list.h \
+ $(top_srcdir)/lib/support/nls-enable.h $(top_srcdir)/lib/support/plausible.h \
+ $(top_srcdir)/version.h
+badblocks.o: $(srcdir)/badblocks.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_types.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h
+fsck.o: $(srcdir)/fsck.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/version.h \
+ $(top_srcdir)/lib/support/nls-enable.h $(srcdir)/fsck.h
+util.o: $(srcdir)/util.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
  $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
- $(top_srcdir)/version.h $(srcdir)/nls-enable.h
-dumpe2fs.o: $(srcdir)/dumpe2fs.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
  $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
- $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h \
+ $(srcdir)/util.h
+uuidgen.o: $(srcdir)/uuidgen.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/support/nls-enable.h
+blkid.o: $(srcdir)/blkid.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h
+logsave.o: $(srcdir)/logsave.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h
+filefrag.o: $(srcdir)/filefrag.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h
+base_device.o: $(srcdir)/base_device.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h
+ismounted.o: $(srcdir)/ismounted.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h \
+ $(top_srcdir)/lib/et/com_err.h
+e2undo.o: $(srcdir)/e2undo.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h
+e2freefrag.o: $(srcdir)/e2freefrag.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/e2freefrag.h $(srcdir)/fsmap.h
+create_inode.o: $(srcdir)/create_inode.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
+ $(srcdir)/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \
+ $(top_srcdir)/lib/support/nls-enable.h
+fuse2fs.o: $(srcdir)/fuse2fs.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/version.h
+journal.o: $(srcdir)/../debugfs/journal.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/../debugfs/journal.h \
+ $(top_srcdir)/e2fsck/jfs_user.h $(top_srcdir)/e2fsck/e2fsck.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
  $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
- $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h \
- $(top_srcdir)/lib/e2p/e2p.h $(srcdir)/jfs_user.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/profile.h \
+ $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
+ $(top_srcdir)/lib/support/dqblk_v2.h \
+ $(top_srcdir)/lib/support/quotaio_tree.h \
  $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
- $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/uuid/uuid.h \
- $(top_srcdir)/version.h $(srcdir)/nls-enable.h
-badblocks.o: $(srcdir)/badblocks.c $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/kernel-list.h
+revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \
+ $(srcdir)/../e2fsck/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
  $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
- $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
- $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
- $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h \
- $(srcdir)/nls-enable.h
-fsck.o: $(srcdir)/fsck.c $(top_srcdir)/version.h $(srcdir)/nls-enable.h \
- $(srcdir)/fsck.h $(top_srcdir)/lib/blkid/blkid.h \
- $(top_builddir)/lib/blkid/blkid_types.h
-util.o: $(srcdir)/util.c $(top_srcdir)/lib/et/com_err.h \
- $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
+ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/profile.h \
+ $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
+ $(top_srcdir)/lib/support/dqblk_v2.h \
+ $(top_srcdir)/lib/support/quotaio_tree.h \
+ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
+ $(top_srcdir)/lib/ext2fs/kernel-list.h
+recovery.o: $(srcdir)/../e2fsck/recovery.c $(srcdir)/../e2fsck/jfs_user.h \
+ $(srcdir)/../e2fsck/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
  $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
  $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
  $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
- $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/nls-enable.h \
- $(top_srcdir)/lib/blkid/blkid.h $(top_builddir)/lib/blkid/blkid_types.h \
- $(srcdir)/util.h
-uuidgen.o: $(srcdir)/uuidgen.c $(top_srcdir)/lib/uuid/uuid.h \
- $(srcdir)/nls-enable.h
-blkid.o: $(srcdir)/blkid.c $(top_srcdir)/lib/blkid/blkid.h \
- $(top_builddir)/lib/blkid/blkid_types.h
-logsave.o: $(srcdir)/logsave.c
-filefrag.o: $(srcdir)/filefrag.c
-base_device.o: $(srcdir)/base_device.c $(srcdir)/fsck.h
-ismounted.o: $(srcdir)/ismounted.c $(top_srcdir)/lib/et/com_err.h
-profile.o: $(srcdir)/../e2fsck/profile.c $(top_srcdir)/lib/et/com_err.h \
- $(srcdir)/../e2fsck/profile.h prof_err.h
+ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/profile.h \
+ $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
+ $(top_srcdir)/lib/support/dqblk_v2.h \
+ $(top_srcdir)/lib/support/quotaio_tree.h \
+ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
+ $(top_srcdir)/lib/ext2fs/kernel-list.h