2 top_srcdir = @top_srcdir@
12 @RESIZER_CMT@RESIZE_DIR= resize
13 @DEBUGFS_CMT@DEBUGFS_DIR= debugfs
14 @UUID_CMT@UUID_LIB_SUBDIR= lib/uuid
15 @BLKID_CMT@BLKID_LIB_SUBDIR= lib/blkid
16 @E2SCRUB_CMT@E2SCRUB_DIR= scrub
17 SUPPORT_LIB_SUBDIR= lib/support
19 LIB_SUBDIRS=lib/et lib/ss lib/e2p $(UUID_LIB_SUBDIR) $(BLKID_LIB_SUBDIR) $(SUPPORT_LIB_SUBDIR) lib/ext2fs intl
20 PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po $(E2SCRUB_DIR)
21 SUBDIRS=util $(LIB_SUBDIRS) $(PROG_SUBDIRS) tests
23 SUBS= util/subst.conf lib/config.h $(top_builddir)/lib/dirpaths.h \
24 lib/ext2fs/ext2_types.h lib/blkid/blkid_types.h lib/uuid/uuid_types.h
33 subs: $(DEP_SUBSTITUTE)
34 @for i in $(SUBS) ; do if test -d `dirname $$i` ; \
35 then $(MAKE) $$i || exit $$? ; fi ; done
36 @(if test -d lib/et ; then cd lib/et && $(MAKE) compile_et; fi)
37 @(if test -d lib/ext2fs ; then cd lib/ext2fs && $(MAKE) ext2_err.h; fi)
38 @(if test -d lib/support ; then cd lib/support && $(MAKE) prof_err.h; fi)
40 progs: all-progs-recursive
41 libs: all-libs-recursive
42 all-progs-recursive all-libs-recursive: subs
44 e2fsprogs.spec: $(DEP_SUBSTITUTE) e2fsprogs.spec.in
45 cd $(top_builddir); CONFIG_FILES=./e2fsprogs.spec ./config.status
51 -@test -d doc && cd doc && $(MAKE) libext2fs.info
54 -@test -d doc && cd doc && $(MAKE) install-doc-libs
57 -@test -d doc && cd doc && $(MAKE) uninstall-doc-libs
60 -@test -d doc && cd doc && $(MAKE) clean
63 -test -d doc && cd doc && $(MAKE) distclean
65 install: subs all-libs-recursive install-progs-recursive \
66 install-shlibs-libs-recursive install-doc-libs
67 if test ! -d e2fsck && test ! -d debugfs && test ! -d misc && test ! -d ext2ed ; then $(MAKE) install-libs ; fi
69 install-strip: subs all-libs-recursive install-strip-progs-recursive \
70 install-shlibs-strip-libs-recursive install-doc-libs
72 uninstall: uninstall-progs-recursive uninstall-shlibs-libs-recursive uninstall-doc-libs
74 install-libs: install-libs-recursive
76 uninstall-libs: uninstall-libs-recursive
78 coverage.txt: coverage.txt-recursive
82 TAGS clean-recursive distclean-recursive depend-recursive fullcheck-recursive \
83 check-recursive mostlyclean-recursive realclean-recursive \
84 coverage.txt-recursive:
85 @for subdir in $(SUBDIRS); do \
86 if test -d $$subdir ; then \
87 target=`echo $@|$(SED) 's/-recursive//'`; \
88 echo making $$target in $$subdir; \
89 (cd $$subdir && $(MAKE) $$target) || exit 1; \
93 all-progs-recursive install-progs-recursive install-strip-progs-recursive \
94 uninstall-progs-recursive coverage.txt-progs-recursive: all-libs-recursive
95 @for subdir in $(PROG_SUBDIRS); do \
96 if test -d $$subdir ; then \
97 target=`echo $@|$(SED) 's/-progs-recursive//'`; \
98 echo making $$target in $$subdir; \
99 (cd $$subdir && $(MAKE) $$target) || exit 1; \
103 all-libs-recursive install-libs-recursive install-strip-libs-recursive \
104 uninstall-libs-recursive install-shlibs-libs-recursive \
105 install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive \
106 coverage.txt-libs-recursive:
107 @for subdir in $(LIB_SUBDIRS); do \
108 if test -d $$subdir ; then \
109 target=`echo $@|$(SED) 's/-libs-recursive//'`; \
110 echo making $$target in $$subdir; \
111 (cd $$subdir && $(MAKE) $$target) || exit 1; \
115 mostlyclean: mostlyclean-recursive mostlyclean-local
117 clean:: clean-recursive clean-local clean-doc
120 distclean: distclean-doc distclean-recursive
121 $(RM) -rf autom4te.cache e2fsprogs.spec ext2ed/Makefile po/stamp-po \
122 asm_types.h config.log public_config.h parse-types.log
123 $(MAKE) distclean-local
125 realclean: realclean-recursive realclean-local
127 depend:: depend-recursive
129 lib/ext2fs/ext2_types.h: $(DEP_SUBSTITUTE) asm_types.h \
130 $(srcdir)/lib/ext2fs/ext2_types.h.in
131 cd $(top_builddir); CONFIG_FILES=./lib/ext2fs/ext2_types.h ./config.status
133 lib/blkid/blkid_types.h: $(DEP_SUBSTITUTE) asm_types.h \
134 $(srcdir)/lib/blkid/blkid_types.h.in
135 cd $(top_builddir); CONFIG_FILES=./lib/blkid/blkid_types.h ./config.status
137 lib/uuid/uuid_types.h: $(DEP_SUBSTITUTE) asm_types.h \
138 $(srcdir)/lib/uuid/uuid_types.h.in
139 cd $(top_builddir); CONFIG_FILES=./lib/uuid/uuid_types.h ./config.status
142 $(RM) -f \#* *~ *.orig core MAKELOG
144 clean-local: mostlyclean-local
146 distclean-local: clean-local
147 $(RM) -f $(SUBS) $(SUBST_CONF) \
148 config.status config.log config.cache MCONFIG Makefile \
149 $(srcdir)/TAGS $(srcdir)/Makefile.in.old
151 realclean-local: distclean-local
154 check:: all check-recursive
156 fullcheck:: all fullcheck-recursive