$NetBSD: patch-Makefile,v 1.3 2013/06/16 09:45:19 jaapb Exp $ Correct location for expat, add DESTDIR support, and correct depend for clang Also, make possible compilation of shared library --- Makefile.orig 2005-03-13 14:00:29.000000000 +0000 +++ Makefile @@ -3,8 +3,8 @@ # Change this to match your expat installation. EXPAT_LIB=-lexpat -EXPAT_LIBDIR=/usr/local/lib -EXPAT_INCDIR=/usr/local/include +EXPAT_LIBDIR=${PREFIX}/lib +EXPAT_INCDIR=${PREFIX}/include NAME=expat OBJECTS=expat.cmo @@ -13,6 +13,7 @@ C_OBJECTS=expat_stubs.o ARCHIVE=$(NAME).cma XARCHIVE=$(ARCHIVE:.cma=.cmxa) +XSARCHIVE=$(ARCHIVE:.cma=.cmxs) CARCHIVE_NAME=mlexpat CARCHIVE=lib$(CARCHIVE_NAME).a @@ -32,7 +33,7 @@ all: $(ARCHIVE) allopt: $(XARCHIVE) depend: *.c *.ml *.mli - gcc -MM *.c > depend + $(CC) -MM -I$(PREFIX)/lib/ocaml *.c > depend $(OCAMLDEP) *.mli *.ml >> depend ## Library creation @@ -45,12 +46,16 @@ $(ARCHIVE): $(CARCHIVE) $(OBJECTS) $(XARCHIVE): $(CARCHIVE) $(XOBJECTS) $(OCAMLMKLIB) -o $(NAME) $(XOBJECTS) -oc $(CARCHIVE_NAME) \ -L$(EXPAT_LIBDIR) $(EXPAT_LIB) +$(XSARCHIVE): $(XOBJECTS) $(CARCHIVE) + $(OCAMLOPT) -linkall -shared -o $(XSARCHIVE) $(XOBJECTS) $(CARCHIVE) \ + -ccopt -L$(EXPAT_LIBDIR) -cclib $(EXPAT_LIB) ## Installation .PHONY: install install: all - { test ! -f $(XARCHIVE) || extra="$(XARCHIVE) $(NAME).a"; }; \ - $(OCAMLFIND) install $(NAME) META $(NAME).cmi $(NAME).mli $(ARCHIVE) \ + { test ! -f $(XARCHIVE) || extra="$(XARCHIVE) $(XSARCHIVE) $(NAME).a"; }; \ + $(OCAMLFIND) install -destdir ${DESTDIR}${PREFIX}/lib/ocaml/site-lib \ + -ldconf ignore $(NAME) META $(NAME).cmi $(NAME).mli $(ARCHIVE) \ dll$(CARCHIVE_NAME).so lib$(CARCHIVE_NAME).a $$extra .PHONY: uninstall