mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-23 02:17:35 +00:00
Allow "make dist" and "make depend" to work for out of tree builds.
This commit is contained in:
parent
f7df250625
commit
495931f4a8
35
Makefile.in
35
Makefile.in
@ -151,22 +151,18 @@ siglist.c signame.c:
|
|||||||
(cd lib/util && exec $(MAKE) $@)
|
(cd lib/util && exec $(MAKE) $@)
|
||||||
|
|
||||||
depend: siglist.c signame.c
|
depend: siglist.c signame.c
|
||||||
@if test "$(srcdir)" != "."; then \
|
$(top_srcdir)/mkdep.pl --builddir=`pwd` --srcdir=$(top_srcdir) \
|
||||||
echo "make depend only supported in the source directory"; \
|
lib/util/Makefile.in lib/zlib/Makefile.in \
|
||||||
exit 1; \
|
plugins/group_file/Makefile.in plugins/sample/Makefile.in \
|
||||||
fi; \
|
plugins/sudoers/Makefile.in plugins/system_group/Makefile.in \
|
||||||
$(srcdir)/mkdep.pl $(srcdir)/lib/util/Makefile.in \
|
src/Makefile.in && \
|
||||||
$(srcdir)/plugins/sample/Makefile.in \
|
$(top_builddir)/config.status --file $(top_builddir)/lib/util/Makefile \
|
||||||
$(srcdir)/plugins/group_file/Makefile.in \
|
--file $(top_builddir)/plugins/sample/Makefile \
|
||||||
$(srcdir)/plugins/sudoers/Makefile.in \
|
--file $(top_builddir)/plugins/group_file/Makefile \
|
||||||
$(srcdir)/plugins/system_group/Makefile.in \
|
--file $(top_builddir)/plugins/sudoers/Makefile \
|
||||||
$(srcdir)/src/Makefile.in $(srcdir)/lib/zlib/Makefile.in; \
|
--file $(top_builddir)/plugins/system_group/Makefile \
|
||||||
./config.status --file $(srcdir)/lib/util/Makefile \
|
--file $(top_builddir)/src/Makefile \
|
||||||
--file $(srcdir)/plugins/sample/Makefile \
|
--file $(top_builddir)/lib/zlib/Makefile
|
||||||
--file $(srcdir)/plugins/group_file/Makefile \
|
|
||||||
--file $(srcdir)/plugins/sudoers/Makefile \
|
|
||||||
--file $(srcdir)/plugins/system_group/Makefile \
|
|
||||||
--file $(srcdir)/src/Makefile --file $(srcdir)/lib/zlib/Makefile
|
|
||||||
|
|
||||||
ChangeLog:
|
ChangeLog:
|
||||||
if test -d $(srcdir)/.hg && cd $(srcdir); then \
|
if test -d $(srcdir)/.hg && cd $(srcdir); then \
|
||||||
@ -284,7 +280,7 @@ install-nls:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
check-dist: update-pot compile-po
|
check-dist: update-pot compile-po
|
||||||
@if [ -d .hg ]; then \
|
@if test -d $(srcdir)/.hg && cd $(srcdir); then \
|
||||||
if test `hg stat -am | wc -l` -ne 0; then \
|
if test `hg stat -am | wc -l` -ne 0; then \
|
||||||
echo "Uncommitted changes" 1>&2; \
|
echo "Uncommitted changes" 1>&2; \
|
||||||
hg stat -am 1>&2; \
|
hg stat -am 1>&2; \
|
||||||
@ -295,10 +291,11 @@ check-dist: update-pot compile-po
|
|||||||
dist: check-dist force-dist
|
dist: check-dist force-dist
|
||||||
|
|
||||||
force-dist: ChangeLog $(srcdir)/MANIFEST
|
force-dist: ChangeLog $(srcdir)/MANIFEST
|
||||||
|
cd $(top_srcdir) && \
|
||||||
pax -w -x ustar -s '/^/$(PACKAGE_TARNAME)-$(VERSION)\//' \
|
pax -w -x ustar -s '/^/$(PACKAGE_TARNAME)-$(VERSION)\//' \
|
||||||
-f ../$(PACKAGE_TARNAME)-$(VERSION).tar \
|
-f ../$(PACKAGE_TARNAME)-$(VERSION).tar \
|
||||||
`$(SED) 's/[ ].*//' $(srcdir)/MANIFEST`
|
`$(SED) 's/[ ].*//' $(srcdir)/MANIFEST` && \
|
||||||
gzip -9f ../$(PACKAGE_TARNAME)-$(VERSION).tar
|
gzip -9f ../$(PACKAGE_TARNAME)-$(VERSION).tar && \
|
||||||
ls -l ../$(PACKAGE_TARNAME)-$(VERSION).tar.gz
|
ls -l ../$(PACKAGE_TARNAME)-$(VERSION).tar.gz
|
||||||
|
|
||||||
package: $(srcdir)/sudo.pp
|
package: $(srcdir)/sudo.pp
|
||||||
|
33
mkdep.pl
33
mkdep.pl
@ -19,21 +19,33 @@ use File::Temp qw/ :mktemp /;
|
|||||||
use Fcntl;
|
use Fcntl;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
die "usage: $0 Makefile ...\n" unless $#ARGV >= 0;
|
die "usage: $0 [--builddir=dir] [--srcdir=dir] Makefile.in ...\n" unless $#ARGV >= 0;
|
||||||
|
|
||||||
my @incpaths;
|
my @incpaths;
|
||||||
my %dir_vars;
|
my %dir_vars;
|
||||||
my %implicit;
|
my %implicit;
|
||||||
my %generated;
|
my %generated;
|
||||||
|
my $top_builddir = ".";
|
||||||
|
my $top_srcdir;
|
||||||
|
|
||||||
# Read in MANIFEST fail if present
|
# Check for srcdir and/or builddir, if present
|
||||||
my %manifest;
|
while ($ARGV[0] =~ /^--(src|build)dir=(.*)/) {
|
||||||
if (open(MANIFEST, "<MANIFEST")) {
|
if ($1 eq 'src') {
|
||||||
while (<MANIFEST>) {
|
$top_srcdir = $2;
|
||||||
chomp;
|
} else {
|
||||||
next unless /([^\/]+\.[cly])$/;
|
$top_builddir = $2;
|
||||||
$manifest{$1} = $_;
|
|
||||||
}
|
}
|
||||||
|
shift @ARGV;
|
||||||
|
}
|
||||||
|
chdir($top_srcdir) if defined($top_srcdir);
|
||||||
|
|
||||||
|
# Read in MANIFEST or fail if not present
|
||||||
|
my %manifest;
|
||||||
|
die "unable to open MANIFEST: $!\n" unless open(MANIFEST, "<MANIFEST");
|
||||||
|
while (<MANIFEST>) {
|
||||||
|
chomp;
|
||||||
|
next unless /([^\/]+\.[cly])$/;
|
||||||
|
$manifest{$1} = $_;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (@ARGV) {
|
foreach (@ARGV) {
|
||||||
@ -101,6 +113,7 @@ sub mkdep {
|
|||||||
$dir_vars{'srcdir'} = $1 || '.';
|
$dir_vars{'srcdir'} = $1 || '.';
|
||||||
$dir_vars{'devdir'} = $dir_vars{'srcdir'};
|
$dir_vars{'devdir'} = $dir_vars{'srcdir'};
|
||||||
$dir_vars{'authdir'} = $dir_vars{'srcdir'} . "/auth";
|
$dir_vars{'authdir'} = $dir_vars{'srcdir'} . "/auth";
|
||||||
|
$dir_vars{'builddir'} = $top_builddir . "/" . $dir_vars{'srcdir'};
|
||||||
$dir_vars{'top_srcdir'} = '.';
|
$dir_vars{'top_srcdir'} = '.';
|
||||||
#$dir_vars{'top_builddir'} = '.';
|
#$dir_vars{'top_builddir'} = '.';
|
||||||
$dir_vars{'incdir'} = 'include';
|
$dir_vars{'incdir'} = 'include';
|
||||||
@ -184,8 +197,8 @@ sub find_depends {
|
|||||||
my ($deps, $code, %headers);
|
my ($deps, $code, %headers);
|
||||||
|
|
||||||
if ($src !~ /\//) {
|
if ($src !~ /\//) {
|
||||||
# XXX - want build dir not src dir
|
# generated file, local to build dir
|
||||||
$src = "$dir_vars{'srcdir'}/$src";
|
$src = "$dir_vars{'builddir'}/$src";
|
||||||
}
|
}
|
||||||
|
|
||||||
# resolve $(srcdir) etc.
|
# resolve $(srcdir) etc.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user