Philip Tricca | 8777b5e | 2015-09-16 13:14:46 -0700 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | set -e |
Philip Tricca | d1952b4 | 2015-08-05 15:52:10 -0700 | [diff] [blame] | 3 | |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 4 | # generate list of source files for use in Makefile.am |
| 5 | # if you add new source files, you must run ./bootstrap again |
Philip Tricca | 8777b5e | 2015-09-16 13:14:46 -0700 | [diff] [blame] | 6 | src_listvar () { |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 7 | basedir=$1 |
| 8 | suffix=$2 |
| 9 | var=$3 |
| 10 | |
David R. Bild | 8b3c6d9 | 2017-11-28 10:34:23 -0600 | [diff] [blame] | 11 | find "${basedir}" -name "${suffix}" | LC_ALL=C sort | tr '\n' ' ' | (printf "${var} = " && cat) |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 12 | echo "" |
| 13 | } |
| 14 | |
Juergen Repp | bebbc7a | 2018-06-22 14:03:12 +0200 | [diff] [blame] | 15 | # remove source files from list if their usage depends on a configure option |
| 16 | remove_src () { |
| 17 | files=$1 |
| 18 | shift |
| 19 | for x in $* |
| 20 | do |
| 21 | x=$(echo "$x" | sed 's/\//\\\//g') |
| 22 | files=$(echo $files | sed -e "s/$x//") |
| 23 | done |
| 24 | echo $files |
| 25 | } |
| 26 | |
| 27 | # generate list of eys source files for use in Makefile.am |
| 28 | # if you add new source files, you must run ./bootstrap again |
| 29 | # files after the var name will be elimenated from list list |
| 30 | src_esys_listvar () { |
| 31 | basedir=$1; |
| 32 | shift; |
| 33 | suffix=$1 |
| 34 | shift; |
| 35 | var=$1 |
| 36 | shift; |
| 37 | |
| 38 | files=$(find "${basedir}" -name "${suffix}" | LC_ALL=C sort | tr '\n' ' ') |
| 39 | files=$(remove_src "${files}" $*) |
| 40 | printf "${var} = ${files}" |
| 41 | echo "" |
| 42 | } |
| 43 | |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 44 | VARS_FILE=src_vars.mk |
Daniel Mueller | 30794af | 2017-01-25 14:46:54 -0800 | [diff] [blame] | 45 | AUTORECONF=${AUTORECONF:-autoreconf} |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 46 | |
| 47 | echo "Generating file lists: ${VARS_FILE}" |
Philip Tricca | 8777b5e | 2015-09-16 13:14:46 -0700 | [diff] [blame] | 48 | ( |
Philip Tricca | 57360da | 2018-03-15 17:22:10 -0700 | [diff] [blame] | 49 | src_listvar "src/util" "*.c" "UTIL_C" |
| 50 | src_listvar "src/util" "*.h" "UTIL_H" |
| 51 | printf "UTIL_SRC = \$(UTIL_C) \$(UTIL_H)\n" |
| 52 | |
Philip Tricca | d5a6ff4 | 2018-03-13 18:19:42 -0700 | [diff] [blame] | 53 | src_listvar "src/tss2-sys/" "*.c" "TSS2_SYS_C" |
| 54 | src_listvar "src/tss2-sys/" "*.h" "TSS2_SYS_H" |
| 55 | printf "TSS2_SYS_SRC = \$(TSS2_SYS_H) \$(TSS2_SYS_C)\n" |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 56 | |
Juergen Repp | bebbc7a | 2018-06-22 14:03:12 +0200 | [diff] [blame] | 57 | src_esys_listvar "src/tss2-esys/" "*.h" "TSS2_ESYS_H" src/tss2-esys/esys_crypto_ossl.h src/tss2-esys/esys_crypto_gcrypt.h |
| 58 | src_esys_listvar "src/tss2-esys/" "*.c" "TSS2_ESYS_C" src/tss2-esys/esys_crypto_ossl.c src/tss2-esys/esys_crypto_gcrypt.c |
Philip Tricca | 0013d84 | 2018-03-13 18:33:00 -0700 | [diff] [blame] | 59 | printf "TSS2_ESYS_SRC = \$(TSS2_ESYS_H) \$(TSS2_ESYS_C)\n" |
Juergen Repp | ff821bd | 2017-12-11 15:21:42 +0100 | [diff] [blame] | 60 | |
Philip Tricca | ee73062 | 2018-03-10 16:40:41 -0800 | [diff] [blame] | 61 | src_listvar "src/tss2-mu" "*.c" "TSS2_MU_C" |
| 62 | src_listvar "src/tss2-mu" "*.h" "TSS2_MU_H" |
| 63 | printf "TSS2_MU_SRC = \$(TSS2_MU_C) \$(TSS2_MU_H)" |
Philip Tricca | 8777b5e | 2015-09-16 13:14:46 -0700 | [diff] [blame] | 64 | ) > ${VARS_FILE} |
Philip Tricca | e690e08 | 2015-09-07 18:17:35 -0700 | [diff] [blame] | 65 | |
William Roberts | dd212a2 | 2018-11-02 14:33:36 -0700 | [diff] [blame] | 66 | ${AUTORECONF} --install --sym $@ |