(executable
 (name abella)
 (modes byte exe)
 (modules abella)
 (libraries abella_lib unix cmdliner))

(rule
 (with-stdout-to abella_doc_dist.ml
  (progn
   (echo "let css = {abella_doc_css|")
   (cat ../support/dist/abella_doc.css)
   (echo "|abella_doc_css};;\n")
   (echo "let js = {abella_doc_js|")
   (cat ../support/dist/abella_doc.js)
   (echo "|abella_doc_js};;\n"))))

(executable
 (name abella_doc)
 (modes byte exe)
 (modules abella_doc abella_doc_dist)
 (libraries abella_lib unix cmdliner))

(executable
 (name abella_dep)
 (modes byte exe)
 (modules abella_dep)
 (libraries abella_lib unix cmdliner))

(library
 (name abella_lib)
 (modules :standard \ abella abella_dep abella_doc abella_doc_dist)
 (libraries unix re yojson base64)
 (wrapped false))

(ocamllex
 (modules lexer))

(menhir
 (modules parser)
 (infer true)
 (flags --explain))

(alias
 (name default)
 (deps abella.exe abella_doc.exe abella_dep.exe))