| |
| 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 $(READLINE_LIBS) |
| |
| 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 |