# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@


VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
	$(top_srcdir)/config/include-Makefile.am
bin_PROGRAMS = $(am__EXEEXT_1)
usrbin_exec_PROGRAMS = $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
	$(am__EXEEXT_7)
sbin_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3)
usrsbin_exec_PROGRAMS = $(am__EXEEXT_8)
@BUILD_AGETTY_TRUE@am__append_1 = agetty
@BUILD_AGETTY_TRUE@am__append_2 = agetty.8
@BUILD_INIT_TRUE@am__append_3 = simpleinit shutdown initctl
@BUILD_INIT_TRUE@am__append_4 = fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8 \
@BUILD_INIT_TRUE@	initctl.8

@BUILD_LAST_TRUE@am__append_5 = last
@BUILD_LAST_TRUE@am__append_6 = last.1
@BUILD_LOGIN_UTILS_TRUE@am__append_7 = login
@BUILD_LOGIN_UTILS_TRUE@am__append_8 = chfn chsh newgrp
@BUILD_LOGIN_UTILS_TRUE@am__append_9 = vipw
@BUILD_LOGIN_UTILS_TRUE@am__append_10 = chfn.1 chsh.1 login.1 newgrp.1 vipw.8 vigr.8
@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_TRUE@am__append_11 = -lpam -lpam_misc
@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@@NEED_LIBCRYPT_TRUE@am__append_12 = -lcrypt
@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@am__append_13 = checktty.c
@BUILD_LOGIN_UTILS_TRUE@@NEED_LIBCRYPT_TRUE@am__append_14 = -lcrypt
@BUILD_LOGIN_UTILS_TRUE@@HAVE_AUDIT_TRUE@am__append_15 = -laudit
@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_16 = selinux_utils.c selinux_utils.h
@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_17 = selinux_utils.c selinux_utils.h
@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_18 = -lselinux
@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__append_19 = -lselinux
@BUILD_MESG_TRUE@am__append_20 = mesg
@BUILD_MESG_TRUE@am__append_21 = mesg.1
@BUILD_WALL_TRUE@am__append_22 = wall
@BUILD_WALL_TRUE@am__append_23 = wall.1
noinst_PROGRAMS = checktty_test$(EXEEXT) islocal_test$(EXEEXT)
subdir = login-utils
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/tls.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@BUILD_LOGIN_UTILS_TRUE@am__EXEEXT_1 = login$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
	"$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" \
	"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"
@BUILD_AGETTY_TRUE@am__EXEEXT_2 = agetty$(EXEEXT)
@BUILD_INIT_TRUE@am__EXEEXT_3 = simpleinit$(EXEEXT) shutdown$(EXEEXT) \
@BUILD_INIT_TRUE@	initctl$(EXEEXT)
@BUILD_LAST_TRUE@am__EXEEXT_4 = last$(EXEEXT)
@BUILD_LOGIN_UTILS_TRUE@am__EXEEXT_5 = chfn$(EXEEXT) chsh$(EXEEXT) \
@BUILD_LOGIN_UTILS_TRUE@	newgrp$(EXEEXT)
@BUILD_MESG_TRUE@am__EXEEXT_6 = mesg$(EXEEXT)
@BUILD_WALL_TRUE@am__EXEEXT_7 = wall$(EXEEXT)
@BUILD_LOGIN_UTILS_TRUE@am__EXEEXT_8 = vipw$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \
	$(usrbin_exec_PROGRAMS) $(usrsbin_exec_PROGRAMS)
agetty_SOURCES = agetty.c
agetty_OBJECTS = agetty.$(OBJEXT)
agetty_LDADD = $(LDADD)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
am_checktty_test_OBJECTS = checktty_test-checktty.$(OBJEXT)
checktty_test_OBJECTS = $(am_checktty_test_OBJECTS)
checktty_test_LDADD = $(LDADD)
am__chfn_SOURCES_DIST = chfn.c islocal.c setpwnam.c islocal.h \
	my_crypt.h setpwnam.h ../lib/env.c selinux_utils.c \
	selinux_utils.h
@BUILD_LOGIN_UTILS_TRUE@am__objects_1 = chfn-islocal.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	chfn-setpwnam.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	chfn-env.$(OBJEXT)
@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__objects_2 = chfn-selinux_utils.$(OBJEXT)
@BUILD_LOGIN_UTILS_TRUE@am_chfn_OBJECTS = chfn-chfn.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__objects_1) $(am__objects_2)
chfn_OBJECTS = $(am_chfn_OBJECTS)
am__DEPENDENCIES_1 =
@BUILD_LOGIN_UTILS_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__DEPENDENCIES_1) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__DEPENDENCIES_1)
@BUILD_LOGIN_UTILS_TRUE@chfn_DEPENDENCIES = $(am__DEPENDENCIES_2)
chfn_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(chfn_CFLAGS) $(CFLAGS) \
	$(chfn_LDFLAGS) $(LDFLAGS) -o $@
am__chsh_SOURCES_DIST = chsh.c islocal.c setpwnam.c islocal.h \
	my_crypt.h setpwnam.h ../lib/env.c selinux_utils.c \
	selinux_utils.h
@BUILD_LOGIN_UTILS_TRUE@am__objects_3 = chsh-islocal.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	chsh-setpwnam.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	chsh-env.$(OBJEXT)
@BUILD_LOGIN_UTILS_TRUE@@HAVE_SELINUX_TRUE@am__objects_4 = chsh-selinux_utils.$(OBJEXT)
@BUILD_LOGIN_UTILS_TRUE@am_chsh_OBJECTS = chsh-chsh.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__objects_3) $(am__objects_4)
chsh_OBJECTS = $(am_chsh_OBJECTS)
@BUILD_LOGIN_UTILS_TRUE@chsh_DEPENDENCIES = $(am__DEPENDENCIES_2)
chsh_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(chsh_CFLAGS) $(CFLAGS) \
	$(chsh_LDFLAGS) $(LDFLAGS) -o $@
am__initctl_SOURCES_DIST = initctl.c simpleinit.h
@BUILD_INIT_TRUE@am_initctl_OBJECTS = initctl.$(OBJEXT)
initctl_OBJECTS = $(am_initctl_OBJECTS)
initctl_LDADD = $(LDADD)
am_islocal_test_OBJECTS = islocal_test-islocal.$(OBJEXT)
islocal_test_OBJECTS = $(am_islocal_test_OBJECTS)
islocal_test_LDADD = $(LDADD)
last_SOURCES = last.c
last_OBJECTS = last.$(OBJEXT)
last_LDADD = $(LDADD)
am__login_SOURCES_DIST = login.c login.h my_crypt.h \
	../lib/setproctitle.c checktty.c
@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@am__objects_5 =  \
@BUILD_LOGIN_UTILS_TRUE@@HAVE_PAM_FALSE@	checktty.$(OBJEXT)
@BUILD_LOGIN_UTILS_TRUE@am_login_OBJECTS = login.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	setproctitle.$(OBJEXT) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__objects_5)
login_OBJECTS = $(am_login_OBJECTS)
@BUILD_LOGIN_UTILS_TRUE@login_DEPENDENCIES = $(am__DEPENDENCIES_2) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__DEPENDENCIES_1)
mesg_SOURCES = mesg.c
mesg_OBJECTS = mesg.$(OBJEXT)
mesg_LDADD = $(LDADD)
am__newgrp_SOURCES_DIST = newgrp.c my_crypt.h
@BUILD_LOGIN_UTILS_TRUE@am_newgrp_OBJECTS = newgrp-newgrp.$(OBJEXT)
newgrp_OBJECTS = $(am_newgrp_OBJECTS)
@BUILD_LOGIN_UTILS_TRUE@newgrp_DEPENDENCIES = $(am__DEPENDENCIES_1)
newgrp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(newgrp_CFLAGS) $(CFLAGS) \
	$(newgrp_LDFLAGS) $(LDFLAGS) -o $@
shutdown_SOURCES = shutdown.c
shutdown_OBJECTS = shutdown.$(OBJEXT)
shutdown_LDADD = $(LDADD)
am__simpleinit_SOURCES_DIST = simpleinit.c my_crypt.h simpleinit.h
@BUILD_INIT_TRUE@am_simpleinit_OBJECTS = simpleinit.$(OBJEXT)
simpleinit_OBJECTS = $(am_simpleinit_OBJECTS)
simpleinit_DEPENDENCIES =
am__vipw_SOURCES_DIST = vipw.c setpwnam.h
@BUILD_LOGIN_UTILS_TRUE@am_vipw_OBJECTS = vipw.$(OBJEXT)
vipw_OBJECTS = $(am_vipw_OBJECTS)
@BUILD_LOGIN_UTILS_TRUE@vipw_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__wall_SOURCES_DIST = wall.c ttymsg.c ttymsg.h
@BUILD_WALL_TRUE@am_wall_OBJECTS = wall.$(OBJEXT) ttymsg.$(OBJEXT)
wall_OBJECTS = $(am_wall_OBJECTS)
wall_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo "  CC    " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo "  CCLD  " $@;
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo "  GEN   " $@;
SOURCES = agetty.c $(checktty_test_SOURCES) $(chfn_SOURCES) \
	$(chsh_SOURCES) $(initctl_SOURCES) $(islocal_test_SOURCES) \
	last.c $(login_SOURCES) mesg.c $(newgrp_SOURCES) shutdown.c \
	$(simpleinit_SOURCES) $(vipw_SOURCES) $(wall_SOURCES)
DIST_SOURCES = agetty.c $(checktty_test_SOURCES) \
	$(am__chfn_SOURCES_DIST) $(am__chsh_SOURCES_DIST) \
	$(am__initctl_SOURCES_DIST) $(islocal_test_SOURCES) last.c \
	$(am__login_SOURCES_DIST) mesg.c $(am__newgrp_SOURCES_DIST) \
	shutdown.c $(am__simpleinit_SOURCES_DIST) \
	$(am__vipw_SOURCES_DIST) $(am__wall_SOURCES_DIST)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
man1dir = $(mandir)/man1
man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(dist_man_MANS)
am__dist_noinst_DATA_DIST = agetty.8 fastboot.8 fasthalt.8 halt.8 \
	reboot.8 simpleinit.8 shutdown.8 initctl.8 last.1 chfn.1 \
	chsh.1 login.1 newgrp.1 vipw.8 vigr.8 mesg.1 wall.1
DATA = $(dist_noinst_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_CFLAGS = @BLKID_CFLAGS@
BLKID_LIBS = @BLKID_LIBS@
BLKID_LIBS_STATIC = @BLKID_LIBS_STATIC@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBBLKID_DATE = @LIBBLKID_DATE@
LIBBLKID_VERSION = @LIBBLKID_VERSION@
LIBBLKID_VERSION_INFO = @LIBBLKID_VERSION_INFO@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBUUID_VERSION = @LIBUUID_VERSION@
LIBUUID_VERSION_INFO = @LIBUUID_VERSION_INFO@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NCURSES_LIBS = @NCURSES_LIBS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
RANLIB = @RANLIB@
SED = @SED@
SELINUX_LIBS = @SELINUX_LIBS@
SELINUX_LIBS_STATIC = @SELINUX_LIBS_STATIC@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SUID_CFLAGS = @SUID_CFLAGS@
SUID_LDFLAGS = @SUID_LDFLAGS@
USE_NLS = @USE_NLS@
UUID_CFLAGS = @UUID_CFLAGS@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XSLTPROC = @XSLTPROC@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libdirname = @libdirname@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
usrbin_execdir = @usrbin_execdir@
usrlib_execdir = @usrlib_execdir@
usrsbin_execdir = @usrsbin_execdir@
AM_CPPFLAGS = -include $(top_builddir)/config.h -I$(top_srcdir)/include \
	-DLOCALEDIR=\"$(localedir)\"

AM_CFLAGS = -fsigned-char
AM_LDFLAGS = 

# Automake (at least up to 1.10) mishandles dist_man_MANS inside conditionals.
# Unlike with other dist primaries, the files are not distributed if the
# conditional is false.
# Work the bug around until it is fixed:
dist_noinst_DATA = $(dist_man_MANS)

# Paths to in-tree libraries (use ul_ prefix to avoid possible collisions)
#
# blkid
ul_libblkid_srcdir = $(top_srcdir)/shlibs/blkid/src
ul_libblkid_builddir = $(top_builddir)/shlibs/blkid/src
ul_libblkid_la = $(top_builddir)/shlibs/blkid/src/libblkid.la

# blkid.h is generated by ./configure script and stored in build directory
ul_libblkid_incdir = $(ul_libblkid_builddir)

# uuid
ul_libuuid_srcdir = $(top_srcdir)/shlibs/uuid/src
ul_libuuid_builddir = $(top_builddir)/shlibs/uuid/src
ul_libuuid_la = $(top_builddir)/shlibs/uuid/src/libuuid.la
dist_man_MANS = $(am__append_2) $(am__append_4) $(am__append_6) \
	$(am__append_10) $(am__append_21) $(am__append_23)
EXTRA_DIST = README.getty  README.modems-with-agetty  README.poeigl
@BUILD_INIT_TRUE@simpleinit_SOURCES = simpleinit.c my_crypt.h simpleinit.h
@BUILD_INIT_TRUE@initctl_SOURCES = initctl.c simpleinit.h
@BUILD_INIT_TRUE@@NEED_LIBCRYPT_TRUE@simpleinit_LDADD = -lcrypt

# login, chfn and chsh libs
@BUILD_LOGIN_UTILS_TRUE@login_ldadd_common = $(am__append_11) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__append_12) $(am__append_19)
@BUILD_LOGIN_UTILS_TRUE@chfn_SOURCES = chfn.c $(chfn_chsh_common) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__append_16)
@BUILD_LOGIN_UTILS_TRUE@chsh_SOURCES = chsh.c $(chfn_chsh_common) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__append_17)
@BUILD_LOGIN_UTILS_TRUE@chfn_chsh_common = islocal.c setpwnam.c islocal.h my_crypt.h setpwnam.h \
@BUILD_LOGIN_UTILS_TRUE@	../lib/env.c

@BUILD_LOGIN_UTILS_TRUE@login_SOURCES = login.c login.h my_crypt.h \
@BUILD_LOGIN_UTILS_TRUE@	../lib/setproctitle.c $(am__append_13)
@BUILD_LOGIN_UTILS_TRUE@newgrp_SOURCES = newgrp.c my_crypt.h
@BUILD_LOGIN_UTILS_TRUE@vipw_SOURCES = vipw.c setpwnam.h
@BUILD_LOGIN_UTILS_TRUE@chfn_LDADD = $(login_ldadd_common)
@BUILD_LOGIN_UTILS_TRUE@chsh_LDADD = $(login_ldadd_common)
@BUILD_LOGIN_UTILS_TRUE@login_LDADD = $(login_ldadd_common) \
@BUILD_LOGIN_UTILS_TRUE@	$(am__append_15)
@BUILD_LOGIN_UTILS_TRUE@newgrp_LDADD = $(am__append_14)
@BUILD_LOGIN_UTILS_TRUE@vipw_LDADD = $(am__append_18)
@BUILD_LOGIN_UTILS_TRUE@chfn_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
@BUILD_LOGIN_UTILS_TRUE@chsh_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
@BUILD_LOGIN_UTILS_TRUE@newgrp_CFLAGS = $(SUID_CFLAGS) $(AM_CFLAGS)
@BUILD_LOGIN_UTILS_TRUE@chfn_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
@BUILD_LOGIN_UTILS_TRUE@chsh_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
@BUILD_LOGIN_UTILS_TRUE@newgrp_LDFLAGS = $(SUID_LDFLAGS) $(AM_LDFLAGS)
@BUILD_WALL_TRUE@wall_SOURCES = wall.c ttymsg.c ttymsg.h
checktty_test_SOURCES = checktty.c login.h
checktty_test_CPPFLAGS = -DMAIN_TEST_CHECKTTY $(AM_CPPFLAGS)
islocal_test_SOURCES = islocal.c
islocal_test_CPPFLAGS = -DMAIN_TEST_ISLOCAL $(AM_CPPFLAGS)
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/config/include-Makefile.am $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign login-utils/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign login-utils/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-binPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' `; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(bindir)" && rm -f $$files

clean-binPROGRAMS:
	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
install-sbinPROGRAMS: $(sbin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
	@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-sbinPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' `; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(sbindir)" && rm -f $$files

clean-sbinPROGRAMS:
	@list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
install-usrbin_execPROGRAMS: $(usrbin_exec_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(usrbin_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrbin_execdir)"
	@list='$(usrbin_exec_PROGRAMS)'; test -n "$(usrbin_execdir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(usrbin_execdir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(usrbin_execdir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-usrbin_execPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(usrbin_exec_PROGRAMS)'; test -n "$(usrbin_execdir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' `; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(usrbin_execdir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(usrbin_execdir)" && rm -f $$files

clean-usrbin_execPROGRAMS:
	@list='$(usrbin_exec_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
install-usrsbin_execPROGRAMS: $(usrsbin_exec_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(usrsbin_execdir)" || $(MKDIR_P) "$(DESTDIR)$(usrsbin_execdir)"
	@list='$(usrsbin_exec_PROGRAMS)'; test -n "$(usrsbin_execdir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(usrsbin_execdir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(usrsbin_execdir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-usrsbin_execPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(usrsbin_exec_PROGRAMS)'; test -n "$(usrsbin_execdir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' `; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(usrsbin_execdir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(usrsbin_execdir)" && rm -f $$files

clean-usrsbin_execPROGRAMS:
	@list='$(usrsbin_exec_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
agetty$(EXEEXT): $(agetty_OBJECTS) $(agetty_DEPENDENCIES) 
	@rm -f agetty$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(agetty_OBJECTS) $(agetty_LDADD) $(LIBS)
checktty_test$(EXEEXT): $(checktty_test_OBJECTS) $(checktty_test_DEPENDENCIES) 
	@rm -f checktty_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(checktty_test_OBJECTS) $(checktty_test_LDADD) $(LIBS)
chfn$(EXEEXT): $(chfn_OBJECTS) $(chfn_DEPENDENCIES) 
	@rm -f chfn$(EXEEXT)
	$(AM_V_CCLD)$(chfn_LINK) $(chfn_OBJECTS) $(chfn_LDADD) $(LIBS)
chsh$(EXEEXT): $(chsh_OBJECTS) $(chsh_DEPENDENCIES) 
	@rm -f chsh$(EXEEXT)
	$(AM_V_CCLD)$(chsh_LINK) $(chsh_OBJECTS) $(chsh_LDADD) $(LIBS)
initctl$(EXEEXT): $(initctl_OBJECTS) $(initctl_DEPENDENCIES) 
	@rm -f initctl$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(initctl_OBJECTS) $(initctl_LDADD) $(LIBS)
islocal_test$(EXEEXT): $(islocal_test_OBJECTS) $(islocal_test_DEPENDENCIES) 
	@rm -f islocal_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(islocal_test_OBJECTS) $(islocal_test_LDADD) $(LIBS)
last$(EXEEXT): $(last_OBJECTS) $(last_DEPENDENCIES) 
	@rm -f last$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(last_OBJECTS) $(last_LDADD) $(LIBS)
login$(EXEEXT): $(login_OBJECTS) $(login_DEPENDENCIES) 
	@rm -f login$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(login_OBJECTS) $(login_LDADD) $(LIBS)
mesg$(EXEEXT): $(mesg_OBJECTS) $(mesg_DEPENDENCIES) 
	@rm -f mesg$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mesg_OBJECTS) $(mesg_LDADD) $(LIBS)
newgrp$(EXEEXT): $(newgrp_OBJECTS) $(newgrp_DEPENDENCIES) 
	@rm -f newgrp$(EXEEXT)
	$(AM_V_CCLD)$(newgrp_LINK) $(newgrp_OBJECTS) $(newgrp_LDADD) $(LIBS)
shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) 
	@rm -f shutdown$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
simpleinit$(EXEEXT): $(simpleinit_OBJECTS) $(simpleinit_DEPENDENCIES) 
	@rm -f simpleinit$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(simpleinit_OBJECTS) $(simpleinit_LDADD) $(LIBS)
vipw$(EXEEXT): $(vipw_OBJECTS) $(vipw_DEPENDENCIES) 
	@rm -f vipw$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(vipw_OBJECTS) $(vipw_LDADD) $(LIBS)
wall$(EXEEXT): $(wall_OBJECTS) $(wall_DEPENDENCIES) 
	@rm -f wall$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(wall_OBJECTS) $(wall_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/agetty.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checktty.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checktty_test-checktty.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-chfn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-env.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-islocal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-selinux_utils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn-setpwnam.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-chsh.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-env.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-islocal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-selinux_utils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh-setpwnam.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/initctl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/islocal_test-islocal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/last.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mesg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp-newgrp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setproctitle.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shutdown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simpleinit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttymsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vipw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wall.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c $<

.c.obj:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<

checktty_test-checktty.o: checktty.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT checktty_test-checktty.o -MD -MP -MF $(DEPDIR)/checktty_test-checktty.Tpo -c -o checktty_test-checktty.o `test -f 'checktty.c' || echo '$(srcdir)/'`checktty.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/checktty_test-checktty.Tpo $(DEPDIR)/checktty_test-checktty.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='checktty.c' object='checktty_test-checktty.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o checktty_test-checktty.o `test -f 'checktty.c' || echo '$(srcdir)/'`checktty.c

checktty_test-checktty.obj: checktty.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT checktty_test-checktty.obj -MD -MP -MF $(DEPDIR)/checktty_test-checktty.Tpo -c -o checktty_test-checktty.obj `if test -f 'checktty.c'; then $(CYGPATH_W) 'checktty.c'; else $(CYGPATH_W) '$(srcdir)/checktty.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/checktty_test-checktty.Tpo $(DEPDIR)/checktty_test-checktty.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='checktty.c' object='checktty_test-checktty.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(checktty_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o checktty_test-checktty.obj `if test -f 'checktty.c'; then $(CYGPATH_W) 'checktty.c'; else $(CYGPATH_W) '$(srcdir)/checktty.c'; fi`

chfn-chfn.o: chfn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-chfn.o -MD -MP -MF $(DEPDIR)/chfn-chfn.Tpo -c -o chfn-chfn.o `test -f 'chfn.c' || echo '$(srcdir)/'`chfn.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-chfn.Tpo $(DEPDIR)/chfn-chfn.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='chfn.c' object='chfn-chfn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-chfn.o `test -f 'chfn.c' || echo '$(srcdir)/'`chfn.c

chfn-chfn.obj: chfn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-chfn.obj -MD -MP -MF $(DEPDIR)/chfn-chfn.Tpo -c -o chfn-chfn.obj `if test -f 'chfn.c'; then $(CYGPATH_W) 'chfn.c'; else $(CYGPATH_W) '$(srcdir)/chfn.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-chfn.Tpo $(DEPDIR)/chfn-chfn.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='chfn.c' object='chfn-chfn.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-chfn.obj `if test -f 'chfn.c'; then $(CYGPATH_W) 'chfn.c'; else $(CYGPATH_W) '$(srcdir)/chfn.c'; fi`

chfn-islocal.o: islocal.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-islocal.o -MD -MP -MF $(DEPDIR)/chfn-islocal.Tpo -c -o chfn-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-islocal.Tpo $(DEPDIR)/chfn-islocal.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='islocal.c' object='chfn-islocal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c

chfn-islocal.obj: islocal.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-islocal.obj -MD -MP -MF $(DEPDIR)/chfn-islocal.Tpo -c -o chfn-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-islocal.Tpo $(DEPDIR)/chfn-islocal.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='islocal.c' object='chfn-islocal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`

chfn-setpwnam.o: setpwnam.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-setpwnam.o -MD -MP -MF $(DEPDIR)/chfn-setpwnam.Tpo -c -o chfn-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-setpwnam.Tpo $(DEPDIR)/chfn-setpwnam.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='setpwnam.c' object='chfn-setpwnam.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c

chfn-setpwnam.obj: setpwnam.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-setpwnam.obj -MD -MP -MF $(DEPDIR)/chfn-setpwnam.Tpo -c -o chfn-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-setpwnam.Tpo $(DEPDIR)/chfn-setpwnam.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='setpwnam.c' object='chfn-setpwnam.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`

chfn-env.o: ../lib/env.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-env.o -MD -MP -MF $(DEPDIR)/chfn-env.Tpo -c -o chfn-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-env.Tpo $(DEPDIR)/chfn-env.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../lib/env.c' object='chfn-env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c

chfn-env.obj: ../lib/env.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-env.obj -MD -MP -MF $(DEPDIR)/chfn-env.Tpo -c -o chfn-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-env.Tpo $(DEPDIR)/chfn-env.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../lib/env.c' object='chfn-env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`

chfn-selinux_utils.o: selinux_utils.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-selinux_utils.o -MD -MP -MF $(DEPDIR)/chfn-selinux_utils.Tpo -c -o chfn-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-selinux_utils.Tpo $(DEPDIR)/chfn-selinux_utils.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='selinux_utils.c' object='chfn-selinux_utils.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c

chfn-selinux_utils.obj: selinux_utils.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -MT chfn-selinux_utils.obj -MD -MP -MF $(DEPDIR)/chfn-selinux_utils.Tpo -c -o chfn-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chfn-selinux_utils.Tpo $(DEPDIR)/chfn-selinux_utils.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='selinux_utils.c' object='chfn-selinux_utils.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chfn_CFLAGS) $(CFLAGS) -c -o chfn-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`

chsh-chsh.o: chsh.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-chsh.o -MD -MP -MF $(DEPDIR)/chsh-chsh.Tpo -c -o chsh-chsh.o `test -f 'chsh.c' || echo '$(srcdir)/'`chsh.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-chsh.Tpo $(DEPDIR)/chsh-chsh.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='chsh.c' object='chsh-chsh.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-chsh.o `test -f 'chsh.c' || echo '$(srcdir)/'`chsh.c

chsh-chsh.obj: chsh.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-chsh.obj -MD -MP -MF $(DEPDIR)/chsh-chsh.Tpo -c -o chsh-chsh.obj `if test -f 'chsh.c'; then $(CYGPATH_W) 'chsh.c'; else $(CYGPATH_W) '$(srcdir)/chsh.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-chsh.Tpo $(DEPDIR)/chsh-chsh.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='chsh.c' object='chsh-chsh.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-chsh.obj `if test -f 'chsh.c'; then $(CYGPATH_W) 'chsh.c'; else $(CYGPATH_W) '$(srcdir)/chsh.c'; fi`

chsh-islocal.o: islocal.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-islocal.o -MD -MP -MF $(DEPDIR)/chsh-islocal.Tpo -c -o chsh-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-islocal.Tpo $(DEPDIR)/chsh-islocal.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='islocal.c' object='chsh-islocal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c

chsh-islocal.obj: islocal.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-islocal.obj -MD -MP -MF $(DEPDIR)/chsh-islocal.Tpo -c -o chsh-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-islocal.Tpo $(DEPDIR)/chsh-islocal.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='islocal.c' object='chsh-islocal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`

chsh-setpwnam.o: setpwnam.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-setpwnam.o -MD -MP -MF $(DEPDIR)/chsh-setpwnam.Tpo -c -o chsh-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-setpwnam.Tpo $(DEPDIR)/chsh-setpwnam.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='setpwnam.c' object='chsh-setpwnam.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-setpwnam.o `test -f 'setpwnam.c' || echo '$(srcdir)/'`setpwnam.c

chsh-setpwnam.obj: setpwnam.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-setpwnam.obj -MD -MP -MF $(DEPDIR)/chsh-setpwnam.Tpo -c -o chsh-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-setpwnam.Tpo $(DEPDIR)/chsh-setpwnam.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='setpwnam.c' object='chsh-setpwnam.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-setpwnam.obj `if test -f 'setpwnam.c'; then $(CYGPATH_W) 'setpwnam.c'; else $(CYGPATH_W) '$(srcdir)/setpwnam.c'; fi`

chsh-env.o: ../lib/env.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-env.o -MD -MP -MF $(DEPDIR)/chsh-env.Tpo -c -o chsh-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-env.Tpo $(DEPDIR)/chsh-env.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../lib/env.c' object='chsh-env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-env.o `test -f '../lib/env.c' || echo '$(srcdir)/'`../lib/env.c

chsh-env.obj: ../lib/env.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-env.obj -MD -MP -MF $(DEPDIR)/chsh-env.Tpo -c -o chsh-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-env.Tpo $(DEPDIR)/chsh-env.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../lib/env.c' object='chsh-env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-env.obj `if test -f '../lib/env.c'; then $(CYGPATH_W) '../lib/env.c'; else $(CYGPATH_W) '$(srcdir)/../lib/env.c'; fi`

chsh-selinux_utils.o: selinux_utils.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-selinux_utils.o -MD -MP -MF $(DEPDIR)/chsh-selinux_utils.Tpo -c -o chsh-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-selinux_utils.Tpo $(DEPDIR)/chsh-selinux_utils.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='selinux_utils.c' object='chsh-selinux_utils.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-selinux_utils.o `test -f 'selinux_utils.c' || echo '$(srcdir)/'`selinux_utils.c

chsh-selinux_utils.obj: selinux_utils.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -MT chsh-selinux_utils.obj -MD -MP -MF $(DEPDIR)/chsh-selinux_utils.Tpo -c -o chsh-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/chsh-selinux_utils.Tpo $(DEPDIR)/chsh-selinux_utils.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='selinux_utils.c' object='chsh-selinux_utils.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(chsh_CFLAGS) $(CFLAGS) -c -o chsh-selinux_utils.obj `if test -f 'selinux_utils.c'; then $(CYGPATH_W) 'selinux_utils.c'; else $(CYGPATH_W) '$(srcdir)/selinux_utils.c'; fi`

islocal_test-islocal.o: islocal.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT islocal_test-islocal.o -MD -MP -MF $(DEPDIR)/islocal_test-islocal.Tpo -c -o islocal_test-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/islocal_test-islocal.Tpo $(DEPDIR)/islocal_test-islocal.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='islocal.c' object='islocal_test-islocal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o islocal_test-islocal.o `test -f 'islocal.c' || echo '$(srcdir)/'`islocal.c

islocal_test-islocal.obj: islocal.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT islocal_test-islocal.obj -MD -MP -MF $(DEPDIR)/islocal_test-islocal.Tpo -c -o islocal_test-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/islocal_test-islocal.Tpo $(DEPDIR)/islocal_test-islocal.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='islocal.c' object='islocal_test-islocal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(islocal_test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o islocal_test-islocal.obj `if test -f 'islocal.c'; then $(CYGPATH_W) 'islocal.c'; else $(CYGPATH_W) '$(srcdir)/islocal.c'; fi`

setproctitle.o: ../lib/setproctitle.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.o -MD -MP -MF $(DEPDIR)/setproctitle.Tpo -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/setproctitle.Tpo $(DEPDIR)/setproctitle.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../lib/setproctitle.c' object='setproctitle.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o setproctitle.o `test -f '../lib/setproctitle.c' || echo '$(srcdir)/'`../lib/setproctitle.c

setproctitle.obj: ../lib/setproctitle.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT setproctitle.obj -MD -MP -MF $(DEPDIR)/setproctitle.Tpo -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/setproctitle.Tpo $(DEPDIR)/setproctitle.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../lib/setproctitle.c' object='setproctitle.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o setproctitle.obj `if test -f '../lib/setproctitle.c'; then $(CYGPATH_W) '../lib/setproctitle.c'; else $(CYGPATH_W) '$(srcdir)/../lib/setproctitle.c'; fi`

newgrp-newgrp.o: newgrp.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -MT newgrp-newgrp.o -MD -MP -MF $(DEPDIR)/newgrp-newgrp.Tpo -c -o newgrp-newgrp.o `test -f 'newgrp.c' || echo '$(srcdir)/'`newgrp.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/newgrp-newgrp.Tpo $(DEPDIR)/newgrp-newgrp.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='newgrp.c' object='newgrp-newgrp.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -c -o newgrp-newgrp.o `test -f 'newgrp.c' || echo '$(srcdir)/'`newgrp.c

newgrp-newgrp.obj: newgrp.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -MT newgrp-newgrp.obj -MD -MP -MF $(DEPDIR)/newgrp-newgrp.Tpo -c -o newgrp-newgrp.obj `if test -f 'newgrp.c'; then $(CYGPATH_W) 'newgrp.c'; else $(CYGPATH_W) '$(srcdir)/newgrp.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/newgrp-newgrp.Tpo $(DEPDIR)/newgrp-newgrp.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='newgrp.c' object='newgrp-newgrp.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(newgrp_CFLAGS) $(CFLAGS) -c -o newgrp-newgrp.obj `if test -f 'newgrp.c'; then $(CYGPATH_W) 'newgrp.c'; else $(CYGPATH_W) '$(srcdir)/newgrp.c'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
install-man1: $(dist_man_MANS)
	@$(NORMAL_INSTALL)
	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
	@list=''; test -n "$(man1dir)" || exit 0; \
	{ for i in $$list; do echo "$$i"; done; \
	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
	  sed -n '/\.1[a-z]*$$/p'; \
	} | while read p; do \
	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; echo "$$p"; \
	done | \
	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
	sed 'N;N;s,\n, ,g' | { \
	list=; while read file base inst; do \
	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
	  fi; \
	done; \
	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
	while read files; do \
	  test -z "$$files" || { \
	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
	done; }

uninstall-man1:
	@$(NORMAL_UNINSTALL)
	@list=''; test -n "$(man1dir)" || exit 0; \
	files=`{ for i in $$list; do echo "$$i"; done; \
	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
	  sed -n '/\.1[a-z]*$$/p'; \
	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
	test -z "$$files" || { \
	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
install-man8: $(dist_man_MANS)
	@$(NORMAL_INSTALL)
	test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
	@list=''; test -n "$(man8dir)" || exit 0; \
	{ for i in $$list; do echo "$$i"; done; \
	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
	  sed -n '/\.8[a-z]*$$/p'; \
	} | while read p; do \
	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; echo "$$p"; \
	done | \
	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
	sed 'N;N;s,\n, ,g' | { \
	list=; while read file base inst; do \
	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
	  fi; \
	done; \
	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
	while read files; do \
	  test -z "$$files" || { \
	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
	done; }

uninstall-man8:
	@$(NORMAL_UNINSTALL)
	@list=''; test -n "$(man8dir)" || exit 0; \
	files=`{ for i in $$list; do echo "$$i"; done; \
	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
	  sed -n '/\.8[a-z]*$$/p'; \
	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
	test -z "$$files" || { \
	  echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
	  cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	@list='$(MANS)'; if test -n "$$list"; then \
	  list=`for p in $$list; do \
	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
	  if test -n "$$list" && \
	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
	    exit 1; \
	  else :; fi; \
	else :; fi
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(MANS) $(DATA)
installdirs:
	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(usrbin_execdir)" "$(DESTDIR)$(usrsbin_execdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
@BUILD_INIT_FALSE@@BUILD_LOGIN_UTILS_FALSE@@BUILD_WALL_FALSE@install-exec-hook:
@BUILD_INIT_FALSE@@BUILD_LOGIN_UTILS_FALSE@@MAKEINSTALL_DO_CHOWN_FALSE@install-exec-hook:
@BUILD_INIT_FALSE@@BUILD_LOGIN_UTILS_FALSE@@USE_TTY_GROUP_FALSE@install-exec-hook:
@BUILD_INIT_FALSE@install-data-hook:
clean: clean-am

clean-am: clean-binPROGRAMS clean-generic clean-libtool \
	clean-noinstPROGRAMS clean-sbinPROGRAMS \
	clean-usrbin_execPROGRAMS clean-usrsbin_execPROGRAMS \
	mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-man
	@$(NORMAL_INSTALL)
	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-binPROGRAMS install-sbinPROGRAMS \
	install-usrbin_execPROGRAMS install-usrsbin_execPROGRAMS
	@$(NORMAL_INSTALL)
	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man: install-man1 install-man8

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-binPROGRAMS uninstall-man \
	uninstall-sbinPROGRAMS uninstall-usrbin_execPROGRAMS \
	uninstall-usrsbin_execPROGRAMS

uninstall-man: uninstall-man1 uninstall-man8

.MAKE: install-am install-data-am install-exec-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
	clean-generic clean-libtool clean-noinstPROGRAMS \
	clean-sbinPROGRAMS clean-usrbin_execPROGRAMS \
	clean-usrsbin_execPROGRAMS ctags distclean distclean-compile \
	distclean-generic distclean-libtool distclean-tags distdir dvi \
	dvi-am html html-am info info-am install install-am \
	install-binPROGRAMS install-data install-data-am \
	install-data-hook install-dvi install-dvi-am install-exec \
	install-exec-am install-exec-hook install-html install-html-am \
	install-info install-info-am install-man install-man1 \
	install-man8 install-pdf install-pdf-am install-ps \
	install-ps-am install-sbinPROGRAMS install-strip \
	install-usrbin_execPROGRAMS install-usrsbin_execPROGRAMS \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags uninstall uninstall-am uninstall-binPROGRAMS \
	uninstall-man uninstall-man1 uninstall-man8 \
	uninstall-sbinPROGRAMS uninstall-usrbin_execPROGRAMS \
	uninstall-usrsbin_execPROGRAMS


$(ul_libblkid_la):
	$(MAKE) -C $(ul_libblkid_builddir)

$(ul_libuuid_la):
	$(MAKE) -C $(ul_libuuid_builddir)

@BUILD_LOGIN_UTILS_TRUE@install-exec-hook::
@BUILD_LOGIN_UTILS_TRUE@	cd $(DESTDIR)$(usrsbin_execdir) && ln -sf vipw vigr

@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@install-exec-hook::
@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@	chgrp tty $(DESTDIR)$(usrbin_execdir)/wall
@BUILD_WALL_TRUE@@MAKEINSTALL_DO_CHOWN_TRUE@@USE_TTY_GROUP_TRUE@	chmod g+s $(DESTDIR)$(usrbin_execdir)/wall

@BUILD_INIT_TRUE@install-exec-hook::
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf shutdown reboot
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf shutdown fastboot
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf shutdown halt
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf shutdown fasthalt
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf initctl need
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf initctl display-services
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(sbindir) && ln -sf initctl provide

@BUILD_INIT_TRUE@install-data-hook:
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 need.8
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 display-services.8
@BUILD_INIT_TRUE@	cd $(DESTDIR)$(mandir)/man8 && ln -sf initctl.8 provide.8

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
