(executable
 (public_name permap)
 (modules
  app
  babillard
  babillard_page
  bindings
  catalog_page
  content
  db
  delete_page
  login
  permap
  pp_babillard
  register
  report_page
  template
  thread_page
  user
  user_account
  user_profile)
 (libraries
  bos
  caqti
  caqti.blocking
  caqti-driver-sqlite3
  directories
  dream
  emile
  fpath
  lambdasoup
  omd
  safepass
  scfg
  uri
  uuidm
  yojson)
 (preprocess
  (pps lwt_ppx)))

(rule
 (targets babillard_page.ml)
 (deps babillard_page.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets catalog_page.ml)
 (deps catalog_page.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets delete_page.ml)
 (deps delete_page.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets login.ml)
 (deps login.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets register.ml)
 (deps register.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets report_page.ml)
 (deps report_page.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets template.ml)
 (deps template.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets thread_page.ml)
 (deps thread_page.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets user_account.ml)
 (deps user_account.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (targets user_profile.ml)
 (deps user_profile.eml.html)
 (action
  (run dream_eml %{deps} --workspace %{workspace_root})))

(rule
 (target content.ml)
 (deps
  (source_tree content)
  (file content/assets/js/js_babillard.js)
  (file content/assets/js/js_catalog.js)
  (file content/assets/js/js_thread.js))
 (action
  (with-stdout-to
   %{null}
   (run ocaml-crunch -m plain content -o %{target}))))
