summaryrefslogtreecommitdiff
path: root/mk/bulk/printdepends
blob: b7b8b93688dc6e791317c5db597749c22131e7e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh
# $NetBSD: printdepends,v 1.2 2000/09/21 16:53:14 hubertf Exp $
#
# Print list of pkg dependencies suitable for tsort(1).
# Start in /usr/pkgsrc.
#
# (c) Copyright 2000 Hubert Feyrer <hubertf@netbsd.org>.
#     All rights reserved.
#

# /usr/pkgsrc
cwd=$PWD

# List of all pkgs, from pkgsrc/*/Makefile
 list=`grep '^[^#].*'SUBDIR */Makefile | sed 's,/Makefile.*= *,/,'`
#list=`grep '^[^#].*'SUBDIR ma*/Makefile | sed 's,/Makefile.*= *,/,'`
#list=x11/gnome
#list='x11/xteddy x11/xsnow'


# Makefile to print the DEPENDS' and BUILD_DEPENDS' directory parts
# bsd.pkg.mk is pulled in via the Makefile
cat >$cwd/.m <<EOF
bla:
	@echo \${DEPENDS:C/^[^:]*://:C/:.*$//} \${BUILD_DEPENDS:C/^[^:]*://:C/:.*$//}
.include "Makefile"
EOF


for pkgdir in $list
do
	cd $pkgdir

	l=`make -f - <$cwd/.m bla`	# XXX NOT -f $cwd/.m !
	if [ "$l" = "" ]; then
		# No dependencies
		echo "$pkgdir $pkgdir"
	else
		for reldir in $l
		do
			cd $reldir
			d=`dirname $PWD`
			absdir=`basename $d`/`basename $PWD`
			cd -
			echo "$absdir $pkgdir"
		done
		cd $cwd
	fi
done

rm -f $cwd/.m