+lctl_SOURCES = lustre_lfsck.c obd.c lustre_cfg.c lctl.c obdctl.h
+lctl_LDADD := liblustreapi.a $(LIBPTLCTL) $(PTHREAD_LIBS) $(LIBREADLINE)
+lctl_DEPENDENCIES := $(LIBPTLCTL) liblustreapi.a
+
+lfs_SOURCES = lfs.c
+lfs_LDADD := liblustreapi.a $(LIBPTLCTL) $(LIBREADLINE)
+lfs_DEPENDENCIES := $(LIBPTLCTL) liblustreapi.a
+
+lustre_rsync_SOURCES = lustre_rsync.c obd.c lustre_cfg.c lustre_rsync.h
+lustre_rsync_LDADD := liblustreapi.a $(LIBPTLCTL) $(PTHREAD_LIBS) $(LIBREADLINE)
+lustre_rsync_DEPENDENCIES := $(LIBPTLCTL) liblustreapi.a
+
+ll_recover_lost_found_objs_SOURCES = ll_recover_lost_found_objs.c
+ll_recover_lost_found_objs_LDADD := $(LIBPTLCTL)
+ll_recover_lost_found_objs_DEPENDENCIES := $(LIBPTLCTL)
+
+if EXT2FS_DEVEL
+EXT2FSLIB = -lext2fs
+E2PLIB = -le2p
+else
+E2PLIB =
+EXT2FSLIB =
+endif
+
+if BLKID
+BLKIDLIB = -lblkid
+else
+BLKIDLIB =
+endif
+
+llverfs_LDADD := $(EXT2FSLIB) $(E2PLIB)
+
+llverdev_LDADD := $(EXT2FSLIB) $(BLKIDLIB)
+
+L_STRING := $(top_builddir)/libcfs/libcfs/user-string.c
+L_IOCTL := $(top_builddir)/libcfs/libcfs/util/l_ioctl.c
+L_KERNELCOMM := $(top_builddir)/libcfs/libcfs/kernel_user_comm.c
+liblustreapitmp_a_SOURCES = liblustreapi.c liblustreapi_hsm.c \
+ liblustreapi_nodemap.c lustreapi_internal.h \
+ liblustreapi_json.c liblustreapi_layout.c \
+ liblustreapi_lease.c liblustreapi_util.c \
+ $(L_IOCTL) $(L_KERNELCOMM) $(L_STRING)
+
+if UTILS
+# build static and shared lib lustreapi
+liblustreapi.a : liblustreapitmp.a
+ rm -f liblustreapi.a liblustreapi.so
+ $(CC) $(LDFLAGS) -shared -o liblustreapi.so `$(AR) -t liblustreapitmp.a`
+ mv liblustreapitmp.a liblustreapi.a
+
+install-exec-hook: liblustreapi.so
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+ @list=$< ; for p in $$list; do \
+ if test -f $$p; then \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$f"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$f; \
+ else :; fi; \
+ done
+endif
+
+if LDISKFS_ENABLED
+libiam_a_SOURCES = libiam.c
+endif
+
+req_layout_SOURCES = req-layout.c