X-Git-Url: http://gitweb/?a=blobdiff_plain;f=pkgmk-cross;h=6d02f4b670789a57d2dabce441e54599819533ce;hb=77b59cfe676b96b077a6a67b37f644c2bdd29d41;hp=6db90be2195201e64dd67d45929f8049a8617d01;hpb=e3b423ef462f060f6d6e72de70a42cb6b0a06efc;p=pkgutils-cross.git diff --git a/pkgmk-cross b/pkgmk-cross index 6db90be..6d02f4b 100755 --- a/pkgmk-cross +++ b/pkgmk-cross @@ -1,10 +1,41 @@ -#!/bin/sh +#!/bin/bash -TOPDIR="$(cd $(dirname $0); pwd)" +TOPDIR="$(cd $(dirname $(which $0)); pwd)" +TMP_CONF="$(mktemp)" -PKGMK=$TOPDIR/src/pkgmk -PKGMK_CONF=$TOPDIR/src/pkgmk.conf +PKGMK=$TOPDIR/pkgmk +PKGMK_CONF=$TOPDIR/pkgmk-cross.conf +PKGMK_ARGS="" +PKGMK_OPTIMIZE="" -$PKGMK -cf $PKGMK_CONF $@ +while [ "$1" ]; do + if [ "$1" != "-o" ]; then + PKGMK_ARGS="$PKGMK_ARGS $1" + else + shift + PKGMK_OPTIMIZE="$1" + fi + shift +done + +if [ ! -z "$PKGMK_OPTIMIZE" ]; then + _cflags="$(grep "^${PKGMK_OPTIMIZE}_CFLAGS=" $PKGMK_CONF | cut -d'=' -f2- | sed 's|"||g')" + if [ ! -z "$_cflags" ]; then + sed '/_CFLAGS=/d' $PKGMK_CONF | sed "s|CFLAGS=.*|CFLAGS=\"$_cflags\"|" > $TMP_CONF + PKGMK_CONF="$TMP_CONF" + else + echo "Error, invalid optimization: '$PKGMK_OPTIMIZE'" + exit 1 + fi +fi + +if [ -x $PKGMK ]; then + $PKGMK -cf $PKGMK_CONF $PKGMK_ARGS +else + chmod +x $PKGMK + $PKGMK -cf $PKGMK_CONF $PKGMK_ARGS +fi + +rm -f $TMP_CONF # End of file