- if !order_only then begin
- let module OrdererString =
- struct
- type t = string
- let compare = Pervasives.compare
- end
- in
- let module Topo = HTopoSort.Make (OrdererString) in
- let sorted_ma =
- Topo.topological_sort !ma_topo_keys (Hashtbl.find_all ma_topo) in
- List.iter print_endline sorted_ma
- (*Hashtbl.iter (fun k v -> printf "%s: %s\n" k v) ma_topo*)
- end else
- List.iter (* generate regular .depend output *)
- (fun ma_file ->
- try
- let deps = Hashtbl.find_all include_deps ma_file in
- let deps = List.fast_sort Pervasives.compare deps in
- let deps = HExtlib.list_uniq deps in
- let deps = ma_file :: deps in
- let baseuri = Hashtbl.find baseuri_of ma_file in
- let moo = obj_file_of_baseuri true baseuri in
- printf "%s: %s\n%s: %s\n%s: %s\n%s: %s\n"
- moo (String.concat " " deps)
- (Filename.basename(Pcre.replace ~pat:"ma$" ~templ:"mo" ma_file)) moo
- (Pcre.replace ~pat:"ma$" ~templ:"mo" ma_file) moo
- (Pcre.replace ~pat:"ma$" ~templ:"mo" (short ma_file)) moo
- with Not_found ->
- prerr_endline ("File "^ma_file^" has no baseuri. Use set baseuri");
- exit 1)
- ma_files
-