pkgmaker 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. cd "$(dirname "$0")"
  2. export TOPDIR=$(realpath ..)
  3. if gmake --help >/dev/null 2>&1; then
  4. export GMAKE=gmake
  5. else
  6. export GMAKE=make
  7. fi
  8. for subdir in alsa-lib bash bc mksh; do
  9. cd $subdir
  10. pn=$($GMAKE show=PKG_NAME) # pn: package name
  11. pa=$($GMAKE show=ALL_PKGOPTS) # pa: all subpackage options
  12. pfl=$($GMAKE show=PKG_FLAVOURS) # pfl: all package flavours
  13. typeset -u dnu=${subdir//-/_} # dnu: subdir name uppercase
  14. dnu=${dnu//+/X}
  15. pd=$($GMAKE show=PKG_DESCR) # pd: package description
  16. ph=$($GMAKE show=PKG_URL) # ph: package homepage
  17. (
  18. print "config ADK_COMPILE_$dnu"
  19. print \\ttristate
  20. print -n \\tdepends on
  21. sp=' ' # local sp: space (or ' || ')
  22. for xu in $pa; do # xu: package option uppercase
  23. print -n "${sp}ADK_PACKAGE_$xu"
  24. sp=' || '
  25. done
  26. print
  27. print \\tdefault n
  28. for xu in $pa; do # xu: package option uppercase
  29. x=$($GMAKE show=PKGNAME_$xu) # x: subpackage name
  30. print \\nconfig ADK_PACKAGE_$xu
  31. xf=$x # xf: subpackage name ........
  32. while (( ${#xf} < 34 )); do
  33. xf=$xf.
  34. done
  35. print "\tprompt \"$xf ${pd:-$pn}\""
  36. print \\ttristate
  37. print \\tdefault n
  38. print \\tselect ADK_COMPILE_$dnu
  39. if [[ -n $pd$ph ]]; then
  40. print \\thelp
  41. [[ -n $pd ]] && print "\t $pd"
  42. [[ -n $pd && -n $ph ]] && print '\t '
  43. [[ -n $ph ]] && print "\t $ph"
  44. fi
  45. done
  46. for pf in $pfl; do # pf: package flavour
  47. pfd=$($GMAKE show=PKGFD_$pf)
  48. print
  49. print config ADK_PACKAGE_${dnu}_$pf
  50. print "\tbool \"${pfd:-flavour ADK_PACKAGE_${dnu}_$pf}\""
  51. print \\tdefault n
  52. print \\tdepends on ADK_COMPILE_$dnu
  53. print \\thelp
  54. print "\t flavour ADK_PACKAGE_${dnu}_$pf"
  55. done
  56. ) >Config.in
  57. cd ..
  58. done