top_builddir = .
my_dir = .
INSTALL = @INSTALL@
+MKDIR_P = @MKDIR_P@
@MCONFIG@
-LIB_SUBDIRS=lib/et lib/ss lib/ext2fs lib/e2p lib/uuid
-PROG_SUBDIRS=e2fsck debugfs misc resize tests/progs
-SUBDIRS=$(LIB_SUBDIRS) $(PROG_SUBDIRS) tests
+% : %.sh
-SUBS= include/linux/types.h
+@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 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) libs progs docs
+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)
+
+progs: all-progs-recursive
+static-progs: all-static-progs-recursive
+libs: all-libs-recursive
+all-progs-recursive all-libs-recursive:: subs
-progs: $(SUBS) all-progs-recursive
-libs: $(SUBS) all-libs-recursive
+rpm:
+ sh contrib/build-rpm
docs:
- (cd doc; make libext2fs.info)
+ -@test -d doc && cd doc && $(MAKE) libext2fs.info
install-doc-libs:
- (cd doc; make install-doc-libs)
+ -@test -d doc && cd doc && $(MAKE) install-doc-libs
-install: all-libs-recursive install-progs-recursive \
- install-shlibs-libs-recursive install-doc-libs
- (export MANPATH=$(DESTDIR)$(mandir); $(srcdir)/install-utils/compile_manpages)
+uninstall-doc-libs:
+ -@test -d doc && cd doc && $(MAKE) uninstall-doc-libs
+
+clean-doc:
+ -@test -d doc && cd doc && $(MAKE) clean
+
+distclean-doc:
+ -test -d doc && cd doc && $(MAKE) distclean
+
+install: subs all-libs-recursive install-progs-recursive \
+ install-shlibs-libs-recursive install-doc-libs
+@SUBSET_CMT@ $(MAKE) install-libs
+
+install-strip: subs all-libs-recursive install-strip-progs-recursive \
+ install-shlibs-strip-libs-recursive install-doc-libs
+
+uninstall: uninstall-progs-recursive uninstall-shlibs-libs-recursive uninstall-doc-libs
install-libs: install-libs-recursive
-TAGS clean-recursive distclean-recursive \
- mostlyclean-recursive realclean-recursive install-recursive:
- for subdir in $(SUBDIRS); do \
- if test -d $$subdir ; then \
- target=`echo $@|$(SED) 's/-recursive//'`; \
- echo making $$target in $$subdir; \
- (cd $$subdir && $(MAKE) $$target) || exit 1; \
- fi ; \
- done
+uninstall-libs: uninstall-libs-recursive
-all-progs-recursive install-progs-recursive:
- for subdir in $(PROG_SUBDIRS); do \
+coverage.txt: coverage.txt-recursive
+
+check-recursive: all
+
+TAGS clean-recursive distclean-recursive depend-recursive fullcheck-recursive \
+ check-recursive mostlyclean-recursive realclean-recursive \
+ coverage.txt-recursive:
+ @for subdir in $(SUBDIRS); do \
if test -d $$subdir ; then \
- target=`echo $@|$(SED) 's/-progs-recursive//'`; \
+ target=`echo $@|$(SED) 's/-recursive//'`; \
echo making $$target in $$subdir; \
(cd $$subdir && $(MAKE) $$target) || exit 1; \
fi ; \
done
-all-libs-recursive install-libs-recursive install-shlibs-libs-recursive:
- for subdir in $(LIB_SUBDIRS); do \
+all-progs-recursive install-progs-recursive install-strip-progs-recursive \
+ uninstall-progs-recursive coverage.txt-progs-recursive:: all-libs-recursive
+
+
+@ALL_CMT@all-progs-recursive all-static-progs-recursive install-progs-recursive \
+@ALL_CMT@ install-strip-progs-recursive uninstall-progs-recursive \
+@ALL_CMT@ coverage.txt-progs-recursive:: all-libs-recursive
+@ALL_CMT@ @for subdir in $(PROG_SUBDIRS); do \
+@ALL_CMT@ if test -d $$subdir ; then \
+@ALL_CMT@ target=`echo $@|$(SED) 's/-progs-recursive//'`; \
+@ALL_CMT@ echo making $$target in $$subdir; \
+@ALL_CMT@ (cd $$subdir && $(MAKE) $$target) || exit 1; \
+@ALL_CMT@ fi ; \
+@ALL_CMT@ done
+
+all-libs-recursive install-libs-recursive install-strip-libs-recursive \
+ uninstall-libs-recursive install-shlibs-libs-recursive \
+ install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive \
+ coverage.txt-libs-recursive::
+ @for subdir in $(LIB_SUBDIRS); do \
if test -d $$subdir ; then \
target=`echo $@|$(SED) 's/-libs-recursive//'`; \
echo making $$target in $$subdir; \
mostlyclean: mostlyclean-recursive mostlyclean-local
-clean: clean-recursive clean-local
- $(RM) -f $(SUBS)
+clean:: clean-recursive clean-local clean-doc
+ $(RM) -f $(SUBS)
-distclean: distclean-recursive distclean-local
+distclean: distclean-doc distclean-recursive
+ $(RM) -rf autom4te.cache ext2ed/Makefile po/stamp-po \
+ asm_types.h config.log public_config.h parse-types.log
+ $(MAKE) distclean-local
realclean: realclean-recursive realclean-local
-include/linux/types.h: $(DEP_SUBSTITUTE) $(srcdir)/include/linux/types.h.in
- $(SUBSTITUTE) $(srcdir)/include/linux/types.h.in \
- > include/linux/types.h
+depend:: depend-recursive
+
+lib/ext2fs/ext2_types.h: $(DEP_SUBSTITUTE) asm_types.h \
+ $(srcdir)/lib/ext2fs/ext2_types.h.in
+ cd $(top_builddir); CONFIG_FILES=./lib/ext2fs/ext2_types.h ./config.status
+
+lib/blkid/blkid_types.h: $(DEP_SUBSTITUTE) asm_types.h \
+ $(srcdir)/lib/blkid/blkid_types.h.in
+ cd $(top_builddir); CONFIG_FILES=./lib/blkid/blkid_types.h ./config.status
+
+lib/uuid/uuid_types.h: $(DEP_SUBSTITUTE) asm_types.h \
+ $(srcdir)/lib/uuid/uuid_types.h.in
+ cd $(top_builddir); CONFIG_FILES=./lib/uuid/uuid_types.h ./config.status
mostlyclean-local:
- $(RM) -f \#* *~ core MAKELOG
+ $(RM) -f \#* *~ *.orig core MAKELOG
+
clean-local: mostlyclean-local
+
distclean-local: clean-local
- $(RM) -f include/linux/types.h $(SUBSTITUTE)
- $(RM) -f config.status config.log config.cache MCONFIG Makefile
+ $(RM) -f $(SUBS) $(SUBST_CONF) \
+ config.status config.log config.cache MCONFIG Makefile \
+ $(srcdir)/TAGS $(srcdir)/Makefile.in.old
+
realclean-local: distclean-local
$(RM) -f configure
-check:
- (cd tests; make check)
-
-distribution_tar_file:
- rm -rf /tmp/dest
- make DESTDIR=/tmp/dest install
- cd ..
- cp -r $(srcdir)/README $(srcdir)/install-utils /tmp/dest
- cp $(srcdir)/INSTALL.@BINARY_TYPE@ /tmp/dest/INSTALL
- (cd /tmp/dest; $(TAR) cf - . ) | gzip -9 \
- > e2fsprogs-@E2FSPROGS_VERSION@-@BINARY_TYPE@.tar.gz
-
-SRCROOT = `echo e2fsprogs-@E2FSPROGS_VERSION@ | sed -e 's/-WIP//' \
- -e 's/pre-//' -e 's/-PLUS//'`
-
-$(srcdir)/.exclude-file:
- a=$(SRCROOT); \
- (cd $(srcdir)/.. ; find e2fsprogs \( -name \*~ -o -name \*.orig \
- -o -name CVS -o -name \*.rej -o name Makefile.pq \) -print) \
- | sed -e "s/e2fsprogs/$$a/" > $(srcdir)/.exclude-file
- echo "$(SRCROOT)/build" >> $(srcdir)/.exclude-file
- echo "$(SRCROOT)/rpm.log" >> $(srcdir)/.exclude-file
- echo "$(SRCROOT)/resize" >> $(srcdir)/.exclude-file
- echo "$(SRCROOT)/powerquest" >> $(srcdir)/.exclude-file
- echo "$(SRCROOT)/.exclude-file" >> $(srcdir)/.exclude-file
- echo $(SRCROOT)/e2fsprogs-@E2FSPROGS_VERSION@.tar.gz \
- >> $(srcdir)/.exclude-file
-
-source_tar_file: $(srcdir)/.exclude-file
- (cd $(srcdir)/..; a=$(SRCROOT); rm -f $$a ; ln -sf e2fsprogs $$a ; \
- $(TAR) -c -h -v -f - \
- -X $$a/.exclude-file $$a | \
- gzip -9 > e2fsprogs-@E2FSPROGS_VERSION@.tar.gz)
- rm -f $(srcdir)/.exclude-file
+check:: all check-recursive
+
+fullcheck:: all fullcheck-recursive