Miguel Flores Silverio 8571aff
#!/bin/sh
Miguel Flores Silverio 8571aff
# Small script to generate the perf-man tarball. The script relies on having
Miguel Flores Silverio 8571aff
# LINUX_GIT set in your local .bashrc. By default the script will use the
Miguel Flores Silverio 8571aff
# the kernel version of the upstream tree set in LINUX_GIT. Use --version=x.y
Miguel Flores Silverio 8571aff
# to set a specific version.
Miguel Flores Silverio 8571aff
Miguel Flores Silverio 8571aff
# [Default] eg. ./scritps/generate-perf-man
Miguel Flores Silverio 8571aff
# eg. ./scripts/generate-perf-man --version=4.8
Miguel Flores Silverio 8571aff
function usage(){
Miguel Flores Silverio 8571aff
    echo
Miguel Flores Silverio 8571aff
    echo "Helps generate the perf-man tarball                              "
Miguel Flores Silverio 8571aff
    echo "-h, --help                                                       "
Miguel Flores Silverio 8571aff
    echo
Miguel Flores Silverio 8571aff
    echo "./generate-perf-man.sh   #Generates using upstream kernel version"
Miguel Flores Silverio 8571aff
    echo
Miguel Flores Silverio 8571aff
    echo "./generate-perf-man.sh --version=x.y  #Generate using x.y version"
Miguel Flores Silverio 8571aff
}
Miguel Flores Silverio 8571aff
Miguel Flores Silverio 8571aff
if [ -f ~/.bashrc ]; then
Miguel Flores Silverio 8571aff
    source ~/.bashrc
Miguel Flores Silverio 8571aff
fi
Miguel Flores Silverio 8571aff
Miguel Flores Silverio 8571aff
if [ ! -d "$LINUX_GIT" ]; then
Miguel Flores Silverio 8571aff
    echo "Error: \$LINUX_GIT is not set to the upstream git tree."
Miguel Flores Silverio 8571aff
    exit 1
Miguel Flores Silverio 8571aff
fi
Miguel Flores Silverio 8571aff
Miguel Flores Silverio 8571aff
BASEDIR=$(dirname "$(cd $(dirname $BASH_SOURCE[0]) && pwd)")
Miguel Flores Silverio 8571aff
pushd "$LINUX_GIT" > /dev/null
Miguel Flores Silverio 8571aff
KERNEL_VERSION=$( awk '/^VERSION =/ {print $3}' Makefile )
Miguel Flores Silverio 8571aff
KERNEL_PATCHLEVEL=$( awk '/^PATCHLEVEL =/ {print $3}' Makefile )
Miguel Flores Silverio 8571aff
Miguel Flores Silverio 8571aff
if [ ! -z "$@" ]; then
Miguel Flores Silverio 8571aff
    for opt in "$@"; do
Miguel Flores Silverio 8571aff
	case $opt in
Miguel Flores Silverio 8571aff
	    --version=*.*)
Miguel Flores Silverio 8571aff
		version="${opt#*=}"
Miguel Flores Silverio 8571aff
		KERNEL_VERSION=$( awk -F. '{print $1}' <<< $version )
Miguel Flores Silverio 8571aff
		KERNEL_PATCHLEVEL=$( awk -F. '{print $2}' <<< $version )
Miguel Flores Silverio 8571aff
		;;
Miguel Flores Silverio 8571aff
	    -h | --help)
Miguel Flores Silverio 8571aff
		usage
Miguel Flores Silverio 8571aff
		exit 0
Miguel Flores Silverio 8571aff
		;;
Miguel Flores Silverio 8571aff
	    *)
Miguel Flores Silverio 8571aff
		;;
Miguel Flores Silverio 8571aff
	esac
Miguel Flores Silverio 8571aff
    done
Miguel Flores Silverio 8571aff
fi
Miguel Flores Silverio 8571aff
cd tools/perf/Documentation/
Miguel Flores Silverio 8571aff
make
Miguel Flores Silverio 8571aff
tar -czvf $BASEDIR/perf-man-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL}.tar.gz *.1
Miguel Flores Silverio 8571aff
make clean
Miguel Flores Silverio 8571aff
popd