#!/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 <