
if BUILD_MINIX
sbin_PROGRAMS += fsck.minix
dist_man_MANS += disk-utils/fsck.minix.8
fsck_minix_SOURCES = \
	disk-utils/fsck.minix.c \
	disk-utils/minix_programs.h
fsck_minix_LDADD = $(LDADD) libcommon.la

sbin_PROGRAMS += mkfs.minix
dist_man_MANS += disk-utils/mkfs.minix.8
mkfs_minix_SOURCES = \
	disk-utils/minix_programs.h \
	disk-utils/mkfs.minix.c
mkfs_minix_LDADD = $(LDADD) libcommon.la

check_PROGRAMS += test_mkfs_minix
test_mkfs_minix_SOURCES = $(mkfs_minix_SOURCES)
test_mkfs_minix_LDADD = $(mkfs_minix_LDADD)
test_mkfs_minix_CFLAGS = $(AM_CFLAGS) -DTEST_SCRIPT
endif


if BUILD_MKFS
sbin_PROGRAMS += mkfs
dist_man_MANS += disk-utils/mkfs.8
mkfs_SOURCES = disk-utils/mkfs.c
endif


if BUILD_ISOSIZE
usrbin_exec_PROGRAMS += isosize
dist_man_MANS += disk-utils/isosize.8
isosize_SOURCES = disk-utils/isosize.c
isosize_LDADD = $(LDADD) libcommon.la
endif


if BUILD_BFS
sbin_PROGRAMS += mkfs.bfs
dist_man_MANS += disk-utils/mkfs.bfs.8
mkfs_bfs_SOURCES = \
	disk-utils/mkfs.bfs.c
mkfs_bfs_LDADD = $(LDADD) libcommon.la
endif


if BUILD_MKSWAP
sbin_PROGRAMS += mkswap
dist_man_MANS += disk-utils/mkswap.8
mkswap_SOURCES = \
	disk-utils/mkswap.c
mkswap_LDADD = $(LDADD) libcommon.la

mkswap_CFLAGS = $(AM_CFLAGS)
if BUILD_LIBUUID
mkswap_CFLAGS += -I$(ul_libuuid_incdir)
mkswap_LDADD += libuuid.la
endif
if BUILD_LIBBLKID
mkswap_CFLAGS += -I$(ul_libblkid_incdir)
mkswap_LDADD += libblkid.la
endif
if HAVE_SELINUX
mkswap_LDADD += -lselinux
endif
endif # BUILD_MKSWAP


if BUILD_SWAPLABEL
sbin_PROGRAMS += swaplabel
dist_man_MANS += disk-utils/swaplabel.8
swaplabel_SOURCES = \
	disk-utils/swaplabel.c \
	lib/swapprober.c \
	include/swapprober.h

swaplabel_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir)
swaplabel_LDADD = $(LDADD) libblkid.la libcommon.la

if BUILD_LIBUUID
swaplabel_LDADD += libuuid.la
swaplabel_CFLAGS += -I$(ul_libuuid_incdir)
endif
endif #BUILD_SWAPLABEL


if BUILD_FSCK
sbin_PROGRAMS += fsck
dist_man_MANS += disk-utils/fsck.8
fsck_SOURCES = disk-utils/fsck.c lib/monotonic.c
fsck_LDADD = $(LDADD) libmount.la libblkid.la libcommon.la $(REALTIME_LIBS)
fsck_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir) -I$(ul_libblkid_incdir)
endif


if BUILD_RAW
sbin_PROGRAMS += raw
dist_man_MANS += disk-utils/raw.8
raw_SOURCES = disk-utils/raw.c
endif


if BUILD_CRAMFS
cramfs_common_sources = disk-utils/cramfs.h disk-utils/cramfs_common.c
sbin_PROGRAMS += fsck.cramfs
fsck_cramfs_SOURCES = disk-utils/fsck.cramfs.c $(cramfs_common_sources)
fsck_cramfs_LDADD = $(LDADD) -lz libcommon.la
dist_man_MANS += disk-utils/fsck.cramfs.8

sbin_PROGRAMS += mkfs.cramfs
mkfs_cramfs_SOURCES = disk-utils/mkfs.cramfs.c $(cramfs_common_sources)
mkfs_cramfs_LDADD = $(LDADD) -lz libcommon.la
dist_man_MANS += disk-utils/mkfs.cramfs.8
endif

if BUILD_FDFORMAT
usrsbin_exec_PROGRAMS += fdformat
dist_man_MANS += disk-utils/fdformat.8
fdformat_SOURCES = disk-utils/fdformat.c
fdformat_LDADD = $(LDADD) libcommon.la
endif

if BUILD_BLOCKDEV
sbin_PROGRAMS += blockdev
dist_man_MANS += disk-utils/blockdev.8
blockdev_SOURCES = disk-utils/blockdev.c
blockdev_LDADD = $(LDADD) libcommon.la
endif


if BUILD_FDISK
sbin_PROGRAMS += fdisk
dist_man_MANS += disk-utils/fdisk.8
fdisk_SOURCES = \
	disk-utils/fdisk.c \
	disk-utils/fdisk.h \
	disk-utils/fdisk-menu.c \
	disk-utils/fdisk-list.c \
	disk-utils/fdisk-list.h

fdisk_LDADD = $(LDADD) libcommon.la libfdisk.la \
	      libsmartcols.la libtcolors.la $(READLINE_LIBS)
fdisk_CFLAGS = $(AM_CFLAGS) -I$(ul_libfdisk_incdir) -I$(ul_libsmartcols_incdir)

if HAVE_STATIC_FDISK
sbin_PROGRAMS += fdisk.static
fdisk_static_SOURCES = $(fdisk_SOURCES)
fdisk_static_LDFLAGS = -all-static
fdisk_static_CFLAGS = $(fdisk_CFLAGS)
fdisk_static_LDADD = $(fdisk_LDADD) $(READLINE_LIBS_STATIC)
endif
endif # BUILD_FDISK


if BUILD_SFDISK
sbin_PROGRAMS += sfdisk
dist_man_MANS += disk-utils/sfdisk.8
sfdisk_SOURCES = \
	disk-utils/sfdisk.c \
	disk-utils/fdisk-list.c \
	disk-utils/fdisk-list.h

sfdisk_LDADD = $(LDADD) libcommon.la libfdisk.la \
	       libsmartcols.la libtcolors.la $(READLINE_LIBS)
sfdisk_CFLAGS = $(AM_CFLAGS) -I$(ul_libfdisk_incdir) -I$(ul_libsmartcols_incdir)

if HAVE_STATIC_SFDISK
sbin_PROGRAMS += sfdisk.static
sfdisk_static_SOURCES = $(sfdisk_SOURCES)
sfdisk_static_LDFLAGS = -all-static
sfdisk_static_CFLAGS = $(sfdisk_CFLAGS)
sfdisk_static_LDADD = $(sfdisk_LDADD) $(READLINE_LIBS_STATIC)
endif
endif # BUILD_SFDISK


if BUILD_CFDISK
sbin_PROGRAMS += cfdisk
dist_man_MANS += disk-utils/cfdisk.8
cfdisk_SOURCES = disk-utils/cfdisk.c
cfdisk_LDADD = \
	$(LDADD) \
	libsmartcols.la \
	libcommon.la \
	libfdisk.la \
	libtcolors.la
cfdisk_CFLAGS = \
	$(AM_CFLAGS) \
	-I$(ul_libfdisk_incdir) \
	-I$(ul_libsmartcols_incdir)

if BUILD_LIBMOUNT
cfdisk_CFLAGS += -I$(ul_libmount_incdir)
cfdisk_LDADD += libmount.la
endif

if HAVE_SLANG
cfdisk_LDADD += -lslang
else
cfdisk_CFLAGS += $(NCURSES_CFLAGS)
cfdisk_LDADD += $(NCURSES_LIBS)
endif
endif # BUILD_CFDISK


if BUILD_PARTX
usrsbin_exec_PROGRAMS += partx addpart delpart resizepart
dist_man_MANS += \
	disk-utils/addpart.8 \
	disk-utils/delpart.8 \
	disk-utils/resizepart.8 \
	disk-utils/partx.8

addpart_SOURCES = disk-utils/addpart.c
addpart_LDADD = $(LDADD) libcommon.la

delpart_SOURCES = disk-utils/delpart.c
delpart_LDADD = $(LDADD) libcommon.la

resizepart_SOURCES = disk-utils/resizepart.c
resizepart_LDADD = $(LDADD) libcommon.la

partx_SOURCES = disk-utils/partx.c
partx_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir) -I$(ul_libsmartcols_incdir)
partx_LDADD = $(LDADD) libblkid.la libcommon.la libsmartcols.la

endif # BUILD_PARTX
