# Build the pdf library as byte code and native code
# Outputs camlpdf.cmxa, camlpdf.cma
# and dllcamlpdf_stubs.so, libcamlpdf_stubs.a or similar 
# OCaml and C source and interface files. Order matters.
SOURCES = utility.ml utility.mli \
	  istring.ml istring.mli \
	  io.ml io.mli \
	  unzip.ml unzip.mli \
	  pdfio.ml pdfio.mli \
	  cgenlex.ml cgenlex.mli \
	  zlib.ml zlib.mli \
	  zlibstubs.c \
	  transform.ml transform.mli \
	  units.ml units.mli \
	  paper.ml paper.mli \
	  pdf.ml pdf.mli \
	  pdfcrypt.ml pdfcrypt.mli \
	  pdfwrite.ml pdfwrite.mli \
	  pdfcodec.ml pdfcodec.mli \
	  pdfread.ml pdfread.mli \
	  pdfpages.ml pdfpages.mli \
	  pdfdoc.ml pdfdoc.mli \
	  pdfannot.ml pdfannot.mli \
	  pdffun.ml pdffun.mli \
	  pdfspace.ml pdfspace.mli \
	  pdfimage.ml pdfimage.mli \
	  glyphlist.ml glyphlist.mli \
	  pdftext.ml pdftext.mli \
	  fonttables.ml fonttables.mli \
	  pdfgraphics.ml pdfgraphics.mli \
	  pdfshapes.ml pdfshapes.mli \
	  pdfmarks.ml pdfmarks.mli \
	  pdfdate.ml pdfdate.mli \
	  cff.ml cff.mli

RESULT = camlpdf

TRASH = tl prog.tex camlpdf.tex camlpdf.aux camlpdf.log camlpdf.toc 

# ML Libraries
LIBS = unix bigarray str

CLIBS = z

CFLAGS = -m32

#Uncomment for debug build
#OCAMLNCFLAGS = -g
#OCAMLBCFLAGS = -g
#CAMLLDFLAGS = -g

#Uncomment if you have these compilers
#OCAMLOPT = ocamlopt.opt
#OCAMLC = ocamlc.opt

#Remove native-code-library if you don't have native compilers
all : byte-code-library native-code-library

# Predefined generic makefile
-include OCamlMakefile

# Build .NET DLL with FSharp
fsharp:utility.mli utility.ml istring.mli istring.ml io.mli io.ml unzip.mli unzip.ml pdfio.mli pdfio.ml cgenlex.mli cgenlex.ml transform.mli transform.ml units.mli units.ml paper.mli paper.ml pdf.mli pdf.ml pdfcrypt.mli pdfcrypt.ml pdfwrite.mli pdfwrite.ml pdfcodec.mli pdfcodec.ml pdfread.mli pdfread.ml pdfpages.mli pdfpages.ml pdfdoc.mli pdfdoc.ml pdfannot.mli pdfannot.ml pdffun.mli pdffun.ml pdfspace.mli pdfspace.ml pdfimage.mli pdfimage.ml glyphlist.mli glyphlist.ml pdftext.mli pdftext.ml fonttables.mli fonttables.ml pdfgraphics.mli pdfgraphics.ml pdfshapes.mli pdfshapes.ml pdfmarks.mli pdfmarks.ml pdfdate.mli pdfdate.ml 
	fsc -a --version 1.5.0.0 --keyfile key.snk --out Coherent.PDFTools.dll --nowarn 62 --nologo -r ICSharpCode.SharpZipLib.dll -r FSharp.PowerPack.dll utility.mli utility.ml istring.mli istring.ml io.mli io.ml unzip.mli unzip.ml pdfio.mli pdfio.ml cgenlex.mli cgenlex.ml transform.mli transform.ml units.mli units.ml paper.mli paper.ml pdf.mli pdf.ml pdfcrypt.mli pdfcrypt.ml pdfwrite.mli pdfwrite.ml pdfcodec.mli pdfcodec.ml pdfread.mli pdfread.ml pdfpages.mli pdfpages.ml pdfdoc.mli pdfdoc.ml pdfannot.mli pdfannot.ml pdffun.mli pdffun.ml pdfspace.mli pdfspace.ml pdfimage.mli pdfimage.ml glyphlist.mli glyphlist.ml pdftext.mli pdftext.ml fonttables.mli fonttables.ml pdfgraphics.mli pdfgraphics.ml pdfshapes.mli pdfshapes.ml pdfmarks.mli pdfmarks.ml pdfdate.mli pdfdate.ml

# Build the reference
documents: utility.mli pdfio.mli transform.mli units.mli paper.mli pdf.mli pdfcrypt.mli pdfwrite.mli pdfcodec.mli pdfread.mli pdfpages.mli pdfdoc.mli pdffun.mli pdfimage.mli pdfannot.mli glyphlist.mli pdftext.mli pdfmarks.mli fonttables.mli pdfgraphics.mli
	mkdir -p doc/camlpdf/html; ocamldoc -html -d doc/camlpdf/html utility.mli pdfio.mli transform.mli units.mli paper.mli pdf.mli pdfcrypt.mli pdfwrite.mli pdfcodec.mli pdfread.mli pdfpages.mli pdfdoc.mli pdfannot.mli pdffun.mli pdfspace.mli pdfimage.mli glyphlist.mli pdftext.mli fonttables.mli pdfgraphics.mli pdfshapes.mli pdfmarks.mli pdfdate.mli cff.mli

