(rule
 (copy copy-sources/pped.pp.re pped.re))

(rule
 (copy copy-sources/pped.rei.pp pped.rei))

(library
 (name rlib)
 (public_name rlib)
 (modules bar cppome foo hello pped)
 (lint
  (per_module
   ((pps reasonppx -- -lint true)
    hello
    cppome)
   ((action
     (run ./pp/reasononlypp.exe -lint %{input-file}))
    foo
    bar
    pped)))
 (preprocess
  (per_module
   ((pps reasonppx)
    foo)
   ((pps reasonppx -- -lint false)
    hello)
   ((action
     (run ./pp/reasononlypp.exe %{input-file}))
    cppome))))

(executable
 (name rbin)
 (modules rbin)
 (lint
  (action
   (run ./pp/reasononlypp.exe -lint %{input-file})))
 (preprocess
  (action
   (run ./pp/reasononlypp.exe %{input-file})))
 (libraries rlib))

(alias
 (name install-file)
 (deps rlib.install)
 (action
  (echo "%{read:rlib.install}")))

(alias
 (name runtest)
 (deps
  (:< rbin.exe))
 (action
  (run %{<})))
