$NetBSD: patch-Makefile,v 1.4 2017/07/11 12:38:24 jaapb Exp $ Correct location for expat, add DESTDIR support, and correct depend for clang Also, make possible compilation of shared library --- Makefile.orig 2016-12-30 13:33:39.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$(EXT_OBJ) ARCHIVE=$(NAME).cma XARCHIVE=$(ARCHIVE:.cma=.cmxa) +XSARCHIVE=$(ARCHIVE:.cma=.cmxs) CARCHIVE_NAME=mlexpat CARCHIVE=lib$(CARCHIVE_NAME)$(EXT_LIB) @@ -32,10 +33,10 @@ include $(OCAMLDIR)/Makefile.config .PHONY: all all: $(ARCHIVE) .PHONY: allopt -allopt: $(XARCHIVE) +allopt: $(XARCHIVE) $(XSARCHIVE) depend: *.c *.ml *.mli - gcc -I $(OCAMLDIR) -MM *.c > depend + $(CC) -I $(OCAMLDIR) -MM *.c > depend $(OCAMLDEP) *.mli *.ml >> depend ## Library creation @@ -48,11 +49,14 @@ $(ARCHIVE): $(CARCHIVE) $(OBJECTS) $(XARCHIVE): $(CARCHIVE) $(XOBJECTS) $(OCAMLMKLIB) -o $(NAME) $(XOBJECTS) -oc $(CARCHIVE_NAME) \ -L$(EXPAT_LIBDIR) $(EXPAT_LIB) +$(XSARCHIVE): $(XARCHIVE) + $(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)$(EXT_LIB)"; }; \ + { test ! -f $(XARCHIVE) || extra="$(XARCHIVE) $(XSARCHIVE) $(NAME)$(EXT_LIB)"; }; \ $(OCAMLFIND) install $(NAME) META $(NAME).cmi $(NAME).mli $(ARCHIVE) \ lib$(CARCHIVE_NAME)$(EXT_LIB) $$extra \ -optional dll$(CARCHIVE_NAME)$(EXT_DLL)