Moved all the reg code out of the build.sh script an into a function
library instead.
This commit is contained in:
parent
d204021507
commit
d070a548a4
58
build.sh.functions
Normal file
58
build.sh.functions
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#
|
||||||
|
# Function library for build.sh
|
||||||
|
#
|
||||||
|
# This is only for build.sh helper functions.
|
||||||
|
#
|
||||||
|
# The concept of "method" registering and the logic that implements it was
|
||||||
|
# stolen from jhlj's Compile.sh script :)
|
||||||
|
#
|
||||||
|
|
||||||
|
# Define script functions and register them
|
||||||
|
METHODS=""
|
||||||
|
reg() {
|
||||||
|
METHODS="$METHODS $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
all()
|
||||||
|
{
|
||||||
|
for METHOD in $METHODS
|
||||||
|
do
|
||||||
|
case $METHOD in
|
||||||
|
all*|*clean) ;;
|
||||||
|
*) $METHOD
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo Usage $0 "{"$(echo $METHODS | tr " " "|")"}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
build_sh() {
|
||||||
|
# Register internal functions last
|
||||||
|
# The empty reg is trickery to get exactly 1 space at each end of the METHODS string
|
||||||
|
reg all
|
||||||
|
reg
|
||||||
|
#
|
||||||
|
local OK=0
|
||||||
|
for METHOD in $*
|
||||||
|
do
|
||||||
|
METHOD=" $METHOD *"
|
||||||
|
if [ "${METHODS%$METHOD}" == "$METHODS" ] ; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
OK=1
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $OK = 0 ] ; then
|
||||||
|
usage;
|
||||||
|
fi
|
||||||
|
|
||||||
|
for METHOD in $*
|
||||||
|
do
|
||||||
|
( $METHOD )
|
||||||
|
done
|
||||||
|
}
|
@ -3,9 +3,10 @@
|
|||||||
# This is a generic build.sh script
|
# This is a generic build.sh script
|
||||||
# It can be used nearly unmodified with many packages
|
# It can be used nearly unmodified with many packages
|
||||||
#
|
#
|
||||||
# The concept of "method" registering and the logic that implements it was shamelessly
|
# build.sh helper functions
|
||||||
# stolen from jhlj's Compile.sh script :)
|
. ${BUILDPKG_BASE}/scripts/build.sh.functions
|
||||||
#
|
#
|
||||||
|
###########################################################
|
||||||
# Check the following 4 variables before running the script
|
# Check the following 4 variables before running the script
|
||||||
topdir=
|
topdir=
|
||||||
version=
|
version=
|
||||||
@ -17,15 +18,6 @@ patch[0]=
|
|||||||
# Source function library
|
# Source function library
|
||||||
. ${BUILDPKG_BASE}/scripts/buildpkg.functions
|
. ${BUILDPKG_BASE}/scripts/buildpkg.functions
|
||||||
|
|
||||||
# Fill in pkginfo values if necessary
|
|
||||||
# using pkgname,name,pkgcat,pkgvendor & pkgdesc
|
|
||||||
|
|
||||||
# Define script functions and register them
|
|
||||||
METHODS=""
|
|
||||||
reg() {
|
|
||||||
METHODS="$METHODS $1"
|
|
||||||
}
|
|
||||||
|
|
||||||
reg prep
|
reg prep
|
||||||
prep()
|
prep()
|
||||||
{
|
{
|
||||||
@ -59,42 +51,4 @@ distclean()
|
|||||||
###################################################
|
###################################################
|
||||||
# No need to look below here
|
# No need to look below here
|
||||||
###################################################
|
###################################################
|
||||||
|
build_sh $*
|
||||||
reg all
|
|
||||||
all()
|
|
||||||
{
|
|
||||||
for METHOD in $METHODS
|
|
||||||
do
|
|
||||||
case $METHOD in
|
|
||||||
all*|*clean) ;;
|
|
||||||
*) $METHOD
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
reg
|
|
||||||
usage() {
|
|
||||||
echo Usage $0 "{"$(echo $METHODS | tr " " "|")"}"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
OK=0
|
|
||||||
for METHOD in $*
|
|
||||||
do
|
|
||||||
METHOD=" $METHOD *"
|
|
||||||
if [ "${METHODS%$METHOD}" == "$METHODS" ] ; then
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
OK=1
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ $OK = 0 ] ; then
|
|
||||||
usage;
|
|
||||||
fi
|
|
||||||
|
|
||||||
for METHOD in $*
|
|
||||||
do
|
|
||||||
( $METHOD )
|
|
||||||
done
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user