+@RESIZER_CMT@RESIZE_DIR= resize
+@DEBUGFS_CMT@DEBUGFS_DIR= debugfs
+@UUID_CMT@UUID_LIB_SUBDIR= lib/uuid
+@BLKID_CMT@BLKID_LIB_SUBDIR= lib/blkid
+@E2SCRUB_CMT@E2SCRUB_DIR= scrub
+@ALL_CMT@SUPPORT_LIB_SUBDIR= lib/support
+@ALL_CMT@E2P_LIB_SUBDIR= lib/e2p
+@ALL_CMT@EXT2FS_LIB_SUBDIR= lib/ext2fs
+
+LIB_SUBDIRS=lib/et lib/ss $(E2P_LIB_SUBDIR) $(UUID_LIB_SUBDIR) \
+ $(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) $(EXT2FS_LIB_SUBDIR)
+
+PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs \
+ tests/fuzz po $(E2SCRUB_DIR)
+
+SUBDIRS=util $(LIB_SUBDIRS) $(PROG_SUBDIRS) tests
+
+SUBS= util/subst.conf lib/config.h $(top_builddir)/lib/dirpaths.h \
+ lib/ext2fs/ext2_types.h lib/blkid/blkid_types.h lib/uuid/uuid_types.h
+
+TAR=tar
+
+all:: subs
+ $(MAKE) libs
+@ALL_CMT@ $(MAKE) progs
+@ALL_CMT@ $(MAKE) docs
+
+all-static::
+ $(MAKE) libs
+@ALL_CMT@ $(MAKE) static-progs
+
+subs: $(DEP_SUBSTITUTE)
+ @for i in $(SUBS) ; do if test -d `dirname $$i` ; \
+ then $(MAKE) $$i || exit $$? ; fi ; done
+ @(if test -d lib/et ; then cd lib/et && $(MAKE) compile_et; fi)
+ @(if test -d lib/ext2fs ; then cd lib/ext2fs && $(MAKE) ext2_err.h; fi)
+ @(if test -d lib/support ; then cd lib/support && $(MAKE) prof_err.h; fi)