+let ml_str_rule () =
+ rule ".ml.str" ~dep:"%.ml.str" ~prod:"%.ml"
+ (fun env _ ->
+ let mlstr = env "%.ml.str" and ml = env "%.ml" in
+ let cmd = Printf.sprintf "echo -n 'let content = \"' > %s ;\
+ sed -e 's/\\([\"\\\\]\\)/\\\\\\1/g' %s | sed -e 's/^\\(.*\\)$/\\1\\\\n\\\\/g' >> %s ;\
+ echo '' >> %s ;\
+ echo '\"' >> %s" ml mlstr ml ml ml
+ in
+ Cmd ( Sh cmd ))
+