table of contents
OCAMLDSORT(1) | General Commands Manual | OCAMLDSORT(1) |
NAME¶
ocamldsort - Dependency sorter for OCaml source filesSYNOPSIS¶
ocamldsort [ -pp pre-command ] [ -d dep-command ][ -mli ] [ -nox ] [ -obj | -byte | -opt ] [ filename ] ...
DESCRIPTION¶
The ocamldsort(1) command scans a set of Objective Caml source files (.ml and .mli files), sorts them according to their dependencies and prints the sorted files in order to link their corresponding .cmo files.ocamlc -c $(ocamldsort -mli *.ml *.mli) && ocamlc $(ocamldsort -byte *.ml)
TARGET=my_program OCAMLC=ocamlc OCAMLOPT=ocamlopt OCAMLDEP=ocamldep OCAMLDSORT=ocamldsort PPFLAGS=-pp camlp4o MLY=$(shell echo *.mly) MLL=$(shell echo *.mll) GENERATED_ML=$(MLY:.mly=.ml) $(MLL:.mll=.ml) include .generated .depend .ocamldsort $(TARGET): $(CMO_FILES) $(OCAMLC) $(COMPFLAGS) $(LIBS) $^ -o $@ $(TARGET).opt: $(CMX_FILES) $(OCAMLOPT) $(COMPFLAGS) $(LIBS_OPT) $^ -o $@ .generated: $(GENERATED_ML) @touch .generated .depend: .generated $(OCAMLDEP) *.ml *.mli > $@ .ocamldsort: .depend echo CMO_FILES=`< .depend $(OCAMLDSORT) -byte *.ml` > .ocamldsort echo CMX_FILES=`< .depend $(OCAMLDSORT) -opt *.ml` >> .ocamldsort distclean: clean rm -f .generated .depend .ocamldsort rm -f $(GENERATED_ML) rm -f *~ rm -f $(TARGET) clean: rm -f *.cmo *.cmi *.cmx *.o .SUFFIXES: .mli .ml .cmi .cmo .cmx .mll .mly %.cmi:%.mli $(OCAMLC) $(PPFLAGS) $(COMPFLAGS) -c $< %.cmo:%.ml $(OCAMLC) $(PPFLAGS) $(COMPFLAGS) -c $< %.cmi %.cmo:%.ml $(OCAMLC) $(PPFLAGS) $(COMPFLAGS) -c $< %.cmx %.o:%.ml $(OCAMLOPT) $(PPFLAGS) $(COMPFLAGS) -c $< %.ml:%.mll $(OCAMLLEX) $< %.mli %.ml:%.mly $(OCAMLYACC) -v $<
OPTIONS¶
The following command-line options are recognized by ocamlsort(1):- -I directory
- Add the given directory to the list of directories searched
for source files.
- -pp pre-command
- Command to preprocess file.
- -d dep-command
- Command to compute dependencies. ocamldep(1) by
default.
- -mli
- Sort files using mli dependencies.
- -nox
- Ignore filenames containg `*' so that unexpanded wildcards
are ignored.
- -obj
- Print bytecode filenames (.cmo and .cmi) (deprecated: use
-byte).
- -byte
- Print bytecode filenames (.cmo and .cmi).
- -opt
- Print opt filenames (.cmx and .cmi).
- -v
- Output version information and exit.
- -help, --help
- Output help and exit.