if BUILD_LAST usrbin_exec_PROGRAMS += last MANPAGES += login-utils/last.1 dist_noinst_DATA += login-utils/last.1.adoc MANLINKS += login-utils/lastb.1 last_SOURCES = login-utils/last.c lib/monotonic.c last_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS) install-exec-hook-last: cd $(DESTDIR)$(usrbin_execdir) && ln -sf last lastb INSTALL_EXEC_HOOKS += install-exec-hook-last if FUZZING_ENGINE check_PROGRAMS += test_last_fuzz # https://google.github.io/oss-fuzz/getting-started/new-project-guide/#Requirements nodist_EXTRA_test_last_fuzz_SOURCES = dummy.cxx test_last_fuzz_SOURCES = login-utils/last.c test_last_fuzz_CFLAGS = $(AM_CFLAGS) -DFUZZ_TARGET test_last_fuzz_LDFLAGS = -lpthread test_last_fuzz_LDADD = $(LDADD) libcommon.la $(LIB_FUZZING_ENGINE) endif endif if BUILD_SULOGIN sbin_PROGRAMS += sulogin MANPAGES += login-utils/sulogin.8 dist_noinst_DATA += login-utils/sulogin.8.adoc sulogin_SOURCES = \ login-utils/sulogin.c \ login-utils/sulogin-consoles.c \ login-utils/sulogin-consoles.h if USE_PLYMOUTH_SUPPORT sulogin_SOURCES += lib/plymouth-ctrl.c endif sulogin_LDADD = $(LDADD) libcommon.la if HAVE_LIBCRYPT sulogin_LDADD += -lcrypt endif if HAVE_SELINUX sulogin_LDADD += -lselinux endif check_PROGRAMS += test_consoles test_consoles_SOURCES = login-utils/sulogin-consoles.c test_consoles_CFLAGS = $(AM_CFLAGS) -DTEST_PROGRAM test_consoles_LDADD = $(LDADD) libcommon.la endif # BUILD_SULOGIN if BUILD_LOGIN bin_PROGRAMS += login MANPAGES += login-utils/login.1 dist_noinst_DATA += login-utils/login.1.adoc login_SOURCES = \ login-utils/login.c \ login-utils/logindefs.c \ login-utils/logindefs.h login_LDADD = $(LDADD) libcommon.la -lpam if HAVE_LINUXPAM login_LDADD += -lpam_misc endif if HAVE_AUDIT login_LDADD += -laudit endif if HAVE_SELINUX login_LDADD += -lselinux endif if HAVE_ECONF login_LDADD += -leconf endif endif # BUILD_LOGIN if BUILD_NOLOGIN sbin_PROGRAMS += nologin MANPAGES += login-utils/nologin.8 dist_noinst_DATA += login-utils/nologin.8.adoc nologin_SOURCES = login-utils/nologin.c nologin_LDADD = $(LDADD) libcommon.la endif if BUILD_UTMPDUMP usrbin_exec_PROGRAMS += utmpdump MANPAGES += login-utils/utmpdump.1 dist_noinst_DATA += login-utils/utmpdump.1.adoc utmpdump_SOURCES = login-utils/utmpdump.c utmpdump_LDADD = $(LDADD) libcommon.la endif if BUILD_CHFN_CHSH usrbin_exec_PROGRAMS += chfn chsh MANPAGES += \ login-utils/chfn.1 \ login-utils/chsh.1 dist_noinst_DATA += \ login-utils/chfn.1.adoc \ login-utils/chsh.1.adoc chfn_chsh_sources = \ login-utils/ch-common.h \ login-utils/ch-common.c chfn_chsh_cflags = $(SUID_CFLAGS) $(AM_CFLAGS) chfn_chsh_ldflags = $(SUID_LDFLAGS) $(AM_LDFLAGS) chfn_chsh_ldadd = libcommon.la if CHFN_CHSH_PASSWORD chfn_chsh_ldadd += -lpam if HAVE_LINUXPAM chfn_chsh_ldadd += -lpam_misc endif chfn_chsh_sources += \ login-utils/auth.c \ login-utils/auth.h endif # CHFN_CHSH_PASSWORD if HAVE_USER chfn_chsh_ldflags += $(LIBUSER_LIBS) chfn_chsh_cflags += $(LIBUSER_CFLAGS) chfn_chsh_sources+= \ login-utils/libuser.c \ login-utils/libuser.h else chfn_chsh_sources += \ login-utils/islocal.c \ login-utils/islocal.h \ login-utils/setpwnam.c \ login-utils/setpwnam.h endif if HAVE_SELINUX chfn_chsh_sources += \ lib/selinux-utils.c \ include/selinux-utils.h chfn_chsh_ldadd += -lselinux endif chfn_SOURCES = \ login-utils/chfn.c \ login-utils/logindefs.c \ login-utils/logindefs.h \ $(chfn_chsh_sources) chfn_CFLAGS = $(chfn_chsh_cflags) chfn_LDFLAGS = $(chfn_chsh_ldflags) chfn_LDADD = $(LDADD) $(chfn_chsh_ldadd) if HAVE_ECONF chfn_LDADD += -leconf endif chsh_SOURCES = login-utils/chsh.c $(chfn_chsh_sources) chsh_CFLAGS = $(chfn_chsh_cflags) chsh_LDFLAGS = $(chfn_chsh_ldflags) chsh_LDADD = $(LDADD) $(chfn_chsh_ldadd) endif # BUILD_CHFN_CHSH if BUILD_SU bin_PROGRAMS += su MANPAGES += login-utils/su.1 dist_noinst_DATA += login-utils/su.1.adoc su_SOURCES = \ login-utils/su.c \ login-utils/su-common.c \ login-utils/su-common.h \ login-utils/logindefs.c \ login-utils/logindefs.h su_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) su_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS) su_LDADD = $(LDADD) libcommon.la -lpam if HAVE_LINUXPAM su_LDADD += -lpam_misc endif if HAVE_PTY su_SOURCES += lib/pty-session.c \ include/pty-session.h \ lib/monotonic.c su_LDADD += -lutil $(REALTIME_LIBS) endif if HAVE_ECONF su_LDADD += -leconf endif endif # BUILD_SU if BUILD_RUNUSER sbin_PROGRAMS += runuser MANPAGES += login-utils/runuser.1 dist_noinst_DATA += login-utils/runuser.1.adoc runuser_SOURCES = \ login-utils/runuser.c \ login-utils/su-common.c \ login-utils/su-common.h \ login-utils/logindefs.c \ login-utils/logindefs.h runuser_LDADD = $(LDADD) libcommon.la -lpam if HAVE_LINUXPAM runuser_LDADD += -lpam_misc endif if HAVE_PTY runuser_SOURCES += lib/pty-session.c \ include/pty-session.h \ lib/monotonic.c runuser_LDADD += -lutil $(REALTIME_LIBS) endif if HAVE_ECONF runuser_LDADD += -leconf endif endif # BUILD_RUNUSER if BUILD_NEWGRP usrbin_exec_PROGRAMS += newgrp MANPAGES += login-utils/newgrp.1 dist_noinst_DATA += login-utils/newgrp.1.adoc newgrp_SOURCES = login-utils/newgrp.c newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS) newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS) newgrp_LDADD = $(LDADD) if HAVE_LIBCRYPT newgrp_LDADD += -lcrypt endif endif # BUILD_NEWGRP if BUILD_LSLOGINS usrbin_exec_PROGRAMS += lslogins MANPAGES += login-utils/lslogins.1 dist_noinst_DATA += login-utils/lslogins.1.adoc lslogins_SOURCES = \ login-utils/lslogins.c \ login-utils/logindefs.c \ login-utils/logindefs.h lslogins_LDADD = $(LDADD) libcommon.la libsmartcols.la lslogins_CFLAGS = $(AM_CFLAGS) -I$(ul_libsmartcols_incdir) if HAVE_SELINUX lslogins_LDADD += -lselinux endif if HAVE_SYSTEMD lslogins_LDADD += $(SYSTEMD_LIBS) $(SYSTEMD_JOURNAL_LIBS) lslogins_CFLAGS += $(SYSTEMD_CFLAGS) $(SYSTEMD_JOURNAL_CFLAGS) endif if HAVE_ECONF lslogins_LDADD += -leconf endif endif # BUILD_LSLOGINS if BUILD_VIPW usrsbin_exec_PROGRAMS += vipw MANPAGES += login-utils/vipw.8 dist_noinst_DATA += login-utils/vipw.8.adoc MANLINKS += login-utils/vigr.8 vipw_SOURCES = \ login-utils/vipw.c \ login-utils/setpwnam.h vipw_LDADD = $(LDADD) libcommon.la if HAVE_SELINUX vipw_LDADD += -lselinux endif install-exec-hook-vipw:: cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr INSTALL_EXEC_HOOKS += install-exec-hook-vipw endif # BUILD_VIPW check_PROGRAMS += \ test_islocal \ test_logindefs test_islocal_SOURCES = login-utils/islocal.c test_islocal_CPPFLAGS = -DTEST_PROGRAM $(AM_CPPFLAGS) test_logindefs_SOURCES = \ login-utils/logindefs.c \ login-utils/logindefs.h test_logindefs_CPPFLAGS = -DTEST_PROGRAM $(AM_CPPFLAGS) test_logindefs_LDADD = $(LDADD) libcommon.la if HAVE_ECONF test_logindefs_LDADD += -leconf endif install-exec-hook: if BUILD_SU if MAKEINSTALL_DO_CHOWN chown root:root $(DESTDIR)$(bindir)/su endif if MAKEINSTALL_DO_SETUID chmod 4755 $(DESTDIR)$(bindir)/su endif endif