Whamcloud - gitweb
b5c64e51a4440ce23b0d8b41f6a9c8387de91c4a
[tools/e2fsprogs.git] / configure.in
1 AC_INIT(version.h)
2 AC_PREREQ(2.12)
3 MCONFIG=./MCONFIG
4 AC_SUBST_FILE(MCONFIG)
5 BINARY_TYPE=bin
6 dnl
7 dnl This is to figure out the version number and the date....
8 dnl
9 E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h  \
10         | awk '{print $3}' | tr \" " " | awk '{print $1}'`
11 DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
12         | tr \" " "`
13 MONTH=`echo $DATE | awk -F- '{print $2}'`
14 YEAR=`echo $DATE | awk -F- '{print $3}'`
15
16 if expr $YEAR ">" 1900 > /dev/null ; then
17         E2FSPROGS_YEAR=$YEAR
18 elif expr $YEAR ">" 90 >/dev/null ; then
19         E2FSPROGS_YEAR=19$YEAR
20 else
21         E2FSPROGS_YEAR=20$YEAR
22 fi
23
24 case $MONTH in
25 Jan)    E2FSPROGS_MONTH="January" ;;
26 Feb)    E2FSPROGS_MONTH="February" ;;
27 Mar)    E2FSPROGS_MONTH="March" ;;
28 Apr)    E2FSPROGS_MONTH="April" ;;
29 May)    E2FSPROGS_MONTH="May" ;;
30 Jun)    E2FSPROGS_MONTH="June" ;;
31 Jul)    E2FSPROGS_MONTH="July" ;;
32 Aug)    E2FSPROGS_MONTH="August" ;;
33 Sep)    E2FSPROGS_MONTH="September" ;;
34 Oct)    E2FSPROGS_MONTH="October" ;;
35 Nov)    E2FSPROGS_MONTH="November" ;;
36 Dec)    E2FSPROGS_MONTH="December" ;;
37 *)      echo "Unknown month $MONTH??" ;;
38 esac
39
40 unset DATE MONTH YEAR
41 echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION"
42 echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}"
43 AC_SUBST(E2FSPROGS_YEAR)
44 AC_SUBST(E2FSPROGS_MONTH)
45 AC_SUBST(E2FSPROGS_VERSION)
46 AC_REQUIRE([AC_CANONICAL_HOST])
47 dnl
48 dnl set $(CC) from --with-cc=value
49 dnl
50 AC_ARG_WITH([cc],
51 [  --with-cc=COMPILER      select compiler to use],
52 AC_MSG_RESULT(CC=$withval)
53 CC=$withval,
54 if test -z "$CC" ; then CC=cc; fi
55 [AC_MSG_RESULT(CC defaults to $CC)])dnl
56 export CC
57 AC_SUBST([CC])
58 dnl
59 dnl set $(LD) from --with-linker=value
60 dnl
61 AC_ARG_WITH([linker],
62 [  --with-linker=LINKER    select linker to use],
63 AC_MSG_RESULT(LD=$withval)
64 LD=$withval,
65 if test -z "$LD" ; then LD=$CC; fi
66 [AC_MSG_RESULT(LD defaults to $LD)])dnl
67 export LD
68 AC_SUBST([LD])
69 dnl
70 dnl set $(CCOPTS) from --with-ccopts=value
71 dnl
72 AC_ARG_WITH([ccopts],
73 [  --with-ccopts=CCOPTS    select compiler command line options],
74 AC_MSG_RESULT(CCOPTS is $withval)
75 CCOPTS=$withval
76 CFLAGS="$CFLAGS $withval",
77 CCOPTS=)dnl
78 AC_SUBST(CCOPTS)
79 dnl
80 dnl Set default values for library extentions.  Will be dealt with after
81 dnl parsing configuration opions, which may modify these
82 dnl
83 LIB_EXT=.a
84 STATIC_LIB_EXT=.a
85 PROFILE_LIB_EXT=.a
86 dnl
87 dnl set $(LDFLAGS) from --with-ldopts=value
88 dnl
89 AC_ARG_WITH([ldopts],
90 [  --with-ldopts=LDOPTS    select linker command line options],
91 AC_MSG_RESULT(LDFLAGS is $withval)
92 LDFLAGS=$withval,
93 LDFLAGS=)dnl
94 AC_SUBST(LDFLAGS)
95 dnl
96 dnl Allow separate `root_prefix' to be specified
97 dnl
98 AC_ARG_WITH([root-prefix],
99 [  --with-root-prefix=PREFIX override prefix variable for files to be placed in the root],
100 root_prefix=$withval,
101 root_prefix=NONE)dnl
102 dnl
103 dnl handle --enable-dll-shlibs
104 dnl
105 AC_ARG_ENABLE([dll-shlibs],
106 [  --enable-dll-shlibs    select DLL libraries],
107 if test "$enableval" = "no"
108 then
109         DLL_CMT=#
110         MAKEFILE_DLL=/dev/null
111         echo "Disabling DLL shared libraries"
112 else
113         DLL_CMT=
114         MAKEFILE_DLL=$srcdir/lib/Makefile.dll-lib
115         BINARY_TYPE=dllbin
116         LIB_EXT=.sa
117         echo "Enabling DLL shared libraries"
118 fi
119 ,
120 MAKEFILE_DLL=/dev/null
121 DLL_CMT=#
122 echo "Disabling DLL shared libraries by default"
123 )
124 AC_SUBST(DLL_CMT)
125 AC_SUBST_FILE(MAKEFILE_DLL)
126 dnl
127 dnl handle --enable-elf-shlibs
128 dnl
129 AC_ARG_ENABLE([elf-shlibs],
130 [  --enable-elf-shlibs    select ELF shared libraries],
131 if test "$enableval" = "no"
132 then
133         ELF_CMT=#
134         MAKEFILE_ELF=/dev/null
135         echo "Disabling ELF shared libraries"
136 else
137         ELF_CMT=
138         MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
139         BINARY_TYPE=elfbin
140         LIB_EXT=.so
141         echo "Enabling ELF shared libraries"
142 fi
143 ,
144 MAKEFILE_ELF=/dev/null
145 ELF_CMT=#
146 echo "Disabling ELF shared libraries by default"
147 )
148 AC_SUBST(ELF_CMT)
149 AC_SUBST_FILE(MAKEFILE_ELF)
150 dnl
151 dnl handle --enable-bsd-shlibs
152 dnl
153 AC_ARG_ENABLE([bsd-shlibs],
154 [  --enable-bsd-shlibs    select BSD shared libraries],
155 if test "$enableval" = "no"
156 then
157         BSDLIB_CMT=#
158         MAKEFILE_BSDLIB=/dev/null
159         echo "Disabling BSD shared libraries"
160 else
161         BSDLIB_CMT=
162         MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
163         LIB_EXT=.so
164         echo "Enabling BSD shared libraries"
165 fi
166 ,
167 MAKEFILE_BSDLIB=/dev/null
168 BSDLIB_CMT=#
169 echo "Disabling BSD shared libraries by default"
170 )
171 AC_SUBST(BSDLIB_CMT)
172 AC_SUBST_FILE(MAKEFILE_BSDLIB)
173 dnl
174 dnl handle --enable-profile
175 dnl
176 AC_ARG_ENABLE([profile],
177 [  --enable-profile       build profiling libraries],
178 if test "$enableval" = "no"
179 then
180         PROFILE_CMT=#
181         MAKEFILE_PROFILE=/dev/null
182         echo "Disabling profiling libraries"
183 else
184         PROFILE_CMT=
185         MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
186         PROFILED_LIB_EXT=_p.a
187         echo "Building profiling libraries"
188 fi
189 ,
190 PROFILE_CMT=#
191 MAKEFILE_PROFILE=/dev/null
192 echo "Disabling profiling libraries by default"
193 )
194 AC_SUBST(PROFILE_CMT)
195 AC_SUBST_FILE(MAKEFILE_PROFILE)
196 dnl
197 dnl handle --enable-checker
198 dnl
199 AC_ARG_ENABLE([checker],
200 [  --enable-checker       build checker libraries],
201 if test "$enableval" = "no"
202 then
203         CHECKER_CMT=#
204         MAKEFILE_CHECKER=/dev/null
205         echo "Disabling checker libraries"
206 else
207         CHECKER_CMT=
208         MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
209         echo "Building checker libraries"
210 fi
211 ,
212 CHECKER_CMT=#
213 MAKEFILE_CHECKER=/dev/null
214 echo "Disabling checker libraries by default"
215 )
216 AC_SUBST(CHECKER_CMT)
217 AC_SUBST_FILE(MAKEFILE_CHECKER)
218 dnl
219 dnl Substitute library extensions
220 dnl
221 AC_SUBST(LIB_EXT)
222 AC_SUBST(STATIC_LIB_EXT)
223 AC_SUBST(PROFILED_LIB_EXT)
224 dnl
225 dnl handle --enable-gcc-wall
226 dnl
227 AC_ARG_ENABLE([gcc-wall],
228 [  --enable-gcc-wall      enable GCC anal warnings (DON'T USE IN PRODUCTION)],
229 if test "$enableval" = "no"
230 then
231         W=#
232         echo "Disabling GCC warnings"
233 else
234         W=
235         echo "Enabling GCC warnings"
236 fi
237 ,
238 W=#
239 echo "Disabling GCC warnings by default"
240 )
241 AC_SUBST(W)
242 AC_ARG_ENABLE([dynamic-e2fsck],
243 [  --enable-dynamic-e2fsck build e2fsck dynamically],
244 if test "$enableval" = "no"
245 then
246         E2FSCK_TYPE=static
247         echo "Building e2fsck statically"
248 else
249         E2FSCK_TYPE=shared
250         echo "Building e2fsck dynamically"
251 fi
252 ,
253 E2FSCK_TYPE=static
254 echo "Building e2fsck statically by default"
255 )
256 AC_SUBST(E2FSCK_TYPE)
257 dnl
258 dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
259 dnl
260 AC_ARG_ENABLE([fsck],
261 [  --enable-fsck           build fsck wrapper program],
262 [if test "$enableval" = "no"
263 then
264         FSCK_PROG='' FSCK_MAN=''
265         echo "Not building fsck wrapper"
266 else
267         FSCK_PROG=fsck FSCK_MAN=fsck.8
268         echo "Building fsck wrapper"
269 fi]
270 ,
271 [case "$host_os" in
272   gnu*)
273     FSCK_PROG='' FSCK_MAN=''
274     echo "Not building fsck wrapper by default"
275     ;;
276   *)
277     FSCK_PROG=fsck FSCK_MAN=fsck.8
278     echo "Building fsck wrapper by default"
279 esac]
280 )
281 AC_SUBST(FSCK_PROG)
282 AC_SUBST(FSCK_MAN)
283 dnl
284 dnl
285 MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
286 AC_SUBST_FILE(MAKEFILE_LIBRARY)
287 dnl
288 dnl
289 AC_ARG_ENABLE([old-bitops],
290 [  --enable-old-bitops    Use old (non-standard but native) bitmask operations],
291 if test "$enableval" = "no"
292 then
293         echo "Using new (standard) bitmask operations"
294 else
295         AC_DEFINE(EXT2_OLD_BITOPS)
296         echo "Using old (native) bitmask operations"
297
298 fi
299 ,
300 echo "Using standard bitmask operations by default"
301 )
302 dnl
303 dnl End of configuration options
304 dnl
305 AC_SUBST(BINARY_TYPE)
306 AC_PROG_MAKE_SET
307 AC_PATH_PROG(LN, ln, ln)
308 AC_PROG_LN_S
309 AC_PATH_PROG(MV, mv, mv)
310 AC_PATH_PROG(CP, cp, cp)
311 AC_PATH_PROG(RM, rm, rm)
312 AC_PATH_PROG(CHMOD, chmod, :)
313 AC_PATH_PROG(AWK, awk, awk)
314 AC_PATH_PROG(SED, sed, sed)
315 AC_PATH_PROG(PERL, perl, perl)
316 AC_CHECK_TOOL(AR, ar, ar)
317 AC_CHECK_TOOL(RANLIB, ranlib, :)
318 AC_CHECK_TOOL(STRIP, strip, :)
319 AC_PROG_CC
320 AC_PROG_INSTALL
321 AC_C_CROSS
322 # See if we need a separate native compiler.
323 if test $cross_compiling = no; then
324   BUILD_CC="$CC"
325   AC_SUBST(BUILD_CC)
326 else
327   AC_CHECK_PROGS(BUILD_CC, gcc cc)
328 fi
329 AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h)
330 AC_FUNC_VPRINTF
331 dnl
332 dnl See if struct dirent has a d_namlen field (like bsd systems), implying
333 dnl that the actual length of the structure may be grater than the declared
334 dnl length. 
335 dnl
336 AC_MSG_CHECKING(whether struct dirent has a d_namlen field)
337 AC_CACHE_VAL(e2fsprogs_cv_struct_d_namlen,
338         AC_TRY_COMPILE(
339 [#include <sys/types.h>
340 #include <dirent.h>],
341                 [struct dirent de; de.d_namlen = 0;],
342                 [e2fsprogs_cv_struct_d_namlen=yes],
343                 [e2fsprogs_cv_struct_d_namlen=no]))
344 AC_MSG_RESULT($e2fsprogs_cv_struct_d_namlen)
345 if test "$e2fsprogs_cv_struct_d_namlen" = yes; then
346   AC_DEFINE(HAVE_DIRENT_NAMLEN)
347 fi
348 dnl
349 dnl Check to see if llseek() is declared in unistd.h.  On some libc's 
350 dnl it is, and on others it isn't..... Thank you glibc developers....
351 dnl
352 dnl Warning!  Use of --enable-gcc-wall may throw off this test.
353 dnl
354 dnl
355 AC_MSG_CHECKING(whether llseek declared in unistd.h)
356 AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
357         AC_TRY_COMPILE(
358 [#include <unistd.h>], [extern int llseek(int);],
359         [e2fsprogs_cv_have_llseek_prototype=no],
360         [e2fsprogs_cv_have_llseek_prototype=yes]))
361 AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
362 if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
363    AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
364 fi
365 dnl
366 dnl Word sizes...
367 dnl
368 if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then
369   # if cross-compiling, with no cached values, just assume something common. 
370   ac_cv_sizeof_short=2
371   ac_cv_sizeof_int=4
372   ac_cv_sizeof_long=4
373   ac_cv_sizeof_long_long=8
374   AC_MSG_WARN([Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8])
375 fi
376 AC_CHECK_SIZEOF(short)
377 AC_CHECK_SIZEOF(int)
378 AC_CHECK_SIZEOF(long)
379 AC_CHECK_SIZEOF(long long)
380 SIZEOF_SHORT=$ac_cv_sizeof_short
381 SIZEOF_INT=$ac_cv_sizeof_int
382 SIZEOF_LONG=$ac_cv_sizeof_long
383 SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
384 AC_SUBST(SIZEOF_SHORT)
385 AC_SUBST(SIZEOF_INT)
386 AC_SUBST(SIZEOF_LONG)
387 AC_SUBST(SIZEOF_LONG_LONG)
388 dnl
389 dnl See if struct stat has a st_flags field, in which case we can get file
390 dnl flags somewhat portably.  Also check for the analogous setter, chflags().
391 dnl
392 AC_MSG_CHECKING(whether struct stat has a st_flags field)
393 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
394         AC_TRY_COMPILE([#include <sys/stat.h>],
395                 [struct stat stat; stat.st_flags = 0;],
396                 [e2fsprogs_cv_struct_st_flags=yes],
397                 [e2fsprogs_cv_struct_st_flags=no]))
398 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
399 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
400   AC_DEFINE(HAVE_STAT_FLAGS)
401 fi
402 AC_CHECK_FUNCS(chflags getrusage llseek strdup getmntinfo strcasecmp srandom fchown mallinfo)
403 dnl
404 dnl Check to see if ino_t is defined
405 dnl
406 AC_MSG_CHECKING(ino_t defined by sys/types.h)
407 AC_CACHE_VAL(e2fsprogs_cv_ino_t,
408         AC_TRY_COMPILE([#include <sys/types.h>],
409         [ino_t ino; ino = 0;],
410         [e2fsprogs_cv_ino_t=yes],
411         [e2fsprogs_cv_ino_t=no]))
412 AC_MSG_RESULT($e2fsprogs_cv_ino_t)
413 if test "$e2fsprogs_cv_ino_t" = yes; then
414    AC_DEFINE(HAVE_INO_T)
415 fi
416 dnl
417 dnl On systems without linux header files, we add an extra include directory
418 dnl that holds enough to fake it (hopefully).  Note that the $(top_srcdir) here
419 dnl is quoted so that it gets expanded by make, not by configure.
420 dnl
421 AC_CHECK_HEADER(linux/fs.h, [linux_headers=yes], [linux_headers=no])
422 if test "$linux_headers" = yes; then
423   AC_DEFINE(HAVE_LINUX_FS_H)
424 else
425   LINUX_INCLUDE='-I$(top_srcdir)/include -I$(top_builddir)/include'
426   # Use this include directory with test compiles in the configure script too.
427   CPPFLAGS="$CPPFLAGS -I$srcdir/include -I./include"
428 fi
429 AC_SUBST(LINUX_INCLUDE)
430 dnl
431 dnl Check to see if -lsocket is required (solaris) to make something
432 dnl that uses socket() to compile; this is needed for the UUID library
433 dnl
434 SOCKET_LIB=''
435 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
436 AC_SUBST(SOCKET_LIB)
437 dnl
438 dnl See if optreset exists
439 dnl
440 AC_MSG_CHECKING(for optreset)
441 AC_CACHE_VAL(ac_cv_have_optreset,
442 [AC_EGREP_HEADER(optreset, unistd.h,
443   ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
444 AC_MSG_RESULT($ac_cv_have_optreset)
445 if test $ac_cv_have_optreset = yes; then
446   AC_DEFINE(HAVE_OPTRESET)
447 fi
448 dnl
449 dnl See if using the EXT2 ioctls causes a compile-time barf (as on the hurd).
450 dnl
451 AC_MSG_CHECKING(whether the ext2 ioctls compile)
452 AC_CACHE_VAL(e2fsprogs_cv_ioctl_ext2,
453         AC_TRY_COMPILE([#include <linux/ext2_fs.h>
454 #include <sys/ioctl.h>],
455                 [ioctl (0, EXT2_IOC_SETVERSION, 0);],
456                 [e2fsprogs_cv_ioctl_ext2=yes],
457                 [e2fsprogs_cv_ioctl_ext2=no]))
458 AC_MSG_RESULT($e2fsprogs_cv_ioctl_ext2)
459 if test "$e2fsprogs_cv_ioctl_ext2" = yes; then
460   AC_DEFINE(HAVE_EXT2_IOCTLS)
461 fi
462 dnl
463 dnl Check if ext2_inode has i_version (changed to i_generation in Linux 2.3)
464 dnl
465 AC_MSG_CHECKING(whether struct ext2_inode has an i_version field)
466 AC_CACHE_VAL(e2fsprogs_cv_ext2_inode_version,
467         AC_TRY_COMPILE([#include <linux/ext2_fs.h>],
468                 [struct ext2_inode e2i; e2i.i_version=0;],
469                 [e2fsprogs_cv_ext2_inode_version=yes],
470                 [e2fsprogs_cv_ext2_inode_version=no]))
471 AC_MSG_RESULT($e2fsprogs_cv_ext2_inode_version)
472 if test "$e2fsprogs_cv_ext2_inode_version" = yes; then
473   AC_DEFINE(HAVE_EXT2_INODE_VERSION)
474 fi
475 dnl
476 dnl Linux and Hurd places root files in the / by default
477 dnl
478 case "$host_os" in
479 linux* | gnu*)
480         if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
481                 root_prefix="";
482                 echo "On $host_os systems, root_prefix defaults to ''"
483         fi
484         ;;
485 esac
486 dnl
487 dnl On Linux/hurd, force the prefix to be /usr
488 dnl
489 case "$host_os" in
490 linux* | gnu*)
491         if test "$prefix" = NONE ; then
492                 prefix="/usr";
493                 echo "On $host_os systems, prefix defaults to /usr"
494         fi
495 ;;
496 esac
497 if test "$root_prefix" = NONE ; then
498         if test "$prefix" = NONE ; then
499                 root_prefix="$ac_default_prefix"
500         else
501                 root_prefix="$prefix"
502         fi
503 fi
504 AC_SUBST(root_prefix)
505 dnl
506 dnl See if -static works.
507 dnl
508 AC_MSG_CHECKING([whether linker accepts -static])
509 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
510 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
511 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
512  ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
513 LDFLAGS=$SAVE_LDFLAGS])
514 dnl
515 dnl Regardless of how the test turns out, Solaris doesn't handle -static
516 dnl This is caused by the socket library requiring the nsl library, which
517 dnl requires the -dl library, which only works for dynamically linked 
518 dnl programs.  It basically means you can't have statically linked programs
519 dnl which use the network under Solaris.  
520 dnl
521 case "$host_os" in
522 solaris2.*)
523         ac_cv_e2fsprogs_use_static=no   
524 ;;
525 esac
526 AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
527 LDFLAG_STATIC=
528 if test $ac_cv_e2fsprogs_use_static = yes; then
529         LDFLAG_STATIC=-static
530 fi
531 AC_SUBST(LDFLAG_STATIC)
532 dnl
533 dnl Make the ss and et directories work correctly.
534 dnl
535 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
536 ET_DIR=`cd ${srcdir}/lib/et; pwd`
537 AC_SUBST(SS_DIR)
538 AC_SUBST(ET_DIR)
539 dnl
540 dnl Only try to run the test suite if we're not cross compiling.
541 dnl
542 if test "$cross_compiling" = yes ; then
543   DO_TEST_SUITE=
544 else
545   DO_TEST_SUITE=check
546 fi
547 AC_SUBST(DO_TEST_SUITE)
548 dnl
549 dnl
550 dnl
551 DO_SUBSTITUTE_SCRIPT=$srcdir/lib/do_substitute
552 AC_SUBST_FILE(DO_SUBSTITUTE_SCRIPT)
553 dnl
554 dnl Make our output files, being sure that we create the some miscellaneous 
555 dnl directories
556 dnl
557 test -d lib || mkdir lib
558 test -d include || mkdir include
559 test -d include/linux || mkdir include/linux
560 test -d include/asm || mkdir include/asm
561 rmakefile=
562 if test -d ${srcdir}/resize ; then
563    rmakefile=resize/Makefile
564 fi
565 AC_OUTPUT(MCONFIG Makefile util/Makefile util/subst.conf lib/et/Makefile 
566         lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile lib/uuid/Makefile
567         misc/Makefile e2fsck/Makefile debugfs/Makefile tests/Makefile 
568         tests/progs/Makefile $rmakefile doc/Makefile)