update control to reflect move of primary repo to collab-maint
[debian/sudo] / Makefile.in
index 5919cc322db80ca256c080d32528d10438f19071..1fbed4cd05b14762342247ca399ae6079ea2cb35 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 1998-2007 Todd C. Miller <Todd.Miller@courtesan.com>
+# Copyright (c) 2010-2011 Todd C. Miller <Todd.Miller@courtesan.com>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
-# Sponsored in part by the Defense Advanced Research Projects
-# Agency (DARPA) and Air Force Research Laboratory, Air Force
-# Materiel Command, USAF, under agreement number F39502-99-1-0512.
-#
-# @configure_input@
-#
-# $Sudo: Makefile.in,v 1.246.2.18 2007/11/02 19:15:16 millert Exp $
-#
-
-#### Start of system configuration section. ####
 
 srcdir = @srcdir@
-authdir = $(srcdir)/auth
-top_builddir = .
-VPATH = @srcdir@
-
-# Compiler & tools to use
-CC = @CC@
-LEX = flex
-YACC = @YACC@
-NROFF = nroff
-LIBTOOL = @LIBTOOL@
-
-# Our install program supports extra flags...
-INSTALL = $(SHELL) $(srcdir)/install-sh -c
-
-# Libraries
-LIBS = @LIBS@
-NET_LIBS = @NET_LIBS@
-SUDO_LIBS = @SUDO_LIBS@ @AFS_LIBS@ $(LIBS) $(NET_LIBS)
-
-# C preprocessor flags
-CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
-
-# Usually -O and/or -g
-CFLAGS = @CFLAGS@
+devdir = @devdir@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
 
-# Flags to pass to the link stage
-LDFLAGS = @LDFLAGS@
-SUDO_LDFLAGS = @SUDO_LDFLAGS@ $(LDFLAGS)
-
-# Where to install things...
+# Installation paths for package building
 prefix = @prefix@
 exec_prefix = @exec_prefix@
 bindir = @bindir@
 sbindir = @sbindir@
 sysconfdir = @sysconfdir@
-mandir = @mandir@
-noexecdir = @NOEXECDIR@
+libexecdir = @libexecdir@
+includedir = @includedir@
 datarootdir = @datarootdir@
-
-# Directory in which to install sudo.
-sudodir = $(bindir)
-
-# Directory in which to install visudo
-visudodir = $(sbindir)
-
-# Directory in which to install the sudoers file
-sudoersdir = $(sysconfdir)
-
-# Directory in which to install the man page
-mantype = @MANTYPE@
-mansectsu = @mansectsu@
-mansectform = @mansectform@
-mandirsu = $(mandir)/$(mantype)$(mansectsu)
-mandirform = $(mandir)/$(mantype)$(mansectform)
+localedir = @localedir@
+localstatedir = @localstatedir@
+docdir = @docdir@
+mandir = @mandir@
+timedir = @timedir@
 
 # User and group ids the installed files should be "owned" by
 install_uid = 0
 install_gid = 0
 
-# User, group, and mode the sudoers file should be "owned" by (configure)
+# sudoers owner and mode for package building
+sudoersdir = $(sysconfdir)
 sudoers_uid = @SUDOERS_UID@
 sudoers_gid = @SUDOERS_GID@
 sudoers_mode = @SUDOERS_MODE@
 
-# Pass in paths and uid/gid + OS dependent defined
-DEFS = @OSDEFS@ -D_PATH_SUDOERS=\"$(sudoersdir)/sudoers\" -D_PATH_SUDOERS_TMP=\"$(sudoersdir)/sudoers.tmp\" -DSUDOERS_UID=$(sudoers_uid) -DSUDOERS_GID=$(sudoers_gid) -DSUDOERS_MODE=$(sudoers_mode)
-
-#### End of system configuration section. ####
-
-SHELL = /bin/sh
-
-PROGS = @PROGS@
-
-SRCS = alloc.c alloca.c check.c closefrom.c def_data.c defaults.c env.c err.c \
-       fileops.c find_path.c fnmatch.c getcwd.c getprogname.c getspwuid.c \
-       gettime.c glob.c goodpath.c interfaces.c ldap.c lex.yy.c lsearch.c \
-       logging.c memrchr.c mkstemp.c parse.c parse.lex parse.yacc set_perms.c \
-       sigaction.c snprintf.c strcasecmp.c strerror.c strlcat.c strlcpy.c \
-       sudo.c sudo_noexec.c sudo.tab.c sudo_edit.c testsudoers.c tgetpass.c \
-       utimes.c visudo.c zero_bytes.c $(AUTH_SRCS)
-
-AUTH_SRCS = auth/afs.c auth/aix_auth.c auth/bsdauth.c auth/dce.c auth/fwtk.c \
-           auth/kerb4.c auth/kerb5.c auth/pam.c auth/passwd.c auth/rfc1938.c \
-           auth/secureware.c auth/securid.c auth/securid5.c auth/sia.c \
-           auth/sudo_auth.c
-
-HDRS = compat.h def_data.h defaults.h ins_2001.h ins_classic.h ins_csops.h \
-       ins_goons.h insults.h interfaces.h logging.h parse.h sudo.h sudo.tab.h \
-       version.h auth/sudo_auth.h emul/err.h emul/fnmatch.h emul/search.h \
-       emul/utime.h emul/glob.h emul/timespec.h
-
-AUTH_OBJS = sudo_auth.o @AUTH_OBJS@
-
-PARSEOBJS = sudo.tab.o lex.yy.o alloc.o defaults.o
-
-SUDOBJS = check.o env.o getspwuid.o gettime.o goodpath.o fileops.o find_path.o \
-         interfaces.o logging.o parse.o set_perms.o sudo.o sudo_edit.o \
-         tgetpass.o zero_bytes.o @SUDO_OBJS@ $(AUTH_OBJS) $(PARSEOBJS)
-
-VISUDOBJS = visudo.o fileops.o gettime.o goodpath.o find_path.o $(PARSEOBJS)
-
-TESTOBJS = interfaces.o testsudoers.o $(PARSEOBJS)
-
-LIBOBJS = @LIBOBJS@ @ALLOCA@
-
-VERSION = 1.6.9p8
-
-DISTFILES = $(SRCS) $(HDRS) BUGS CHANGES HISTORY INSTALL INSTALL.configure \
-            LICENSE Makefile.in PORTING README README.LDAP \
-            TROUBLESHOOTING UPGRADE aclocal.m4 acsite.m4 aixcrypt.exp \
-            config.guess config.h.in config.sub configure configure.in \
-            def_data.in fnmatch.3 indent.pro install-sh ltmain.sh \
-            mkdefaults mkinstalldirs pathnames.h.in sample.pam \
-            sample.syslog.conf sample.sudoers schema.OpenLDAP \
-            schema.iPlanet sudo.cat sudo.man.in sudo.pod sudoers \
-            sudoers.cat sudoers.man.in sudoers.pod sudoers2ldif \
-            visudo.cat visudo.man.in visudo.pod auth/API
-
-BINFILES= BUGS CHANGES HISTORY LICENSE README TROUBLESHOOTING \
-         UPGRADE install-sh mkinstalldirs sample.syslog.conf sample.sudoers \
-         sudo sudo.cat sudo.man sudo.pod sudoers sudoers.cat sudoers.man \
-         sudoers.pod visudo visudo.cat visudo.man visudo.pod
-
-BINSPECIAL= INSTALL.binary Makefile.binary libtool
-
-SUDODEP = $(srcdir)/sudo.h $(srcdir)/compat.h $(srcdir)/defaults.h \
-         $(srcdir)/logging.h config.h def_data.h pathnames.h
-
-AUTHDEP = $(SUDODEP) $(authdir)/sudo_auth.h
-
-INSDEP = $(srcdir)/ins_2001.h $(srcdir)/ins_classic.h $(srcdir)/ins_csops.h \
-        $(srcdir)/ins_goons.h $(srcdir)/insults.h
-
-all: $(PROGS)
-
-.SUFFIXES: .o .c .h .lex .yacc .man .cat .lo
-
-.c.o:
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
-
-.c.lo:
-       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $<
-
-.man.cat:
-       @rm -f $(srcdir)/$@
-       $(NROFF) -man $< > $(srcdir)/$@
-
-sudo: $(SUDOBJS) $(LIBOBJS)
-       $(CC) -o $@ $(SUDOBJS) $(LIBOBJS) $(SUDO_LDFLAGS) $(SUDO_LIBS)
-
-visudo: $(VISUDOBJS) $(LIBOBJS)
-       $(CC) -o $@ $(VISUDOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
-
-testsudoers: $(TESTOBJS) $(LIBOBJS)
-       $(CC) -o $@ $(TESTOBJS) $(LIBOBJS) $(LDFLAGS) $(LIBS) $(NET_LIBS)
-
-sudo_noexec.lo: $(srcdir)/sudo_noexec.c
-       $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(srcdir)/sudo_noexec.c
-
-sudo_noexec.la: sudo_noexec.lo
-       $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ sudo_noexec.lo -avoid-version -rpath $(noexecdir)
-
-# Uncomment the following if you want "make distclean" to clean the parser
-@DEV@PARSESRCS = sudo.tab.h sudo.tab.c lex.yy.c def_data.c def_data.h
-
-# Uncomment the following if you intend to modify parse.yacc
-sudo.tab.c sudo.tab.h: parse.yacc
-       rm -f sudo.tab.h sudo.tab.c
-       $(YACC) -d -b sudo $(srcdir)/parse.yacc
-
-# Uncomment the following if you intend to modify parse.lex
-@DEV@lex.yy.c: parse.lex
-@DEV@  rm -f lex.yy.c
-@DEV@  $(LEX) $(srcdir)/parse.lex
-
-# Uncomment the following if you intend to modify def_data.in
-@DEV@def_data.h def_data.c: def_data.in
-@DEV@  perl $(srcdir)/mkdefaults -o def_data $(srcdir)/def_data.in
-
-# Dependencies (not counting auth functions)
-alloc.o: alloc.c $(SUDODEP)
-check.o: check.c $(SUDODEP)
-closefrom.o: closefrom.c config.h
-env.o: env.c $(SUDODEP)
-err.o: err.c config.h compat.h emul/err.h
-fileops.o: fileops.c $(SUDODEP)
-find_path.o: find_path.c $(SUDODEP)
-getprogname.o: getprogname.c config.h
-getspwuid.o: getspwuid.c $(SUDODEP)
-goodpath.o: goodpath.c $(SUDODEP)
-logging.o: logging.c $(SUDODEP)
-set_perms.o: set_perms.c $(SUDODEP)
-tgetpass.o: tgetpass.c $(SUDODEP)
-visudo.o: visudo.c $(SUDODEP) version.h
-sudo.o: sudo.c $(SUDODEP) interfaces.h version.h
-interfaces.o: interfaces.c $(SUDODEP) interfaces.h
-testsudoers.o: testsudoers.c $(SUDODEP) parse.h interfaces.h
-parse.o: parse.c $(SUDODEP) parse.h interfaces.h
-lex.yy.o: lex.yy.c $(SUDODEP) parse.h sudo.tab.h
-sudo.tab.o: sudo.tab.c $(SUDODEP) parse.h sudo.tab.c sudo.tab.h
-defaults.o: defaults.c $(SUDODEP) def_data.c auth/sudo_auth.h
-fnmatch.o: fnmatch.c config.h compat.h emul/fnmatch.h
-getcwd.o: getcwd.c config.h compat.h
-glob.o: glob.c config.h compat.h emul/glob.h
-lsearch.o: lsearch.c config.h compat.h emul/search.h
-memrchr.o: memrchr.c config.h compat.h
-mkstemp.o: mkstemp.c config.h compat.h
-snprintf.o: snprintf.c config.h compat.h
-strcasecmp.o: strcasecmp.c config.h
-strlcat.o: strlcat.c config.h
-strlcpy.o: strlcpy.c config.h
-strerror.o: strerror.c config.h
-utime.o: utime.c config.h pathnames.h compat.h emul/utime.h
-ldap.o: ldap.c $(SUDODEP) parse.h
-sudo_edit.o: sudo_edit.c $(SUDODEP)
-
-# Authentication functions live in "auth" dir and so need extra care
-sudo_auth.o: $(authdir)/sudo_auth.c $(AUTHDEP) $(INSDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sudo_auth.c
-afs.o: $(authdir)/afs.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/afs.c
-aix_auth.o: $(authdir)/aix_auth.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/aix_auth.c
-bsdauth.o: $(authdir)/bsdauth.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/bsdauth.c
-dce.o: $(authdir)/dce.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/dce.c
-fwtk.o: $(authdir)/fwtk.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/fwtk.c
-kerb4.o: $(authdir)/kerb4.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/kerb4.c
-kerb5.o: $(authdir)/kerb5.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/kerb5.c
-pam.o: $(authdir)/pam.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/pam.c
-passwd.o: $(authdir)/passwd.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/passwd.c
-rfc1938.o: $(authdir)/rfc1938.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/rfc1938.c
-secureware.o: $(authdir)/secureware.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/secureware.c
-securid.o: $(authdir)/securid.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/securid.c
-securid5.o: $(authdir)/securid5.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/securid5.c
-sia.o: $(authdir)/sia.c $(AUTHDEP)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(OPTIONS) $(authdir)/sia.c
-
-sudo.man.in: $(srcdir)/sudo.pod
-       @rm -f $(srcdir)/$@
-       ( cd $(srcdir); mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e 1d -e '/^=pod/q' -e 's/^/.\\" /p' sudo.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" sudo.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" >> $@ )
-
-sudo.man: sudo.man.in
-       CONFIG_FILES=$@ CONFIG_HEADERS= sh ./config.status
-
-sudo.cat: sudo.man
-
-visudo.man.in: $(srcdir)/visudo.pod
-       @rm -f $(srcdir)/$@
-       ( cd $(srcdir); mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e 1d -e '/^=pod/q' -e 's/^/.\\" /p' visudo.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectsu --release=$(VERSION) --center="MAINTENANCE COMMANDS" visudo.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" >> $@ )
-
-visudo.man: visudo.man.in
-       CONFIG_FILES=$@ CONFIG_HEADERS= sh ./config.status
-
-visudo.cat: visudo.man
-
-sudoers.man.in: $(srcdir)/sudoers.pod
-       @rm -f $(srcdir)/$@
-       ( cd $(srcdir); mansectsu=`echo @MANSECTSU@|tr A-Z a-z`; mansectform=`echo @MANSECTFORM@|tr A-Z a-z`; sed -n -e 1d -e '/^=pod/q' -e 's/^/.\\" /p' sudoers.pod > $@; pod2man --quotes=none --date="`date '+%B %e, %Y'`" --section=$$mansectform --release=$(VERSION) --center="MAINTENANCE COMMANDS" sudoers.pod | sed -e "s/(5)/($$mansectform)/" -e "s/(8)/($$mansectsu)/" >> $@ )
-
-sudoers.man:: sudoers.man.in
-       CONFIG_FILES=$@ CONFIG_HEADERS= sh ./config.status
-
-sudoers.cat: sudoers.man
-
-install: install-dirs install-binaries @INSTALL_NOEXEC@ install-sudoers install-man
-
-install-dirs:
-       $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(sudodir) \
-           $(DESTDIR)$(visudodir) $(DESTDIR)$(sudoersdir) \
-           $(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform) \
-           $(DESTDIR)$(noexecdir)
-
-install-binaries: $(PROGS)
-       $(INSTALL) -O $(install_uid) -G $(install_gid) -M 4111 -s sudo $(DESTDIR)$(sudodir)/sudo
-       rm -f $(DESTDIR)$(sudodir)/sudoedit
-       ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit
-
-       $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0111 -s visudo $(DESTDIR)$(visudodir)/visudo
-
-install-noexec: sudo_noexec.la
-       $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la $(DESTDIR)$(noexecdir)
-
-bininst-noexec: sudo_noexec.la
-       $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la $(DESTDIR)$(noexecdir)
-
-install-sudoers:
-       test -f $(DESTDIR)$(sudoersdir)/sudoers || \
-           $(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -M $(sudoers_mode) \
-               $(srcdir)/sudoers $(DESTDIR)$(sudoersdir)/sudoers
-
-install-man: sudo.$(mantype) visudo.$(mantype) sudoers.$(mantype)
-       $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
-       @rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
-       ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
-       $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
-       $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
-@MAN_POSTINSTALL@
-
-check:
-       @echo nothing to check
-
-tags: $(SRCS)
-       ctags $(SRCS)
-
-TAGS: $(SRCS)
-       etags $(SRCS)
-
-clean:
-       -rm -f *.o $(PROGS) testsudoers core sudo.core visudo.core \
-              testsudoers.core
+SUBDIRS = compat common @ZLIB_SRC@ plugins/sudoers src include doc
+
+SAMPLES = plugins/sample plugins/sample_group plugins/system_group
+
+VERSION = @PACKAGE_VERSION@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+
+SHELL = @SHELL@
+
+INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
+
+ECHO_N = @ECHO_N@
+ECHO_C = @ECHO_C@
+
+# Message catalog support
+NLS = @SUDO_NLS@
+POTFILES = src/po/sudo.pot plugins/sudoers/po/sudoers.pot
+MSGFMT = msgfmt
+MSGMERGE = msgmerge
+XGETTEXT = xgettext
+XGETTEXT_OPTS = -F -k_ -kN_ --copyright-holder="Todd C. Miller" \
+               "--msgid-bugs-address=http://www.sudo.ws/bugs" \
+               --package-name=@PACKAGE_NAME@ --package-version=$(VERSION) \
+               --flag warning:1:c-format --flag warningx:1:c-format \
+               --flag error:2:c-format --flag errorx:2:c-format \
+               --flag easprintf:3:c-format --flag lbuf_append:2:c-format \
+               --flag lbuf_append_quoted:3:c-format --foreign-user
+
+all: config.status
+       for d in $(SUBDIRS) $(SAMPLES); \
+           do (cd $$d && exec $(MAKE) $@) && continue; \
+           exit $$?; \
+       done
+
+check pre-install: config.status
+       for d in $(SUBDIRS); \
+           do (cd $$d && exec $(MAKE) $@) && continue; \
+           exit $$?; \
+       done
+
+install-dirs install-binaries install-includes install-plugin: config.status pre-install
+       for d in $(SUBDIRS); \
+           do (cd $$d && exec $(MAKE) $@) && continue; \
+           exit $$?; \
+       done
+
+install-doc: config.status ChangeLog
+       for d in $(SUBDIRS); \
+           do (cd $$d && exec $(MAKE) $@) && continue; \
+           exit $$?; \
+       done
+
+install: config.status ChangeLog pre-install install-nls
+       for d in $(SUBDIRS); \
+           do (cd $$d && exec $(MAKE) $@) && continue; \
+           exit $$?; \
+       done
+
+uninstall: uninstall-nls
+       for d in $(SUBDIRS); \
+           do (cd $$d && exec $(MAKE) $@) && continue; \
+           exit $$?; \
+       done
+
+uninstall-nls:
+       for pot in $(POTFILES); do \
+           domain=`basename $$pot .pot`; \
+           rm -f $(DESTDIR)$(localedir)/*/LC_MESSAGES/$$domain.mo; \
+       done
+
+autoconf:
+       autoconf -I m4
+
+siglist.c:
+       (cd compat && exec $(MAKE) $@)
+
+depend: siglist.c
+       @if test "$(srcdir)" != "."; then \
+           echo "make depend only supported in the source directory"; \
+           exit 1; \
+       fi; \
+       $(srcdir)/mkdep.pl $(srcdir)/common/Makefile.in \
+           $(srcdir)/compat/Makefile.in $(srcdir)/plugins/sample/Makefile.in \
+           $(srcdir)/plugins/sample_group/Makefile.in \
+           $(srcdir)/plugins/sudoers/Makefile.in \
+           $(srcdir)/plugins/system_group/Makefile.in \
+           $(srcdir)/src/Makefile.in $(srcdir)/zlib/Makefile.in; \
+       ./config.status --file $(srcdir)/common/Makefile \
+           --file $(srcdir)/compat/Makefile \
+           --file $(srcdir)/plugins/sample/Makefile \
+           --file $(srcdir)/plugins/sample_group/Makefile \
+           --file $(srcdir)/plugins/sudoers/Makefile \
+           --file $(srcdir)/plugins/system_group/Makefile \
+           --file $(srcdir)/src/Makefile --file $(srcdir)/zlib/Makefile
+
+ChangeLog:
+       if test -d $(srcdir)/.hg && cd $(srcdir); then \
+           if hg log --style=changelog -b default > $@.tmp; then \
+               mv -f $@.tmp $@; \
+           else \
+               rm -f $@.tmp; \
+           fi; \
+       fi
+
+config.status:
+       @if [ ! -s config.status ]; then \
+               echo "Please run configure first"; \
+               exit 1; \
+       fi
+
+libtool: $(LIBTOOL_DEPS)
+       $(SHELL) ./config.status --recheck
+
+Makefile: $(srcdir)/Makefile.in
+       ./config.status --file Makefile
+
+sync-po: rsync-po compile-po
+
+rsync-po:
+       rsync -Lrtvz  translationproject.org::tp/latest/sudo/ src/po/
+       rsync -Lrtvz  translationproject.org::tp/latest/sudoers/ plugins/sudoers/po/
+
+update-pot:
+       @if $(XGETTEXT) --help >/dev/null 2>&1; then \
+           cd $(top_srcdir); \
+           for pot in $(POTFILES); do \
+               echo "Updating $$pot"; \
+               domain=`basename $$pot .pot`; \
+               case "$$domain" in \
+                   sudo) cfiles="src/*c common/*c compat/*c";; \
+                   sudoers) cfiles="plugins/sudoers/*.c plugins/sudoers/auth/*.c";; \
+                   *) echo unknown domain $$domain; continue;; \
+               esac; \
+               $(XGETTEXT) $(XGETTEXT_OPTS) -d$$domain $$cfiles -o $$pot.tmp; \
+               if diff -I'^.POT-Creation-Date' -I'^.Project-Id-Version' -I'^#' $$pot.tmp $$pot >/dev/null; then \
+                   rm -f $$pot.tmp; \
+               else \
+                   mv -f $$pot.tmp $$pot; \
+               fi; \
+           done; \
+       fi
+
+update-po: update-pot
+       @if $(MSGFMT) --help >/dev/null 2>&1; then \
+           cd $(top_srcdir); \
+           for pot in $(POTFILES); do \
+               podir=`dirname $$pot`; \
+               for po in $$podir/*.po; do \
+                   echo $(ECHO_N) "Updating $$po$(ECHO_C)"; \
+                   $(MSGMERGE) --update $$po $$pot; \
+                   $(MSGFMT) --output /dev/null --check-format $$po || exit 1; \
+               done; \
+           done; \
+       fi
+
+compile-po:
+       @if $(MSGFMT) --help >/dev/null 2>&1; then \
+           cd $(top_srcdir); \
+           rm -f Makefile.$$$$; \
+           POFILES=""; \
+           for pot in $(POTFILES); do \
+               podir=`dirname $$pot`; \
+               for po in $$podir/*.po; do \
+                   POFILES="$$POFILES $$po"; \
+               done; \
+           done; \
+           echo "all: `echo $$POFILES | sed 's/\.po/.mo/g'`" >> Makefile.$$$$; \
+           echo "" >> Makefile.$$$$; \
+           for po in $$POFILES; do \
+               mo=`echo $$po | sed 's/po$$/mo/'`; \
+               echo "$$mo: $$po" >> Makefile.$$$$; \
+               echo "  $(MSGFMT) --statistics -c -o $$mo $$po" >> Makefile.$$$$; \
+           done; \
+           make -f Makefile.$$$$; \
+           rm -f Makefile.$$$$; \
+       fi
+
+install-nls:
+       @if test "$(NLS)" = "enabled"; then \
+           cd $(top_srcdir); \
+           for pot in $(POTFILES); do \
+               podir=`dirname $$pot`; \
+               domain=`basename $$pot .pot`; \
+               SUDO_LINGUAS=$${LINGUAS-"`echo $$podir/*.mo|sed 's:'$$podir'/\([^ ]*\).mo:\1:g'`"}; \
+               echo $(ECHO_N) "Installing $$domain message catalogs:$(ECHO_C)"; \
+               for lang in $$SUDO_LINGUAS; do \
+                   test -s $$podir/$$lang.mo || continue; \
+                   echo $(ECHO_N) " $$lang$(ECHO_C)"; \
+                   $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
+                   $(INSTALL) -O $(install_uid) -G $(install_gid) -m 0444 $$podir/$$lang.mo $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$$domain.mo; \
+               done; \
+               echo ""; \
+           done; \
+       fi
+
+check-dist: update-pot compile-po
+       @if [ -d .hg ]; then \
+           if hg stat -am | grep '\.[mp]ot*$$'; then \
+               echo "Uncommitted message catalog changes" 1>&2; \
+               false; \
+           fi; \
+       fi
+
+dist: check-dist ChangeLog $(srcdir)/MANIFEST
+       pax -w -x ustar -s '/^/$(PACKAGE_TARNAME)-$(VERSION)\//' \
+           -f ../$(PACKAGE_TARNAME)-$(VERSION).tar \
+           `sed 's/[   ].*//' $(srcdir)/MANIFEST`
+       gzip -9f ../$(PACKAGE_TARNAME)-$(VERSION).tar
+       ls -l ../$(PACKAGE_TARNAME)-$(VERSION).tar.gz
+
+package: sudo.pp
+       DESTDIR=`cd $(top_builddir) && pwd`/destdir; rm -rf $$DESTDIR; \
+       $(MAKE) install DESTDIR=$$DESTDIR && \
+       $(SHELL) $(srcdir)/pp $(PPFLAGS) \
+           --destdir=$$DESTDIR \
+           $(srcdir)/sudo.pp \
+           bindir=$(bindir) \
+           sbindir=$(sbindir) \
+           libexecdir=$(libexecdir) \
+           includedir=$(includedir) \
+           timedir=$(timedir) \
+           mandir=$(mandir) \
+           localedir=$(localedir) \
+           docdir=$(docdir) \
+           sysconfdir=$(sysconfdir) \
+           sudoersdir=$(sudoersdir) \
+           sudoers_uid=$(sudoers_uid) \
+           sudoers_gid=$(sudoers_gid) \
+           sudoers_mode=$(sudoers_mode) \
+           version=$(VERSION) $(PPVARS)
+
+clean: config.status
+       for d in $(SUBDIRS) $(SAMPLES); do \
+           (cd $$d && exec $(MAKE) $@); \
+       done
 
 mostlyclean: clean
 
-distclean: clean
+distclean: config.status
+       for d in $(SUBDIRS) $(SAMPLES); do \
+           (cd $$d && exec $(MAKE) $@); \
+       done
        -rm -rf Makefile pathnames.h config.h config.status config.cache \
-               config.log libtool sudo_noexec.lo .libs $(PARSESRCS) \
-               sudo.man sudoers.man visudo.man
+               config.log libtool stamp-* autom4te.cache
+
+cleandir: distclean
 
 clobber: distclean
 
 realclean: distclean
-       rm -f TAGS tags
-
-cleandir: realclean
-
-dist:
-       rm -f ../sudo-$(VERSION).tar.gz
-       ( cd .. ; TF="/tmp/sudo.dist$$$$" ; rm -f $$TF ; for i in $(DISTFILES) ; \
-         do echo sudo-$(VERSION)/$$i >> $$TF ; done ; \
-         tar Ocf sudo-$(VERSION).tar \
-         `cat $$TF` && gzip --best sudo-$(VERSION).tar && rm -f $$TF)
-       ls -l ../sudo-$(VERSION).tar.gz
-
-bindist:
-       ( \
-         ARCH=`uname -m|sed 's:/:_:g'`+`uname -sr|sed 's/ /_/g'` ; \
-         mkdir tmp.$$ARCH ; \
-         tdir=tmp.$$ARCH/sudo-$(VERSION) ; \
-         mkdir $$tdir ; \
-         for i in $(BINFILES) ; do \
-           if [ -f $$i ]; then \
-             cp $$i $$tdir ; \
-           elif [ -f $(srcdir)/$$i ]; then \
-             cp $(srcdir)/$$i $$tdir ; \
-           else \
-             echo cannot find $$i ; \
-             exit 1 ; \
-           fi ; \
-         done ; \
-         if [ -f sudo_noexec.la ]; then \
-           cp libtool $$tdir ; \
-           $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la `pwd`/$$tdir ; \
-           ln $$tdir/sudo_noexec.la $$tdir/sudo_noexec.lai ; \
-           ln -s . $$tdir/.libs ; \
-         fi ; \
-         cp $(srcdir)/INSTALL.binary $$tdir/INSTALL ; \
-         sh ./config.status --file=Makefile.binary && cp Makefile.binary $$tdir/Makefile ; \
-         cd tmp.$$ARCH && tar Ocf ../sudo-$(VERSION)-$$ARCH.tar sudo-$(VERSION) && cd .. ; \
-         gzip --best sudo-$(VERSION)-$$ARCH.tar ; \
-         rm -rf tmp.$$ARCH ; \
-       )
+
+.PHONY: ChangeLog