Whamcloud - gitweb
959bec13f58e7ebad50ed081d108bc17b9b8161b
[fs/lustre-release.git] / build / autoconf / lustre-build.m4
1 #
2 # LB_CHECK_VERSION
3 #
4 # Verify that LUSTRE_VERSION was defined properly
5 #
6 AC_DEFUN([LB_CHECK_VERSION],
7 [if test "LUSTRE_VERSION" = "LUSTRE""_VERSION" ; then
8         AC_MSG_ERROR([This script was not built with a version number.])
9 fi
10 ])
11
12 #
13 # LB_CANONICAL_SYSTEM
14 #
15 # fixup $target_os for use in other places
16 #
17 AC_DEFUN([LB_CANONICAL_SYSTEM],
18 [case $target_os in
19         linux*)
20                 lb_target_os="linux"
21                 ;;
22         darwin*)
23                 lb_target_os="darwin"
24                 ;;
25         solaris2.11*)
26                 lb_target_os="SunOS"
27                 ;;esac
28 AC_SUBST(lb_target_os)
29 ])
30
31 #
32 # LB_CHECK_FILE
33 #
34 # Check for file existance even when cross compiling
35 #
36 AC_DEFUN([LB_CHECK_FILE],
37 [AS_VAR_PUSHDEF([lb_File], [lb_cv_file_$1])dnl
38 AC_CACHE_CHECK([for $1], lb_File,
39 [if test -r "$1"; then
40   AS_VAR_SET(lb_File, yes)
41 else
42   AS_VAR_SET(lb_File, no)
43 fi])
44 AS_IF([test AS_VAR_GET(lb_File) = yes], [$2], [$3])[]dnl
45 AS_VAR_POPDEF([lb_File])dnl
46 ])# LB_CHECK_FILE
47
48 #
49 # LB_CHECK_FILES
50 #
51 # LB_CHECK_FILE over multiple files
52 #
53 AC_DEFUN([LB_CHECK_FILES],
54 [AC_FOREACH([AC_FILE_NAME], [$1],
55   [LB_CHECK_FILE(AC_FILE_NAME,
56                  [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_FILE_NAME), 1,
57                                     [Define to 1 if you have the
58                                      file `]AC_File['.])
59 $2],
60                  [$3])])])
61
62 #
63 # LB_ARG_LIBS_INCLUDES
64 #
65 # support for --with-foo, --with-foo-includes, and --with-foo-libs in
66 # a single magical macro
67 #
68 AC_DEFUN([LB_ARG_LIBS_INCLUDES],
69 [lb_pathvar="m4_bpatsubst([$2], -, _)"
70 AC_MSG_CHECKING([for $1])
71 AC_ARG_WITH([$2],
72         AC_HELP_STRING([--with-$2=path],
73                 [path to $1]),
74         [],[withval=$4])
75
76 if test x$withval = xyes ; then
77         eval "$lb_pathvar='$3'"
78 else
79         eval "$lb_pathvar='$withval'"
80 fi
81 AC_MSG_RESULT([${!lb_pathvar:-no}])
82
83 if test x${!lb_pathvar} != x -a x${!lb_pathvar} != xno ; then
84         AC_MSG_CHECKING([for $1 includes])
85         AC_ARG_WITH([$2-includes],
86                 AC_HELP_STRING([--with-$2-includes=path],
87                         [path to $1 includes]),
88                 [],[withval='yes'])
89
90         lb_includevar="${lb_pathvar}_includes"
91         if test x$withval = xyes ; then
92                 eval "${lb_includevar}='${!lb_pathvar}/include'"
93         else
94                 eval "${lb_includevar}='$withval'"
95         fi
96         AC_MSG_RESULT([${!lb_includevar}])
97
98         AC_MSG_CHECKING([for $1 libs])
99         AC_ARG_WITH([$2-libs],
100                 AC_HELP_STRING([--with-$2-libs=path],
101                         [path to $1 libs]),
102                 [],[withval='yes'])
103
104         lb_libvar="${lb_pathvar}_libs"
105         if test x$withval = xyes ; then
106                 eval "${lb_libvar}='${!lb_pathvar}/lib'"
107         else
108                 eval "${lb_libvar}='$withval'"
109         fi
110         AC_MSG_RESULT([${!lb_libvar}])
111 fi
112 ])
113 ])
114
115 #
116 # LB_PATH_LIBSYSIO
117 #
118 # Handle internal/external libsysio
119 #
120 AC_DEFUN([LB_PATH_LIBSYSIO],
121 [AC_ARG_WITH([sysio],
122         AC_HELP_STRING([--with-sysio=path],
123                         [set path to libsysio source (default is included libsysio)]),
124         [],[
125                 case $lb_target_os in
126                         linux)
127                                 with_sysio='yes'
128                                 ;;
129                         *)
130                                 with_sysio='no'
131                                 ;;
132                 esac
133         ])
134 AC_MSG_CHECKING([location of libsysio])
135 enable_sysio="$with_sysio"
136 case x$with_sysio in
137         xyes)
138                 AC_MSG_RESULT([internal])
139                 LB_CHECK_FILE([$srcdir/libsysio/src/rmdir.c],[],[
140                         AC_MSG_ERROR([A complete internal libsysio was not found.])
141                 ])
142                 LIBSYSIO_SUBDIR="libsysio"
143                 SYSIO="$PWD/libsysio"
144                 ;;
145         xno)
146                 AC_MSG_RESULT([disabled])
147                 ;;
148         *)
149                 AC_MSG_RESULT([$with_sysio])
150                 LB_CHECK_FILE([$with_sysio/lib/libsysio.a],[],[
151                         AC_MSG_ERROR([A complete (built) external libsysio was not found.])
152                 ])
153                 SYSIO=$with_sysio
154                 with_sysio="yes"
155                 ;;
156 esac
157
158 # We have to configure even if we don't build here for make dist to work
159 AC_CONFIG_SUBDIRS(libsysio)
160 ])
161
162 #
163 # LB_PATH_LDISKFS
164 #
165 # Handle internal/external ldiskfs
166 #
167 AC_DEFUN([LB_PATH_LDISKFS],
168 [AC_ARG_WITH([ldiskfs],
169         AC_HELP_STRING([--with-ldiskfs=path],
170                         [set path to ldiskfs source (default is included ldiskfs)]),
171         [],[
172                 if test x$linux25$enable_server = xyesyes ; then
173                         with_ldiskfs=yes
174                 else
175                         with_ldiskfs=no
176                 fi
177         ])
178 AC_MSG_CHECKING([location of ldiskfs])
179 case x$with_ldiskfs in
180         xyes)
181                 AC_MSG_RESULT([internal])
182                 LB_CHECK_FILE([$srcdir/ldiskfs/lustre-ldiskfs.spec.in],[],[
183                         AC_MSG_ERROR([A complete internal ldiskfs was not found.])
184                 ])
185                 LDISKFS_SUBDIR="ldiskfs"
186                 LDISKFS_DIR="$PWD/ldiskfs"
187                 ;;
188         xno)
189                 AC_MSG_RESULT([disabled])
190                 ;;
191         *)
192                 AC_MSG_RESULT([$with_ldiskfs])
193                 LB_CHECK_FILE([$with_ldiskfs/ldiskfs/linux/ldiskfs_fs.h],[],[
194                         AC_MSG_ERROR([A complete (built) external ldiskfs was not found.])
195                 ])
196                 LDISKFS_DIR=$with_ldiskfs
197                 ;;
198 esac
199 AC_SUBST(LDISKFS_DIR)
200 AC_SUBST(LDISKFS_SUBDIR)
201
202 # We have to configure even if we don't build here for make dist to work
203 AC_CONFIG_SUBDIRS(ldiskfs)
204 ])
205
206 #
207 # LB_DEFINE_LDISKFS_OPTIONS
208 #
209 # Enable config options related to ldiskfs.  These are used both by ldiskfs
210 # and lvfs (which includes ldiskfs headers.)
211 #
212 AC_DEFUN([LB_DEFINE_LDISKFS_OPTIONS],
213 [
214         AC_DEFINE(CONFIG_LDISKFS_FS_MODULE, 1, [build ldiskfs as a module])
215         AC_DEFINE(CONFIG_LDISKFS_FS_XATTR, 1, [enable extended attributes for ldiskfs])
216         AC_DEFINE(CONFIG_LDISKFS_FS_POSIX_ACL, 1, [enable posix acls for ldiskfs])
217         AC_DEFINE(CONFIG_LDISKFS_FS_SECURITY, 1, [enable fs security for ldiskfs])
218 ])
219
220 #
221 # LB_CONFIG_CRAY_XT3
222 #
223 # Enable Cray XT3 features
224 #
225 AC_DEFUN([LB_CONFIG_CRAY_XT3],
226 [AC_MSG_CHECKING([whether to build Cray XT3 features])
227 AC_ARG_ENABLE([cray_xt3],
228         AC_HELP_STRING([--enable-cray-xt3],
229                         [enable building of Cray XT3 features]),
230         [enable_cray_xt3='yes'],[enable_cray_xt3='no'])
231 AC_MSG_RESULT([$enable_cray_xt3])
232 if test x$enable_cray_xt3 != xno; then
233         AC_DEFINE(CRAY_XT3, 1, Enable Cray XT3 Features)
234 fi
235 ])
236
237 #
238 # LB_CONFIG_BGL
239 #
240 # Enable BGL features
241 #
242 AC_DEFUN([LB_CONFIG_BGL],
243 [AC_MSG_CHECKING([whether to build BGL features])
244 AC_ARG_ENABLE([bgl],
245         AC_HELP_STRING([--enable-bgl],
246                         [enable building of BGL features]),
247         [enable_bgl='yes'],[enable_bgl='no'])
248 AC_MSG_RESULT([$enable_bgl])
249 if test x$enable_bgl != xno; then
250         AC_DEFINE(BGL_SUPPORT, 1, Enable BGL Features)
251         enable_doc='no'
252         enable_tests='no'
253         enable_server='no'
254         enable_liblustre='no'
255         enable_libreadline='no'
256 fi
257 ])
258
259
260 #
261 # LB_PATH_DMU
262 # Support for --with-dmu
263 #
264 AC_DEFUN([LB_PATH_DMU],
265 [AC_ARG_WITH([dmu],
266         AC_HELP_STRING([--with-dmu=path],
267                        [set path to a built dmu]),
268         [
269                 DMU_SRC=$with_dmu
270                 enable_dmu_osd=yes
271         ],
272         [
273                 enable_dmu_osd=no
274                 DMU_SRC=""
275         ])
276 AC_MSG_RESULT([$dmu])
277 if test x$enable_dmu_osd != xno; then
278         AC_DEFINE(ENABLE_DMU, 1, Enable DMU OSD)
279         AC_DEFINE(DMU_OSD, 1, Enable DMU OSD)
280         AC_DEFINE(UOSS_SUPPORT, 1, Enable user-level OSS)
281         AC_DEFINE(LUSTRE_ULEVEL_MT, 1, Multi-threaded user-level lustre port)
282         enable_ulevel_mt='yes'
283         enable_modules='no'
284         enable_client='no'
285         enable_tests='no'
286         enable_liblustre='no'
287         with_ldiskfs=no
288 fi
289 AC_SUBST(DMU_SRC)
290 ])
291
292 #
293 # Support for --enable-posix-dmu
294 #
295 AC_DEFUN([LB_POSIX_OSD],
296 [AC_MSG_CHECKING([whether to posix osd])
297 AC_ARG_ENABLE([posix-osd],
298         AC_HELP_STRING([--enable-posix-osd],
299                         [enable using of posix osd]),
300         [enable_posix_osd='yes'],[enable_posix_osd='no'])
301 AC_MSG_RESULT([$enable_posix_osd])
302 if test x$enable_posix_osd != xno; then
303         AC_DEFINE(POSIX_OSD, 1, Enable POSIX OSD)
304         AC_DEFINE(UOSS_SUPPORT, 1, Enable user-level OSS)
305         AC_DEFINE(LUSTRE_ULEVEL_MT, 1, Multi-threaded user-level lustre port)
306         enable_ulevel_mt='yes'
307         enable_modules='no'
308         enable_client='no'
309         enable_tests='no'
310         enable_liblustre='no'
311         with_ldiskfs=no
312 fi
313 ])
314
315 #
316 # LB_PATH_SNMP
317 #
318 # check for in-tree snmp support
319 #
320 AC_DEFUN([LB_PATH_SNMP],
321 [LB_CHECK_FILE([$srcdir/snmp/lustre-snmp.c],[SNMP_DIST_SUBDIR="snmp"])
322 AC_SUBST(SNMP_DIST_SUBDIR)
323 AC_SUBST(SNMP_SUBDIR)
324 ])
325
326 #
327 # LB_CONFIG_MODULES
328 #
329 # Build kernel modules?
330 #
331 AC_DEFUN([LB_CONFIG_MODULES],
332 [AC_MSG_CHECKING([whether to build kernel modules])
333 AC_ARG_ENABLE([modules],
334         AC_HELP_STRING([--disable-modules],
335                         [disable building of Lustre kernel modules]),
336         [],[
337                 LC_TARGET_SUPPORTED([
338                         enable_modules='yes'
339                 ],[
340                         enable_modules='no'
341                 ])
342         ])
343 AC_MSG_RESULT([$enable_modules ($target_os)])
344
345 if test x$enable_modules = xyes ; then
346         case $target_os in
347                 linux*)
348                         LB_PROG_LINUX
349                         LN_PROG_LINUX
350                         LC_PROG_LINUX
351                         ;;
352                 darwin*)
353                         LB_PROG_DARWIN
354                         ;;
355                 *)
356                         # This is strange - Lustre supports a target we don't
357                         AC_MSG_ERROR([Modules are not supported on $target_os])
358                         ;;
359         esac
360 fi
361 ])
362
363 #
364 # LB_CONFIG_UTILS
365 #
366 # Build utils?
367 #
368 AC_DEFUN([LB_CONFIG_UTILS],
369 [AC_MSG_CHECKING([whether to build utilities])
370 AC_ARG_ENABLE([utils],
371         AC_HELP_STRING([--disable-utils],
372                         [disable building of Lustre utility programs]),
373         [],[enable_utils='yes'])
374 AC_MSG_RESULT([$enable_utils])
375 if test x$enable_utils = xyes ; then 
376         LB_CONFIG_INIT_SCRIPTS
377 fi
378 ])
379
380 #
381 # LB_CONFIG_TESTS
382 #
383 # Build tests?
384 #
385 AC_DEFUN([LB_CONFIG_TESTS],
386 [AC_MSG_CHECKING([whether to build Lustre tests])
387 AC_ARG_ENABLE([tests],
388         AC_HELP_STRING([--disable-tests],
389                         [disable building of Lustre tests]),
390         [],
391         [
392                 enable_tests='yes'
393         ])
394 AC_MSG_RESULT([$enable_tests])
395 ])
396
397 #
398 # LB_CONFIG_DOCS
399 #
400 # Build docs?
401 #
402 AC_DEFUN([LB_CONFIG_DOCS],
403 [AC_MSG_CHECKING([whether to build docs])
404 AC_ARG_ENABLE(doc,
405         AC_HELP_STRING([--disable-doc],
406                         [skip creation of pdf documentation]),
407         [
408                 if test x$enable_doc = xyes ; then
409                     ENABLE_DOC=1           
410                 else
411                     ENABLE_DOC=0
412                 fi
413         ],[
414                 ENABLE_DOC=0
415                 enable_doc='no'
416         ])
417 AC_MSG_RESULT([$enable_doc])
418 AC_SUBST(ENABLE_DOC)
419 ])
420
421 #
422 # LB_CONFIG_INIT_SCRIPTS
423 #
424 # our init scripts only work on red hat linux
425 #
426 AC_DEFUN([LB_CONFIG_INIT_SCRIPTS],
427 [ENABLE_INIT_SCRIPTS=0
428 if test x$enable_utils = xyes ; then
429         AC_MSG_CHECKING([whether to install init scripts])
430         # our scripts only work on red hat systems
431         if test -f /etc/init.d/functions -a -f /etc/sysconfig/network ; then
432                 ENABLE_INIT_SCRIPTS=1
433                 AC_MSG_RESULT([yes])
434         else
435                 AC_MSG_RESULT([no])
436         fi
437 fi
438 AC_SUBST(ENABLE_INIT_SCRIPTS)
439 ])
440
441 #
442 # LB_CONFIG_HEADERS
443 #
444 # add -include config.h
445 #
446 AC_DEFUN([LB_CONFIG_HEADERS],
447 [AC_CONFIG_HEADERS([config.h])
448 CPPFLAGS="-include \$(top_builddir)/config.h $CPPFLAGS"
449 EXTRA_KCFLAGS="-include $PWD/config.h $EXTRA_KCFLAGS"
450 AC_SUBST(EXTRA_KCFLAGS)
451 ])
452
453 #
454 # LB_INCLUDE_RULES
455 #
456 # defines for including the toplevel Rules
457 #
458 AC_DEFUN([LB_INCLUDE_RULES],
459 [INCLUDE_RULES="include $PWD/Rules"
460 AC_SUBST(INCLUDE_RULES)
461 ])
462
463 #
464 # LB_PATH_DEFAULTS
465 #
466 # 'fixup' default paths
467 #
468 AC_DEFUN([LB_PATH_DEFAULTS],
469 [# directories for binaries
470 AC_PREFIX_DEFAULT([/usr])
471
472 sysconfdir='/etc'
473 AC_SUBST(sysconfdir)
474
475 # Directories for documentation and demos.
476 docdir='${datadir}/doc/$(PACKAGE)'
477 AC_SUBST(docdir)
478
479 LN_PATH_DEFAULTS
480 LC_PATH_DEFAULTS
481
482 ])
483
484 #
485 # LB_PROG_CC
486 #
487 # checks on the C compiler
488 #
489 AC_DEFUN([LB_PROG_CC],
490 [AC_PROG_RANLIB
491 AC_MSG_CHECKING([for buggy compiler])
492 CC_VERSION=`$CC -v 2>&1 | grep "^gcc version"`
493 bad_cc() {
494         AC_MSG_RESULT([buggy compiler found!])
495         echo
496         echo "   '$CC_VERSION'"
497         echo "  has been known to generate bad code, "
498         echo "  please get an updated compiler."
499         AC_MSG_ERROR([sorry])
500 }
501 case "$CC_VERSION" in
502         "gcc version 2.95"*)
503                 bad_cc
504                 ;;
505         # ost_pack_niobuf putting 64bit NTOH temporaries on the stack
506         # without "sub    $0xc,%esp" to protect the stack from being
507         # stomped on by interrupts (bug 606)
508         "gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)")
509                 bad_cc
510                 ;;
511         # mandrake's similar sub 0xc compiler bug
512         # http://marc.theaimsgroup.com/?l=linux-kernel&m=104748366226348&w=2
513         "gcc version 2.96 20000731 (Mandrake Linux 8.1 2.96-0.62mdk)")
514                 bad_cc
515                 ;;
516         *)
517                 AC_MSG_RESULT([no known problems])
518                 ;;
519 esac
520
521 # ---------  unsigned long long sane? -------
522 AC_CHECK_SIZEOF(unsigned long long, 0)
523 echo "---> size SIZEOF $SIZEOF_unsigned_long_long"
524 echo "---> size SIZEOF $ac_cv_sizeof_unsigned_long_long"
525 if test $ac_cv_sizeof_unsigned_long_long != 8 ; then
526         AC_MSG_ERROR([** we assume that sizeof(long long) == 8.  Tell phil@clusterfs.com])
527 fi
528
529 # FIXME
530 AC_CHECK_DECL([__i386__], [], [
531
532 if test x$enable_bgl != xyes; then
533 AC_MSG_CHECKING([if $CC accepts -m64])
534 CC_save="$CC"
535 CC="$CC -m64"
536 AC_TRY_COMPILE([],[],[
537         AC_MSG_RESULT([yes])
538 ],[
539         AC_MSG_RESULT([no])
540         CC="$CC_save"
541 ])
542 fi
543
544 ])
545
546 CPPFLAGS="-I\$(top_builddir)/lnet/include -I\$(top_srcdir)/lnet/include -I\$(top_builddir)/lustre/include -I\$(top_srcdir)/lustre/include $CPPFLAGS"
547
548 LLCPPFLAGS="-D__arch_lib__ -D_LARGEFILE64_SOURCE=1"
549 AC_SUBST(LLCPPFLAGS)
550
551 LLCFLAGS="-g -Wall -fPIC"
552 AC_SUBST(LLCFLAGS)
553
554 # everyone builds against lnet and lustre
555 EXTRA_KCFLAGS="$EXTRA_KCFLAGS -g -I$PWD/lnet/include -I$PWD/lustre/include"
556 AC_SUBST(EXTRA_KCFLAGS)
557 ])
558
559 #
560 # LB_CONTITIONALS
561 #
562 # AM_CONDITIONAL instances for everything
563 # (so that portals/lustre can disable some if needed)
564 AC_DEFUN([LB_CONDITIONALS],
565 [AM_CONDITIONAL(MODULES, test x$enable_modules = xyes)
566 AM_CONDITIONAL(UTILS, test x$enable_utils = xyes)
567 AM_CONDITIONAL(TESTS, test x$enable_tests = xyes)
568 AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1)
569 AM_CONDITIONAL(INIT_SCRIPTS, test x$ENABLE_INIT_SCRIPTS = "x1")
570 AM_CONDITIONAL(LINUX, test x$lb_target_os = "xlinux")
571 AM_CONDITIONAL(DARWIN, test x$lb_target_os = "xdarwin")
572 AM_CONDITIONAL(CRAY_XT3, test x$enable_cray_xt3 = "xyes")
573 AM_CONDITIONAL(SUNOS, test x$lb_target_os = "xSunOS")
574
575 # this lets lustre cancel libsysio, per-branch or if liblustre is
576 # disabled
577 if test "x$LIBSYSIO_SUBDIR" = xlibsysio ; then
578         if test "x$with_sysio" != xyes ; then
579                 SYSIO=""
580                 LIBSYSIO_SUBDIR=""
581         fi
582 fi
583 AC_SUBST(LIBSYSIO_SUBDIR)
584 AC_SUBST(SYSIO)
585
586 LB_LINUX_CONDITIONALS
587 LB_DARWIN_CONDITIONALS
588
589 LN_CONDITIONALS
590 LC_CONDITIONALS
591 ])
592
593 #
594 # LB_CONFIG_FILES
595 #
596 # build-specific config files
597 #
598 AC_DEFUN([LB_CONFIG_FILES],
599 [
600 AC_CONFIG_FILES(
601 [Makefile
602 autoMakefile
603 ]
604 [Rules:build/Rules.in]
605 AC_PACKAGE_TARNAME[.spec]
606 )
607 ])
608
609 #
610 # LB_CONFIGURE
611 #
612 # main configure steps
613 #
614 AC_DEFUN([LB_CONFIGURE],
615 [LB_CANONICAL_SYSTEM
616
617 LB_INCLUDE_RULES
618
619 LB_CONFIG_CRAY_XT3
620 LB_CONFIG_BGL
621 LB_PATH_DEFAULTS
622
623 LB_PROG_CC
624
625 LB_PATH_DMU
626 LB_POSIX_OSD
627
628 LB_CONFIG_DOCS
629 LB_CONFIG_UTILS
630 LB_CONFIG_TESTS
631 LC_CONFIG_CLIENT_SERVER
632
633 # three macros for cmd3 
634 LC_CONFIG_SPLIT
635 LC_CONFIG_LDISKFS
636 LN_CONFIG_CDEBUG
637
638 LB_CONFIG_MODULES
639
640 LB_PATH_LIBSYSIO
641 LB_PATH_SNMP
642 LB_PATH_LDISKFS
643
644 LC_CONFIG_LIBLUSTRE
645 LN_CONFIGURE
646
647 LC_CONFIGURE
648
649 if test "$SNMP_DIST_SUBDIR" ; then
650         LS_CONFIGURE
651 fi
652
653 LB_CONDITIONALS
654 LB_CONFIG_HEADERS
655
656 LB_CONFIG_FILES
657 LN_CONFIG_FILES
658 LC_CONFIG_FILES
659 if test "$SNMP_DIST_SUBDIR" ; then
660         LS_CONFIG_FILES
661 fi
662
663 AC_SUBST(ac_configure_args)
664
665 MOSTLYCLEANFILES='.*.cmd .*.flags *.o *.ko *.mod.c .depend .*.1.*'
666 AC_SUBST(MOSTLYCLEANFILES)
667
668 AC_OUTPUT
669
670 cat <<_ACEOF
671
672 CC:            $CC
673 LD:            $LD
674 CPPFLAGS:      $CPPFLAGS
675 LLCPPFLAGS:    $LLCPPFLAGS
676 CFLAGS:        $CFLAGS
677 EXTRA_KCFLAGS: $EXTRA_KCFLAGS
678 LLCFLAGS:      $LLCFLAGS
679
680 Type 'make' to build Lustre.
681 _ACEOF
682 ])