+CC := gcc
+CFLAGS := -fPIC -Wall -Wno-unused -I$(PERLINCDIR) $(EXTRA_CFLAGS)
+
+LIBPERL := $(shell perl -MExtUtils::Embed -e ldopts)
+
+SED := sed
+
+OCAMLDOCFLAGS := -html -stars -sort $(OCAMLCINCS)
+
+WRAPPERS := \
+ wrappers/pl_Date_Calc.cmo \
+ wrappers/pl_Date_Format.cmo \
+ wrappers/pl_Date_Parse.cmo \
+ wrappers/pl_Net_Google_Cache.cmo \
+ wrappers/pl_Net_Google_Response.cmo \
+ wrappers/pl_Net_Google_Search.cmo \
+ wrappers/pl_Net_Google_Spelling.cmo \
+ wrappers/pl_Net_Google.cmo \
+ wrappers/pl_HTML_Element.cmo \
+ wrappers/pl_HTML_Parser.cmo \
+ wrappers/pl_HTML_TreeBuilder.cmo \
+ wrappers/pl_URI.cmo \
+ wrappers/pl_HTTP_Cookies.cmo \
+ wrappers/pl_HTTP_Headers.cmo \
+ wrappers/pl_HTTP_Message.cmo \
+ wrappers/pl_HTTP_Request.cmo \
+ wrappers/pl_HTTP_Request_Common.cmo \
+ wrappers/pl_HTTP_Response.cmo \
+ wrappers/pl_HTML_Form.cmo \
+ wrappers/pl_LWP_UserAgent.cmo \
+ wrappers/pl_Template.cmo \
+ wrappers/pl_WWW_Mechanize.cmo
+
+all: perl4caml.cma perl4caml.cmxa META all-examples html
+
+perl4caml.cma: perl.cmo perl_c.o $(WRAPPERS)
+ $(OCAMLMKLIB) -o perl4caml $(LIBPERL) $^
+
+perl4caml.cmxa: perl.cmx perl_c.o $(WRAPPERS:.cmo=.cmx)
+ $(OCAMLMKLIB) -o perl4caml $(LIBPERL) $^
+
+all-examples: examples/test examples/loadpage examples/google \
+ examples/test.opt examples/loadpage.opt examples/google.opt \
+ examples/parsedate examples/parsedate.opt
+
+examples/test: examples/test.cmo
+ $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
+
+examples/test.opt: examples/test.cmx
+ $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
+ $(DYNALOADER_HACK) $^ -o $@
+
+examples/loadpage: examples/loadpage.cmo
+ $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
+
+examples/loadpage.opt: examples/loadpage.cmx
+ $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
+ $(DYNALOADER_HACK) $^ -o $@
+
+examples/google: examples/google.cmo
+ $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
+
+examples/google.opt: examples/google.cmx
+ $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
+ $(DYNALOADER_HACK) $^ -o $@
+
+examples/parsedate: examples/parsedate.cmo
+ $(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
+
+examples/parsedate.opt: examples/parsedate.cmx
+ $(OCAMLOPT) $(OCAMLOPTFLAGS) -cclib -L. perl4caml.cmxa \
+ $(DYNALOADER_HACK) $^ -o $@