(rule(
     (targets (my_types.ml))
     (deps (my_types_generator.exe))
     (action (with-stdout-to ${@} (run ${<})))
))

(rule(
     (targets (my_types_generator.exe))
     (deps (my_types_generator.c))
     (action (run ${CC}
               -o ${@}
               ${read:libusb_cflags}
               ${read:ctypes_cflags}
               -I${ocaml-config:standard_library}
               ${<}))
))

(rule(
     (targets (my_types_generator.c))
     (action
      (with-stdout-to ${@}
       (run c_types_generator/c_types_generator.exe)
     ))
))

(rule(
     (targets (ctypes_cflags))
     (action (with-stdout-to ${@}
              (run ctypes_cflags_generator/ctypes_cflags_generator.exe)))
))

(rule(
     (targets (libusb_cflags))
     (action (with-stdout-to ${@}
              (run libusb_cflags_generator/libusb_cflags_generator.exe)))
))