# Interface to Perl from OCaml.
# Copyright (C) 2003 Merjis Ltd.
-# $Id: Makefile,v 1.17 2003-11-08 11:36:19 rich Exp $
+# $Id: Makefile,v 1.20 2004-02-13 10:37:16 rich Exp $
include Makefile.config
OCAMLOPTFLAGS := -w s $(OCAMLOPTINCS)
CC := gcc
-CFLAGS := -Wall -Wno-unused -I$(PERLINCDIR)
+CFLAGS := -Wall -Wno-unused -I$(PERLINCDIR) $(EXTRA_CFLAGS)
LIBPERL := $(shell perl -MExtUtils::Embed -e ldopts)
# XXX Hack required by ocamlopt, and sometimes ocamlc.
# To work out what this should be, try:
# `perl -MExtUtils::Embed -e ldopts'
-DYNALOADER_HACK := /usr/lib/perl/5.8.1/auto/DynaLoader/DynaLoader.a
+DYNALOADER_HACK := /usr/lib/perl/5.8.2/auto/DynaLoader/DynaLoader.a
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_HTTP_Message.cmo \
wrappers/pl_HTTP_Request.cmo \
wrappers/pl_HTTP_Response.cmo \
- wrappers/pl_LWP_UserAgent.cmo
+ wrappers/pl_LWP_UserAgent.cmo \
+ wrappers/pl_Template.cmo
all: perl4caml.cma perl4caml.cmxa META all-examples html
$(OCAMLMKLIB) -o perl4caml $(LIBPERL) $^
all-examples: examples/test examples/loadpage examples/google \
- examples/test.opt examples/loadpage.opt examples/google.opt
+ examples/test.opt examples/loadpage.opt examples/google.opt \
+ examples/parsedate examples/parsedate.opt
examples/test: examples/test.cmo
$(OCAMLC) $(OCAMLCFLAGS) perl4caml.cma $^ -o $@
$(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 $@
+
%.cmi: %.mli
$(OCAMLC) $(OCAMLCFLAGS) -c $<
# Clean.
-JUNKFILES = core *~ *.bak *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so
+JUNKFILES = core *~ *.bak *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt
clean:
- rm -f META examples/test examples/loadpage examples/google
+ rm -f META examples/test examples/loadpage examples/google \
+ examples/parsedate
for d in . examples wrappers; do (cd $$d; rm -f $(JUNKFILES)); done
# Build dependencies.
echo Please commit all changes to CVS first.; \
exit 1; \
fi
+ $(MAKE) dist
+ rm -rf /tmp/dbuild
+ mkdir /tmp/dbuild
+ cp $(PACKAGE)-$(VERSION).tar.gz \
+ /tmp/dbuild/$(PACKAGE)_$(VERSION).orig.tar.gz
+ export CVSROOT=`cat CVS/Root`; \
+ cd /tmp/dbuild && \
+ cvs export \
+ -d $(PACKAGE)-$(VERSION) \
+ -D now merjis/test/perl4caml
+ cd /tmp/dbuild/$(PACKAGE)-$(VERSION) && dpkg-buildpackage -rfakeroot
+ rm -rf /tmp/dbuild/$(PACKAGE)-$(VERSION)
+ ls -l /tmp/dbuild
# Documentation.