if BUILD_FLOCK
usrbin_exec_PROGRAMS += flock
dist_man_MANS += sys-utils/flock.1
flock_SOURCES = sys-utils/flock.c lib/monotonic.c lib/timer.c
flock_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS)
endif

if BUILD_IPCMK
usrbin_exec_PROGRAMS += ipcmk
dist_man_MANS += sys-utils/ipcmk.1
ipcmk_SOURCES = sys-utils/ipcmk.c
ipcmk_LDADD = $(LDADD) libcommon.la
endif

if BUILD_IPCRM
usrbin_exec_PROGRAMS += ipcrm
dist_man_MANS += sys-utils/ipcrm.1
ipcrm_SOURCES = sys-utils/ipcrm.c
ipcrm_LDADD = $(LDADD) libcommon.la
endif

if BUILD_IPCS
usrbin_exec_PROGRAMS += ipcs
dist_man_MANS += sys-utils/ipcs.1
ipcs_SOURCES =	sys-utils/ipcs.c \
		sys-utils/ipcutils.c \
		sys-utils/ipcutils.h
ipcs_LDADD = $(LDADD) libcommon.la
endif

if BUILD_LSIPC
usrbin_exec_PROGRAMS += lsipc
dist_man_MANS += sys-utils/lsipc.1
lsipc_SOURCES =	sys-utils/lsipc.c \
		sys-utils/ipcutils.c \
		sys-utils/ipcutils.h
lsipc_LDADD = $(LDADD) libcommon.la libsmartcols.la
lsipc_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif

if BUILD_RENICE
usrbin_exec_PROGRAMS += renice
dist_man_MANS += sys-utils/renice.1
renice_SOURCES = sys-utils/renice.c
endif

if BUILD_SETSID
usrbin_exec_PROGRAMS += setsid
dist_man_MANS += sys-utils/setsid.1
setsid_SOURCES = sys-utils/setsid.c
endif

if BUILD_READPROFILE
usrsbin_exec_PROGRAMS += readprofile
dist_man_MANS += sys-utils/readprofile.8
readprofile_SOURCES = sys-utils/readprofile.c
endif

if BUILD_TUNELP
usrsbin_exec_PROGRAMS += tunelp
dist_man_MANS += sys-utils/tunelp.8
tunelp_SOURCES = sys-utils/tunelp.c sys-utils/lp.h
tunelp_LDADD = $(LDADD) libcommon.la
endif

if BUILD_FSTRIM
sbin_PROGRAMS += fstrim
dist_man_MANS += sys-utils/fstrim.8
fstrim_SOURCES = sys-utils/fstrim.c
fstrim_LDADD = $(LDADD) libcommon.la libmount.la
fstrim_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
if HAVE_SYSTEMD
systemdsystemunit_DATA += \
		sys-utils/fstrim.service \
		sys-utils/fstrim.timer
endif
endif # BUILD_FSTRIM

PATHFILES += sys-utils/fstrim.service
EXTRA_DIST += sys-utils/fstrim.timer

if BUILD_DMESG
bin_PROGRAMS += dmesg
dist_man_MANS += sys-utils/dmesg.1
dmesg_SOURCES = sys-utils/dmesg.c lib/monotonic.c
dmesg_LDADD = $(LDADD) libcommon.la libtcolors.la $(REALTIME_LIBS)
dmesg_CFLAGS = $(AM_CFLAGS)
check_PROGRAMS += test_dmesg
test_dmesg_SOURCES = $(dmesg_SOURCES)
test_dmesg_LDADD = $(dmesg_LDADD)
test_dmesg_CFLAGS = -DTEST_DMESG $(dmesg_CFLAGS)
endif

if BUILD_CTRLALTDEL
sbin_PROGRAMS += ctrlaltdel
dist_man_MANS += sys-utils/ctrlaltdel.8
ctrlaltdel_SOURCES = sys-utils/ctrlaltdel.c
ctrlaltdel_LDADD = $(LDADD) libcommon.la
endif

if BUILD_FSFREEZE
sbin_PROGRAMS += fsfreeze
dist_man_MANS += sys-utils/fsfreeze.8
fsfreeze_SOURCES = sys-utils/fsfreeze.c
endif

if BUILD_BLKDISCARD
sbin_PROGRAMS += blkdiscard
dist_man_MANS += sys-utils/blkdiscard.8
blkdiscard_SOURCES = sys-utils/blkdiscard.c lib/monotonic.c
blkdiscard_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS)
endif

if BUILD_LDATTACH
usrsbin_exec_PROGRAMS += ldattach
dist_man_MANS += sys-utils/ldattach.8
ldattach_SOURCES = sys-utils/ldattach.c
ldattach_LDADD = $(LDADD) libcommon.la
endif

if BUILD_RTCWAKE
usrsbin_exec_PROGRAMS += rtcwake
dist_man_MANS += sys-utils/rtcwake.8
PATHFILES += sys-utils/rtcwake.8
rtcwake_SOURCES = sys-utils/rtcwake.c
rtcwake_LDADD = $(LDADD) libcommon.la
endif

if BUILD_SETARCH
usrbin_exec_PROGRAMS += setarch
dist_man_MANS += sys-utils/setarch.8
setarch_SOURCES = sys-utils/setarch.c

SETARCH_LINKS = uname26 linux32 linux64

if ARCH_S390
SETARCH_LINKS += s390 s390x
endif
if ARCH_I86
SETARCH_LINKS += i386
endif
if ARCH_86_64
SETARCH_LINKS += i386 x86_64
endif
if ARCH_PPC
SETARCH_LINKS += ppc ppc64 ppc32
endif
if ARCH_SPARC
SETARCH_LINKS += sparc sparc64 sparc32 sparc32bash
endif
if ARCH_MIPS
SETARCH_LINKS += mips mips64 mips32
endif
if ARCH_IA64
SETARCH_LINKS += i386 ia64
endif
if ARCH_HPPA
SETARCH_LINKS += parisc parisc64 parisc32
endif

SETARCH_MAN_LINKS = $(addprefix sys-utils/,$(SETARCH_LINKS:=.8))
man_MANS += $(SETARCH_MAN_LINKS)
CLEANFILES += $(SETARCH_MAN_LINKS)

$(SETARCH_MAN_LINKS):
	$(AM_V_at) $(MKDIR_P) sys-utils
	$(AM_V_GEN)echo ".so man8/setarch.8" > $@

install-exec-hook-setarch:
	for I in $(SETARCH_LINKS); do \
		cd $(DESTDIR)$(usrbin_execdir) && ln -sf setarch $$I ; \
	done

uninstall-hook-setarch:
	for I in $(SETARCH_LINKS); do \
		rm -f $(DESTDIR)$(usrbin_execdir)/$$I ; \
	done

INSTALL_EXEC_HOOKS += install-exec-hook-setarch
UNINSTALL_HOOKS += uninstall-hook-setarch

endif # BUILD_SETARCH


if BUILD_EJECT
usrbin_exec_PROGRAMS += eject
eject_SOURCES =  sys-utils/eject.c lib/monotonic.c
eject_LDADD = $(LDADD) libmount.la libcommon.la $(REALTIME_LIBS)
eject_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
dist_man_MANS += sys-utils/eject.1
endif


if BUILD_LOSETUP
sbin_PROGRAMS += losetup
dist_man_MANS += sys-utils/losetup.8
losetup_SOURCES = sys-utils/losetup.c
losetup_LDADD = $(LDADD) libcommon.la libsmartcols.la
losetup_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)

if HAVE_STATIC_LOSETUP
bin_PROGRAMS += losetup.static
losetup_static_SOURCES = $(losetup_SOURCES)
losetup_static_LDFLAGS = -all-static
losetup_static_LDADD = $(losetup_LDADD)
losetup_static_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif
endif # BUILD_LOSETUP


if BUILD_ZRAMCTL
sbin_PROGRAMS += zramctl
dist_man_MANS += sys-utils/zramctl.8
zramctl_SOURCES = sys-utils/zramctl.c
zramctl_LDADD = $(LDADD) libcommon.la libsmartcols.la
zramctl_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif


if BUILD_PRLIMIT
usrbin_exec_PROGRAMS += prlimit
dist_man_MANS += sys-utils/prlimit.1
prlimit_SOURCES = sys-utils/prlimit.c
prlimit_LDADD = $(LDADD) libcommon.la libsmartcols.la
prlimit_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif


if BUILD_LSNS
usrbin_exec_PROGRAMS += lsns
dist_man_MANS += sys-utils/lsns.8
lsns_SOURCES =	sys-utils/lsns.c
lsns_LDADD = $(LDADD) libcommon.la libsmartcols.la
lsns_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif


if BUILD_MOUNT
bin_PROGRAMS += mount umount
dist_man_MANS += \
	sys-utils/mount.8 \
	sys-utils/fstab.5 \
	sys-utils/umount.8
mount_SOURCES = sys-utils/mount.c
mount_LDADD = $(LDADD) libcommon.la libmount.la $(SELINUX_LIBS)
mount_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) -I$(ul_libmount_incdir)
mount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)

umount_SOURCES = sys-utils/umount.c
umount_LDADD = $(LDADD) libcommon.la libmount.la
umount_CFLAGS = $(AM_CFLAGS) $(SUID_CFLAGS) -I$(ul_libmount_incdir)
umount_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)

if HAVE_STATIC_MOUNT
bin_PROGRAMS += mount.static
mount_static_SOURCES = $(mount_SOURCES)
mount_static_CFLAGS = $(mount_CFLAGS)
mount_static_LDFLAGS = $(mount_LDFLAGS) -all-static
mount_static_LDADD = $(mount_LDADD) $(SELINUX_LIBS_STATIC)
endif

if HAVE_STATIC_UMOUNT
bin_PROGRAMS += umount.static
umount_static_SOURCES = $(umount_SOURCES)
umount_static_CFLAGS = $(umount_CFLAGS)
umount_static_LDFLAGS = $(umount_LDFLAGS) -all-static
umount_static_LDADD = $(umount_LDADD)
endif

if MAKEINSTALL_DO_SETUID
install-exec-hook-mount:
	chmod 4755 $(DESTDIR)$(bindir)/mount
	chmod 4755 $(DESTDIR)$(bindir)/umount

INSTALL_EXEC_HOOKS += install-exec-hook-mount
endif
endif # BUILD_MOUNT


if BUILD_SWAPON
sbin_PROGRAMS += swapon swapoff
dist_man_MANS += \
	sys-utils/swapoff.8 \
	sys-utils/swapon.8

swapon_SOURCES = \
	sys-utils/swapon.c \
	sys-utils/swapon-common.c \
	sys-utils/swapon-common.h \
	lib/swapprober.c \
	include/swapprober.h
swapon_CFLAGS = $(AM_CFLAGS) \
	-I$(ul_libblkid_incdir) \
	-I$(ul_libmount_incdir) \
	-I$(ul_libsmartcols_incdir)
swapon_LDADD = $(LDADD) \
	libblkid.la \
	libcommon.la \
	libmount.la \
	libsmartcols.la

swapoff_SOURCES = \
	sys-utils/swapoff.c \
	sys-utils/swapon-common.c \
	sys-utils/swapon-common.h \
	lib/swapprober.c \
	include/swapprober.h
swapoff_CFLAGS = $(AM_CFLAGS) \
	-I$(ul_libblkid_incdir) \
	-I$(ul_libmount_incdir)
swapoff_LDADD = $(LDADD) \
	libmount.la \
	libblkid.la \
	libcommon.la
endif

if BUILD_LSCPU
usrbin_exec_PROGRAMS += lscpu
lscpu_SOURCES = \
	sys-utils/lscpu.c \
	sys-utils/lscpu.h \
	sys-utils/lscpu-dmi.c
lscpu_LDADD = $(LDADD) libcommon.la libsmartcols.la $(RTAS_LIBS)
lscpu_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
dist_man_MANS += sys-utils/lscpu.1
endif

if BUILD_CHCPU
sbin_PROGRAMS += chcpu
chcpu_SOURCES = sys-utils/chcpu.c
chcpu_LDADD = $(LDADD) libcommon.la
dist_man_MANS += sys-utils/chcpu.8
endif

if BUILD_WDCTL
bin_PROGRAMS += wdctl
dist_man_MANS += sys-utils/wdctl.8
wdctl_SOURCES = sys-utils/wdctl.c
wdctl_LDADD = $(LDADD) libcommon.la libsmartcols.la
wdctl_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir)
endif

if BUILD_MOUNTPOINT
bin_PROGRAMS += mountpoint
mountpoint_LDADD = $(LDADD) libmount.la
mountpoint_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)
dist_man_MANS += sys-utils/mountpoint.1
mountpoint_SOURCES = sys-utils/mountpoint.c
endif

if BUILD_FALLOCATE
usrbin_exec_PROGRAMS += fallocate
fallocate_SOURCES = sys-utils/fallocate.c
fallocate_LDADD = $(LDADD) libcommon.la
dist_man_MANS += sys-utils/fallocate.1
endif

if BUILD_PIVOT_ROOT
sbin_PROGRAMS += pivot_root
dist_man_MANS += sys-utils/pivot_root.8
pivot_root_SOURCES = sys-utils/pivot_root.c
endif

if BUILD_SWITCH_ROOT
sbin_PROGRAMS += switch_root
dist_man_MANS += sys-utils/switch_root.8
switch_root_SOURCES = sys-utils/switch_root.c
endif

if BUILD_UNSHARE
usrbin_exec_PROGRAMS += unshare
dist_man_MANS += sys-utils/unshare.1
unshare_SOURCES = sys-utils/unshare.c
unshare_LDADD = $(LDADD) libcommon.la
unshare_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir)

if HAVE_STATIC_UNSHARE
usrbin_exec_PROGRAMS += unshare.static
unshare_static_SOURCES = $(unshare_SOURCES)
unshare_static_LDFLAGS = -all-static
unshare_static_LDADD = $(unshare_LDADD)
unshare_static_CFLAGS = $(unshare_CFLAGS)
endif
endif

if BUILD_NSENTER
usrbin_exec_PROGRAMS += nsenter
dist_man_MANS += sys-utils/nsenter.1
nsenter_SOURCES = sys-utils/nsenter.c
nsenter_LDADD = $(LDADD) libcommon.la $(SELINUX_LIBS)

if HAVE_STATIC_NSENTER
usrbin_exec_PROGRAMS += nsenter.static
nsenter_static_SOURCES = $(nsenter_SOURCES)
nsenter_static_LDFLAGS = -all-static
nsenter_static_LDADD = $(nsenter_LDADD)
endif
endif

if BUILD_HWCLOCK
sbin_PROGRAMS += hwclock
dist_man_MANS += sys-utils/hwclock.8
PATHFILES += sys-utils/hwclock.8
hwclock_SOURCES = \
	sys-utils/hwclock.c \
	sys-utils/hwclock.h \
	sys-utils/hwclock-cmos.c
if LINUX
hwclock_SOURCES += sys-utils/hwclock-rtc.c
endif
hwclock_LDADD = $(LDADD) libcommon.la $(MATH_LIBS)
if HAVE_AUDIT
hwclock_LDADD += -laudit
endif
endif # BUILD_HWCLOCK

if BUILD_SETPRIV
usrbin_exec_PROGRAMS += setpriv
dist_man_MANS += sys-utils/setpriv.1
setpriv_SOURCES = sys-utils/setpriv.c
setpriv_LDADD = $(LDADD) -lcap-ng libcommon.la
endif
