OCAML_LIBRARIES =
OCAMLPACKS = bigarray

LIB_CNAMES = common_stubs write_stubs read_stubs

LIB_MLNAMES = \
  nat0 common unsafe_common \
  size write_ml read_ml \
  unsafe_write_c unsafe_read_c \
  write_c read_c \
  sw_arg \
  utils \
  map_to_safe

$(addsuffixes .cmi .cmo .cmx .o, read_ml write_ml): int_codes.mlh

pa_bin_prot.cmi pa_bin_prot.cmo: $(LIBDIR)/pa_type_conv.cmi $(LIBDIR)/pa_type_conv.cmo

OCamlPreprocess(camlp4orf, pa_bin_prot)

switch $(PROCESSOR)
case x86_64
  ARCH_FLAGS = -DARCH_SIXTYFOUR
  export ARCH_FLAGS
default
  ARCH_FLAGS =
  export ARCH_FLAGS

OCamlPreprocess(cpp $(ARCH_FLAGS), size write_ml read_ml unsafe_read_c unsafe_write_c sw_arg)

OCamlMakeLibPackage(bin_prot)

foreach(suff, .cmi .cmo)
  pa_file = pa_bin_prot$(suff)
  $(LIBDIR)/$(pa_file): $(pa_file) bin_prot
    rm(-f $@)
    symlink($<, $@)

.PHONY: pa_bin_prot

.DEFAULT: pa_bin_prot
pa_bin_prot: $(LIBDIR)/pa_bin_prot.cmi $(LIBDIR)/pa_bin_prot.cmo

InstantiateOCamlEnv()
