summaryrefslogtreecommitdiff
path: root/package/depmaker
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-12-24 12:02:33 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2009-12-24 12:02:33 +0100
commitb3259201a158cb1a571c2a3b2976fbd7b95a4b80 (patch)
treed1bf8edcf012880df29e52bf326b96c18c624dab /package/depmaker
parent0c0ed379d9f34a2d085d9ebf7accf63d48684439 (diff)
parent537a2c4eaa446e52c6ba07007eb9ae75998b5580 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/depmaker')
-rw-r--r--package/depmaker38
1 files changed, 38 insertions, 0 deletions
diff --git a/package/depmaker b/package/depmaker
new file mode 100644
index 000000000..da3923554
--- /dev/null
+++ b/package/depmaker
@@ -0,0 +1,38 @@
+unset MAKEFLAGS
+export MAKEFLAGS=s
+cd "$(dirname "$0")"
+export TOPDIR=$(realpath ..)
+if gmake --help >/dev/null 2>&1; then
+ export GMAKE=gmake
+else
+ export GMAKE=make
+fi
+GMAKE="$GMAKE --no-print-directory"
+(( x_cols = (COLUMNS > 10) ? COLUMNS - 2 : 80 ))
+typeset -L$x_cols pbar
+
+for dn in */Makefile; do
+ dn=${dn%/*}
+ pbar="$dn ..."
+ print -nu2 "$pbar\r"
+ case $dn {
+ (@(?(e)g|uc|)libc|libpthread|uclibc++) ;;
+ (*)
+ # dnu: directory name, uppercase, y/-+/_X/
+ typeset -u dnu=${dn//-/_}
+ dnu=${dnu//+/X}
+ print "package-\$(ADK_COMPILE_${dnu}) += $dn"
+ ;;
+ }
+ cd $dn
+ deps=$($GMAKE show=PKG_BUILDDEP)
+ cd ..
+ [[ -n $deps ]] || continue
+ x="${dn}-compile:"
+ for dep in $deps; do
+ x="$x ${dep}-compile"
+ done
+ print -r -- $x
+done >Depends.mk
+pbar=done
+print -u2 "$pbar"