-declare -a TMPFILES
-trap 'rm -f "${TMPFILES[@]}"' EXIT
-
-CMDLINE=""
-while [ -n "$1" ]; do
- ARG="$1"
- shift
- case "${ARG}" in
- -c)
- CMAKE_LINKARGS=""
- LINKARGS=""
- CMDLINE="${CMDLINE} -c "
- ;;
- *.f90|*.F90)
- TMPFILE=$(mktemp "${ARG}_XXXXXX.f90")
- TMPFILES+=( "${TMPFILE}" )
+cleanup () {
+ eval $(list_get TMPFILES)
+ rm -f "$@"
+}
+trap 'cleanup' EXIT
+
+list_set CMDLINE "${F90}"
+list_add_not_empty CMDLINE "${FFLAGS}"
+while [ $# -gt 0 ]; do
+ ARG="$1"
+ shift
+ case "${ARG}" in
+ -c)
+ CMAKE_LINKARGS=""
+ LINKARGS=""
+ list_add CMDLINE "-c"
+ ;;
+ *.f90|*.F90)
+ TMPFILE=$(mymktemp "${ARG}" ".f90")
+ list_add TMPFILES "${TMPFILE}"