Raison a) locals b) arguments visibility IOW.
Unified · Split
| @@ -139,33 +139,32 @@ bocaml1() { · 138 unmodified lines | ||
| 139 | 139 | } |
| 140 | 140 | } |
| 141 | 141 | |
| 142 | −ocamldeppp() { | |
| 143 | − read _ _ depl | |
| 144 | − :>"$o.depl" | |
| 145 | − for d in $depl; do | |
| 146 | − local D=${d#$srcd/} | |
| 147 | − test "$O" = "$D" || { | |
| 148 | − bocaml "$D" $((n+1)) | |
| 149 | − case $d in | |
| 150 | − $outd/*) dd=$d;; | |
| 151 | − *) dd=$outd/${d#$srcd/};; | |
| 152 | − esac | |
| 153 | − printf "$dd " >>"$o.depl" | |
| 154 | − } | |
| 155 | − done | |
| 156 | −} | |
| 157 | − | |
| 158 | 142 | bocaml2() { |
| 159 | 143 | local n=$1 |
| 160 | 144 | local s="$2" |
| 161 | 145 | local o="$3" |
| 162 | 146 | local O=${4-} |
| 147 | + local d | |
| 163 | 148 | local dd |
| 164 | 149 | local cmd="ocamlc -depend -bytecode -one-line $(oincs $o) $s" |
| 165 | 150 | local keycmd="digest $o $s $o.depl" |
| 166 | 151 | |
| 167 | 152 | isfresh "$o.depl" "$overs$cmd$(eval $keycmd)" || { |
| 168 | − { eval "$cmd" || die "$cmd failed"; } | ocamldeppp | |
| 153 | + { eval "$cmd" || die "$cmd failed"; } | { | |
| 154 | + read _ _ depl | |
| 155 | + :>"$o.depl" | |
| 156 | + for d in $depl; do | |
| 157 | + local D=${d#$srcd/} | |
| 158 | + test "$O" = "$D" || { | |
| 159 | + bocaml "$D" $((n+1)) | |
| 160 | + case $d in | |
| 161 | + $outd/*) dd=$d;; | |
| 162 | + *) dd=$outd/${d#$srcd/};; | |
| 163 | + esac | |
| 164 | + printf "$dd " >>"$o.depl" | |
| 165 | + } | |
| 166 | + done | |
| 167 | + } | |
| 169 | 168 | echo "$overs$cmd$(eval $keycmd)" >"$o.depl.past" |
| 170 | 169 | } && { |
| 171 | 170 | vecho "fresh $o.depl" |