$OpenBSD: patch-src_Makefile,v 1.3 2013/01/31 21:20:32 dcoppa Exp $

Support DESTDIR with findlib-install; unbreak systraced builds
(adapted from upstream git 58e15c3a33ee747e3e58a2c9687f22234f0055b6)

--- src/Makefile.orig	Thu Aug 23 12:37:48 2012
+++ src/Makefile	Thu Jan 31 12:00:38 2013
@@ -48,7 +48,7 @@ CUSTOM = -custom
 #MLLINK += -cclib -lcamlrund
 MLBYTEFLAGS = -g -dtypes
 else
-CFLAGS = -DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS $(GTKCFLAGS)
+CFLAGS += -DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS $(GTKCFLAGS)
 ifneq ($(TOOLCHAIN),msvc)
 CFLAGS += -O
 endif
@@ -63,7 +63,7 @@ endif
 THLINK = unix.cma threads.cma
 
 ifdef USE_CC
-CCOMPILER = $(CC) -c -I"$(LIBDIR)" $(CFLAGS)
+CCOMPILER = $(CC) -c -I"$(LIBDIR)" $(CFLAGS) -fPIC
 else
 CCOMPILER = $(CAMLC) -c -ccopt '$(CFLAGS)' -verbose
 endif
@@ -274,7 +274,7 @@ lablgtktop$(XE): $(MLLIBS) $(THOBJS) $(CONFIG)
 endif
 
 lablgtk2: Makefile $(CONFIG) lablgtk2.in
-	sed -e "s|@INSTALLDIR@|$(INSTALLDIR)|g" \
+	sed -e "s|@INSTALLDIR@|$(LABLGTKDIR)|g" \
 	    -e "s|@LABLGLDIR@|$(LABLGLDIR)|g" \
 	    -e "s|@MLLIBS@|$(MLLINK) $(MLLIBS)|g" \
 	    -e "s|@INITOBJS@|$(INITOBJS)|g" \
@@ -391,7 +391,9 @@ old-uninstall:
 # Install using ocamlfind
 findlib-install:
 	mkdir -p "$(BINDIR)"
-	ocamlfind install lablgtk2 ../META \
+	mkdir -p "$(DESTDIR)$(FINDLIBDIR)"
+	ocamlfind install -destdir "$(DESTDIR)$(FINDLIBDIR)" \
+    lablgtk2 ../META \
     build.ml \
     $(CLIBS) \
     $(ALLOBJS:.cmo=.cmi) $(EXTRA_OBJS:.cmo=.cmi) \
@@ -427,16 +429,19 @@ findlib-install:
       then \
         echo $(CLIBS:lib%$(XA)=dll%$(XA)) ; \
     fi`
-	$(RANLIB) $(CLIBS:%="`ocamlfind query lablgtk2 | tr -d '\r'`"/%)
-	@if test -f lablgtk.cmxa; \
-	  then ($(RANLIB) $(MLLIBS:%.cma="`ocamlfind query lablgtk2 | tr -d '\r'`"/%$(XA)) $(EXTRA_MLLIBS:%.cma="`ocamlfind query lablgtk2 | tr -d '\r'`"/%$(XA)) ); fi
-	rm lablgtk2$(XB)
-	$(MAKE) INSTALLDIR=`ocamlfind query lablgtk2 | tr -d '\r'` lablgtk2$(XB)
+	rm -f lablgtk2
+	$(MAKE) lablgtk2 LABLGTKDIR="$(FINDLIBDIR)/lablgtk2"
 	cp lablgtk2$(XB) "$(BINDIR)"
 	if test -f lablgladecc$(XE); then \
 	  cp lablgladecc$(XE) "$(BINDIR)/lablgladecc2$(XE)"; \
 	fi
 	cp gdk_pixbuf_mlsource$(XE) "$(BINDIR)"
+	$(RANLIB) $(CLIBS:%=$(FLINSTALLDIR)/%)
+	@if test -f lablgtk.cmxa; then \
+	  echo "Execute $(RANLIB) in $(FLINSTALLDIR)"; \
+	  $(RANLIB) $(MLLIBS:%.cma=$(FLINSTALLDIR)/%$(XA)) \
+		    $(EXTRA_MLLIBS:%.cma=$(FLINSTALLDIR)/%$(XA)) ; \
+	 fi
 
 findlib-uninstall:
 	ocamlfind remove lablgtk2
