summaryrefslogtreecommitdiffstats
path: root/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in453
1 files changed, 453 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..0b70609
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,453 @@
+#
+# SPDX-License-Identifier: ISC
+#
+# Copyright (c) 2010-2015, 2017-2022 Todd C. Miller <Todd.Miller@sudo.ws>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+srcdir = @srcdir@
+abs_srcdir = @abs_srcdir@
+top_srcdir = @top_srcdir@
+abs_top_srcdir = @abs_top_srcdir@
+top_builddir = @top_builddir@
+abs_top_builddir = @abs_top_builddir@
+devdir = @devdir@
+scriptdir = $(top_srcdir)/scripts
+
+# Installation paths for package building
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+sysconfdir = @sysconfdir@
+libexecdir = @libexecdir@
+includedir = @includedir@
+datarootdir = @datarootdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+exampledir = @exampledir@
+docdir = @docdir@
+mandir = @mandir@
+rundir = @rundir@
+vardir = @vardir@
+
+# User and group ids the installed files should be "owned" by
+install_uid = 0
+install_gid = 0
+
+# sudoers owner and mode for package building
+sudoers_uid = @SUDOERS_UID@
+sudoers_gid = @SUDOERS_GID@
+sudoers_mode = @SUDOERS_MODE@
+shlib_mode = @SHLIB_MODE@
+
+# Version of python detected by configure (major.minor)
+python_version = @PYTHON_VERSION@
+
+SUBDIRS = lib/util @ZLIB_SRC@ lib/eventlog lib/fuzzstub lib/iolog \
+ lib/protobuf-c @LOGSRV_SRC@ @LOGSRVD_SRC@ plugins/audit_json \
+ plugins/group_file plugins/sudoers plugins/system_group \
+ @PYTHON_PLUGIN_SRC@ src include docs examples
+
+SAMPLES = plugins/sample plugins/sample_approval
+
+VERSION = @PACKAGE_VERSION@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+
+SHELL = @SHELL@
+
+EGREP = @EGREP@
+SED = @SED@
+
+INSTALL = $(SHELL) $(scriptdir)/install-sh -c
+INSTALL_OWNER = -o $(install_uid) -g $(install_gid)
+
+ECHO_N = @ECHO_N@
+ECHO_C = @ECHO_C@
+
+# Message catalog support
+NLS = @SUDO_NLS@
+POTFILES = po/sudo.pot plugins/sudoers/po/sudoers.pot
+LOCALEDIR_SUFFIX = @LOCALEDIR_SUFFIX@
+MSGFMT = msgfmt
+MSGMERGE = msgmerge
+XGETTEXT = xgettext
+XGETTEXT_OPTS = -F -k_ -kN_ -kU_ --copyright-holder="Todd C. Miller" \
+ "--msgid-bugs-address=https://bugzilla.sudo.ws" \
+ --package-name=@PACKAGE_NAME@ --package-version=$(VERSION) \
+ --flag warning:1:c-format --flag warningx:1:c-format \
+ --flag fatal:1:c-format --flag fatalx:1:c-format \
+ --flag easprintf:3:c-format --flag sudo_lbuf_append:2:c-format \
+ --flag sudo_lbuf_append_quoted:3:c-format --foreign-user
+
+# Default cppcheck options when run from the top-level Makefile
+CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
+
+# Default splint options when run from the top-level Makefile
+SPLINT_OPTS = -D__restrict= -checks
+
+# Default PVS-studio options when run from the top-level Makefile
+PVS_CFG = $(top_builddir)/PVS-Studio.cfg
+PVS_IGNORE = 'V707,V011,V002,V536,V568'
+PVS_LOG_OPTS = -a 'GA:1,2' -e -t errorfile -d $(PVS_IGNORE)
+
+all: config.status
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ (cd $$d && exec $(MAKE) $@) && continue; \
+ exit $$?; \
+ done
+
+check check-verbose check-fuzzer fuzz pre-install: config.status
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ (cd $$d && exec $(MAKE) $@) && continue; \
+ exit $$?; \
+ done
+
+uncrustify.files: Makefile
+ $(EGREP) '\.[ch]$$' $(top_srcdir)/MANIFEST | $(EGREP) -v '(/zlib/|/(arc4random|arc4random_uniform|chacha_private|charclass|fnmatch|getaddrinfo|getcwd|getdate|getentropy|getopt|getopt_long|glob|gram|inet_ntop|inet_pton|log_server.pb-c|mktemp|pw_dup|reallocarray|mktemp_test|protobuf-c|snprintf|stdbool|strlcat|strlcpy|sudo_queue|toke)\.[ch]$$)' > uncrustify.files
+
+reformat: uncrustify.files
+ ( cd $(top_srcdir) && uncrustify -c etc/uncrustify.cfg --replace --no-backup -F $(top_builddir)/uncrustify.files )
+
+check-format: uncrustify.files
+ ( cd $(top_srcdir) && uncrustify -c etc/uncrustify.cfg --check -F $(top_builddir)/uncrustify.files )
+
+spell:
+ ( cd $(top_srcdir) && codespell -I etc/codespell.ignore -x etc/codespell.exclude `$(EGREP) -v -f etc/codespell.skip MANIFEST` )
+
+cppcheck: config.status
+ rval=0; \
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ echo checking $$d; \
+ (cd $$d && exec $(MAKE) CPPCHECK_OPTS="$(CPPCHECK_OPTS)" $@) || rval=`expr $$rval + $$?`; \
+ done; \
+ exit $$rval
+
+splint: config.status
+ rval=0; \
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ echo splinting $$d; \
+ (cd $$d && exec $(MAKE) SPLINT_OPTS="$(SPLINT_OPTS)" $@) || rval=`expr $$rval + $$?`; \
+ done; \
+ exit $$rval
+
+cov-build:
+ make clean
+ cov-build --dir cov-int make $(MFLAGS) all
+
+cov-upload:
+ tar zcf cov-int.tgz cov-int
+ curl --form token=$$COVERITY_SUDO_TOKEN \
+ --form email=todd.miller@sudo.ws \
+ --form file=@cov-int.tgz \
+ --form version="$(VERSION)" \
+ https://scan.coverity.com/builds?project=sudo
+
+cov-analyze: cov-upload
+
+pvs-studio: config.status
+ files=; \
+ rval=0; \
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ (cd $$d && exec $(MAKE) PVS_IGNORE="$(PVS_IGNORE)" pvs-log-files) || rval=`expr $$rval + $$?`; \
+ for f in $$d/*.plog; do \
+ if test "$$f" != "$$d/*.plog"; then \
+ files="$$files $$f"; \
+ fi; \
+ done; \
+ done; \
+ if test $$rval -ne 0; then \
+ exit $$rval; \
+ fi; \
+ plog-converter $(PVS_LOG_OPTS) $$files
+
+install-dirs install-binaries install-fuzzer install-includes install-plugin: config.status pre-install
+ for d in $(SUBDIRS); do \
+ (cd $$d && exec $(MAKE) "INSTALL_OWNER=$(INSTALL_OWNER)" $@) && continue; \
+ exit $$?; \
+ done
+
+install-doc: config.status ChangeLog
+ for d in $(SUBDIRS); do \
+ (cd $$d && exec $(MAKE) "INSTALL_OWNER=$(INSTALL_OWNER)" $@) && continue; \
+ exit $$?; \
+ done
+
+install: config.status ChangeLog pre-install install-nls
+ for d in $(SUBDIRS); do \
+ (cd $$d && exec $(MAKE) "INSTALL_OWNER=$(INSTALL_OWNER)" $@) && 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
+
+siglist.c signame.c:
+ cd lib/util && exec $(MAKE) $@
+
+depend: siglist.c signame.c
+ $(scriptdir)/mkdep.pl \
+ --srcdir=$(abs_top_srcdir) --builddir=$(abs_top_builddir) \
+ lib/util/Makefile.in lib/zlib/Makefile.in \
+ lib/fuzzstub/Makefile.in lib/eventlog/Makefile.in \
+ lib/iolog/Makefile.in lib/logsrv/Makefile.in logsrvd/Makefile.in \
+ lib/protobuf-c/Makefile.in plugins/group_file/Makefile.in \
+ plugins/sample/Makefile.in plugins/sudoers/Makefile.in \
+ plugins/system_group/Makefile.in plugins/python/Makefile.in \
+ src/Makefile.in && \
+ $(top_builddir)/config.status --file $(top_builddir)/lib/util/Makefile \
+ --file $(top_builddir)/lib/zlib/Makefile \
+ --file $(top_builddir)/lib/eventlog/Makefile \
+ --file $(top_builddir)/lib/fuzzstub/Makefile \
+ --file $(top_builddir)/lib/iolog/Makefile \
+ --file $(top_builddir)/lib/logsrv/Makefile \
+ --file $(top_builddir)/lib/protobuf-c/Makefile \
+ --file $(top_builddir)/logsrvd/Makefile \
+ --file $(top_builddir)/plugins/sample/Makefile \
+ --file $(top_builddir)/plugins/group_file/Makefile \
+ --file $(top_builddir)/plugins/sudoers/Makefile \
+ --file $(top_builddir)/plugins/system_group/Makefile \
+ --file $(top_builddir)/plugins/python/Makefile \
+ --file $(top_builddir)/src/Makefile
+
+# Only try to build ChangeLog from a repo checkout, not a release tarball.
+# The CODEOWNERS file is not present in the release tarball.
+ChangeLog:
+ if test -f $(srcdir)/docs/CODEOWNERS; then \
+ if test -d $(srcdir)/.hg && hg -R $(srcdir) identify -ibt >stamp-$@.tmp 2>&1; then \
+ cmp stamp-$@.tmp stamp-$@ >/dev/null 2>&1 || { \
+ mv -f stamp-$@.tmp stamp-$@; \
+ if hg log -R $(srcdir) --template=changelog -r "sort(branch(.) or follow(), -date)" > $@.tmp; then \
+ mv -f $@.tmp $(srcdir)/$@; \
+ fi; \
+ }; \
+ elif test -d $(srcdir)/.git && git --git-dir $(srcdir)/.git describe --tags >stamp-$@.tmp 2>&1; then \
+ cmp stamp-$@.tmp stamp-$@ >/dev/null 2>&1 || { \
+ mv -f stamp-$@.tmp stamp-$@; \
+ if $(scriptdir)/log2cl.pl -R $(srcdir)/.git > $@.tmp; then \
+ mv -f $@.tmp $(srcdir)/$@; \
+ fi; \
+ }; \
+ fi; \
+ rm -f $@.tmp stamp-$@.tmp; \
+ fi
+ if test ! -f $(srcdir)/$@; then \
+ echo "ChangeLog data not available" > $(srcdir)/$@; \
+ 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/ 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) tmpfiles=; cfiles="src/*.c lib/util/*.c";; \
+ sudoers) \
+ echo "gettext \"syntax error\"" > confstr.sh; \
+ $(SED) -n 's/^.*--with-passprompt=\(.*\)$$/gettext \"\1\"/p' $(scriptdir)/mkpkg | sort -u >> confstr.sh; \
+ $(SED) -n -e 's/^badpass_message="/gettext "/p' \
+ -e 's/^passprompt="/gettext "/p' \
+ -e 's/^mailsub="/gettext "/p' configure.ac \
+ >> confstr.sh; \
+ tmpfiles=confstr.sh; \
+ cfiles="lib/eventlog/*.c lib/iolog/*.c logsrvd/*.c plugins/sudoers/*.c plugins/sudoers/auth/*.c";; \
+ *) echo unknown domain $$domain; continue;; \
+ esac; \
+ $(XGETTEXT) $(XGETTEXT_OPTS) -d$$domain $$cfiles $$tmpfiles -o $$pot.tmp; \
+ test -n "$$tmpfiles" && rm -f $$tmpfiles; \
+ if diff -I'^.POT-Creation-Date' -I'^.Project-Id-Version' -I'^#' $$pot.tmp $$pot >/dev/null; then \
+ rm -f $$pot.tmp; \
+ else \
+ printf '/^#$$/+1,$$d\nw\nq\n' | ed - $$pot; \
+ $(SED) '1,/^#$$/d' $$pot.tmp >> $$pot; \
+ rm -f $$pot.tmp; \
+ fi; \
+ done; \
+ else \
+ echo "Unable to update .pot files: $(XGETTEXT) not found" 1>&2; \
+ 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; \
+ else \
+ echo "Unable to update .po files: $(MSGFMT) not found" 1>&2; \
+ 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.$$$$; \
+ else \
+ echo "Unable to compile message catalogs: $(MSGFMT) not found" 1>&2; \
+ fi
+
+install-nls:
+ @if test "$(NLS)" = "enabled"; then \
+ for pot in $(POTFILES); do \
+ podir=`dirname $(top_srcdir)/$$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) $(scriptdir)/mkinstalldirs $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
+ if test -n "$(LOCALEDIR_SUFFIX)"; then \
+ if test ! -d $(DESTDIR)$(localedir)/$$lang$(LOCALEDIR_SUFFIX); then \
+ ln -s $$lang $(DESTDIR)$(localedir)/$$lang$(LOCALEDIR_SUFFIX); \
+ fi; \
+ fi; \
+ $(INSTALL) $(INSTALL_OWNER) -m 0644 $$podir/$$lang.mo $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$$domain.mo; \
+ done; \
+ echo ""; \
+ done; \
+ fi
+
+mkdefaults:
+ cd plugins/sudoers && exec $(MAKE) DEVEL=1 ./def_data.c ./def_data.h
+
+check-dist: update-pot compile-po mkdefaults
+ @if test -d $(srcdir)/.hg && cd $(srcdir); then \
+ if test `hg stat -am | wc -l` -ne 0; then \
+ echo "Uncommitted changes" 1>&2; \
+ hg stat -am 1>&2; \
+ exit 1; \
+ fi; \
+ fi
+
+dist: check-dist force-dist
+
+force-dist: ChangeLog $(srcdir)/MANIFEST
+ cd $(top_srcdir) && $(SED) 's/[ ].*//' MANIFEST | \
+ pax -w -x ustar -f ../$(PACKAGE_TARNAME)-$(VERSION).tar \
+ -s '/^/$(PACKAGE_TARNAME)-$(VERSION)\//' && \
+ gzip -9f ../$(PACKAGE_TARNAME)-$(VERSION).tar && \
+ ls -l ../$(PACKAGE_TARNAME)-$(VERSION).tar.gz
+
+package: @PPFILES@
+ DESTDIR=$(abs_top_builddir)/destdir; rm -rf $$DESTDIR; \
+ $(MAKE) install INSTALL_OWNER= DESTDIR=$$DESTDIR && \
+ for p in @PPFILES@; do \
+ $(SHELL) $(scriptdir)/pp $(PPFLAGS) --destdir=$$DESTDIR $$p \
+ srcdir=$(top_srcdir) \
+ prefix=$(prefix) \
+ bindir=$(bindir) \
+ sbindir=$(sbindir) \
+ libexecdir=$(libexecdir) \
+ includedir=$(includedir) \
+ vardir=$(vardir) \
+ rundir=$(rundir) \
+ mandir=$(mandir) \
+ localedir=$(localedir) \
+ docdir=$(docdir) \
+ exampledir=$(exampledir) \
+ sysconfdir=$(sysconfdir) \
+ sudoers_uid=$(sudoers_uid) \
+ sudoers_gid=$(sudoers_gid) \
+ sudoers_mode=$(sudoers_mode) \
+ shlib_mode=$(shlib_mode) \
+ python_version=$(python_version) \
+ version=$(VERSION) $(PPVARS); \
+ done
+
+clean: config.status
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ (cd $$d && exec $(MAKE) $@); \
+ done
+ -rm -rf cov-int cov-int.tgz uncrustify.files
+
+mostlyclean: clean
+
+distclean: config.status
+ for d in $(SUBDIRS) $(SAMPLES); do \
+ (cd $$d && exec $(MAKE) $@); \
+ done
+ -rm -rf autom4te.cache ChangeLog config.cache config.h config.log \
+ config.status etc/init.d/*.sh etc/init.d/sudo.conf libtool \
+ Makefile pathnames.h stamp-*
+
+cleandir: distclean
+
+clobber: distclean
+
+realclean: distclean
+
+me:
+
+a:
+
+sandwich:
+ @if test -n "$$SUDO_USER"; then \
+ echo "Okay."; \
+ else \
+ echo "What? Make it yourself!"; \
+ fi
+
+.PHONY: clean mostlyclean distclean cleandir clobber realclean ChangeLog \
+ me a sandwich check-format reformat