diff --git a/tools/configure-benches.sh b/tools/configure-benches.sh new file mode 100755 index 0000000..28bc856 --- /dev/null +++ b/tools/configure-benches.sh @@ -0,0 +1,132 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 by Alejandro Gallo + +set -eu + +flags=("${@}") +PROJECTS=() + +# +## Check root directory +# +root_project=$(git rev-parse --show-toplevel) +configure=$root_project/configure +if [[ $(basename $PWD) == $(basename $root_project) ]]; then + cat < creating: $name" + cat < configure +#!/usr/bin/env bash +# created by $0 on $(date) + +$root_project/configure $(cat $file | paste -s) \\ +$(for word in "${flags[@]}"; do + printf " \"%s\"" "$word"; + done) + + +exit 0 +SH + chmod +x configure + cd - > /dev/null +} + +# +## default configuration +# + +tmp=`mktemp` +cat < $tmp +--disable-slice +EOF + +create_config $tmp default +rm $tmp + +# +## only-dgemm configuration +# + +tmp=`mktemp` +cat < $tmp +--disable-slice +--enable-only-dgemm +EOF + +create_config $tmp only-dgemm +rm $tmp + +# +## Create makefile +# + +cat < Makefile + +all: configure do +do: configure + +configure: ${PROJECTS[@]/%/\/Makefile} + +%/Makefile: %/configure + cd \$* && ./configure + +do: ${PROJECTS[@]/%/\/src\/libatrip.a} + + +%/src/libatrip.a: + cd \$* && \$(MAKE) + + +.PHONY: configure do all +MAKE + +cat <