WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-api

[Xen-API] [PATCH] [packaging] separate the normal Makefile from the one

To: xen-api <xen-api@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-API] [PATCH] [packaging] separate the normal Makefile from the one used to build the components and create a bins target which build and install binaries (as closeandexec).
From: Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>
Date: Tue, 10 Nov 2009 13:54:12 +0000
Delivery-date: Tue, 10 Nov 2009 05:54:34 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>
[packaging] separate the normal Makefile from the one used to build the 
components and create a bins target which build and install binaries (as 
closeandexec).

Signed-off-by: Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>

diff -r 762288262f76 Makefile
--- a/Makefile  Fri Nov 06 13:30:01 2009 +0000
+++ b/Makefile  Fri Nov 06 15:29:51 2009 +0000
@@ -1,15 +1,4 @@
-NO_DEFAULT_BUILD := yes
-ifdef B_BASE
-include $(B_BASE)/common.mk
-else
-MY_OUTPUT_DIR ?= $(CURDIR)/output
-MY_OBJ_DIR ?= $(CURDIR)/obj
-
-%/.dirstamp:
-       @mkdir -p $*
-       @touch $@
-endif
-
+.PHONY: all
 all:
        $(MAKE) -C uuid
        $(MAKE) -C camldm
@@ -25,7 +14,8 @@
        $(MAKE) -C close-and-exec
        $(MAKE) -C sexpr
 
-allxen:
+.PHONY: allxen
+allxen: all
        $(MAKE) -C mmap
        $(MAKE) -C xc
        $(MAKE) -C xb
@@ -100,49 +90,6 @@
        $(MAKE) -C stdext binuninstall
        $(MAKE) -C close-and-exec binuninstall
 
-OUTPUT_API_PKG := $(MY_OUTPUT_DIR)/api-libs.tar.gz
-
-$(OUTPUT_API_PKG): DESTDIR=$(MY_OBJ_DIR)/staging/
-$(OUTPUT_API_PKG): PREFIX=$(shell ocamlfind printconf path)
-$(OUTPUT_API_PKG): $(MY_OBJ_DIR)/.dirstamp $(MY_OUTPUT_DIR)/.dirstamp
-       rm -rf $(DESTDIR)
-       mkdir -p $(DESTDIR)$(PREFIX)
-       mkdir -p $(DESTDIR)$(LIBEXEC)
-       $(MAKE) clean
-       $(MAKE) all
-       $(MAKE) DESTDIR=$(MY_OBJ_DIR)/staging install
-       $(MAKE) bins
-       $(MAKE) DESTDIR=$(MY_OBJ_DIR)/staging bininstall
-       tar -C $(DESTDIR) -zcf $@ .
-
-OUTPUT_XAPI_PKG := $(MY_OUTPUT_DIR)/xapi-libs.tar.gz
-
-$(OUTPUT_XAPI_PKG): DESTDIR=$(MY_OBJ_DIR)/staging/
-$(OUTPUT_XAPI_PKG): PREFIX=$(shell ocamlfind printconf path)
-$(OUTPUT_XAPI_PKG): $(MY_OBJ_DIR)/.dirstamp $(MY_OUTPUT_DIR)/.dirstamp
-       rm -rf $(DESTDIR)
-       mkdir -p $(DESTDIR)$(PREFIX)
-       $(MAKE) cleanxen
-       $(MAKE) allxen
-       $(MAKE) DESTDIR=$(MY_OBJ_DIR)/staging installxen
-       tar -C $(DESTDIR) -zcf $@ .
-
-OUTPUT_SRC := $(MY_OUTPUT_DIR)/xen-api-libs-src.tar.bz2
-
-$(MY_SOURCES)/MANIFEST: $(MY_SOURCES_DIRSTAMP) $(OUTPUT_SRC)
-       echo api lgpl-with-linking-exception file $(OUTPUT_SRC) > $@
-
-$(OUTPUT_SRC):
-       cd $(REPO) && hg archive -t tbz2 $(HG_EXCLUDE) $@
-
-.PHONY: api-libs
-api-libs: $(OUTPUT_API_PKG) $(MY_SOURCES)/MANIFEST
-       @ :
-
-.PHONY: xapi-libs
-xapi-libs: $(OUTPUT_XAPI_PKG) $(MY_SOURCES)/MANIFEST
-       @ :
-       
 .PHONY: doc
 doc:
        $(MAKE) -C uuid doc
@@ -180,7 +127,6 @@
        make -C close-and-exec clean
        make -C sexpr clean
        make -C doc clean
-       rm -f $(OUTPUT_API_PKG)
 
 cleanxen:
        $(MAKE) -C mmap clean
@@ -189,4 +135,5 @@
        $(MAKE) -C xs clean
        $(MAKE) -C xsrpc clean
        $(MAKE) -C eventchn clean
-       rm -f $(OUTPUT_XAPI_PKG)
+
+
diff -r 762288262f76 camldm/Makefile
--- a/camldm/Makefile   Fri Nov 06 13:30:01 2009 +0000
+++ b/camldm/Makefile   Fri Nov 06 15:29:51 2009 +0000
@@ -1,4 +1,3 @@
-
 CC = gcc
 CFLAGS = -Wall -fPIC -O2 -I/opt/xensource/lib/ocaml
 OCAMLC = ocamlc -g
@@ -6,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -55,8 +53,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore camldm META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore camldm META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 cdrom/Makefile
--- a/cdrom/Makefile    Fri Nov 06 13:30:01 2009 +0000
+++ b/cdrom/Makefile    Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -54,8 +53,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore cdrom META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore cdrom META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 close-and-exec/Makefile
--- a/close-and-exec/Makefile   Fri Nov 06 13:30:01 2009 +0000
+++ b/close-and-exec/Makefile   Fri Nov 06 15:29:51 2009 +0000
@@ -7,7 +7,6 @@
 LDFLAGS = -cclib -L./
 
 LIBEXEC  = "/opt/xensource/libexec"
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -29,8 +28,8 @@
 
 libs: $(LIBS)
 
-closeandexec: closeandexec.cmxa all
-       $(OCAMLOPT) $(OCAMLOPTFLAGS) closeandexec.cmxa -o $@ $<
+closeandexec: closeandexec.cmxa closeandexec_main.cmx all
+       $(OCAMLOPT) $(OCAMLOPTFLAGS) -thread -I ../stdext -I ../uuid uuid.cmxa 
unix.cmxa threads.cmxa stdext.cmxa closeandexec.cmxa closeandexec_main.cmx -o 
$@ 
 
 closeandexec.cmxa: $(foreach obj,$(OBJS),$(obj).cmx)
        $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $@ $(foreach obj,$(OBJS),$(obj).cmx)
@@ -54,13 +53,16 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore close-and-exec META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore close-and-exec META 
$(INTF) $(LIBS) *.a *.cmx
 
 .PHONY: bininstall
-bininstall:
-       mkdir -p $(DESDIR)$(LIBEXEC)
-       $(IPROG) $(PROGRAMS) $(DESDIR)$(LIBEXEC)
+bininstall: path = $(DESTDIR)$(LIBEXEC)
+bininstall: all
+       mkdir -p $(path)
+       $(IPROG) $(PROGRAMS) $(path)
 
 .PHONY: uninstall
 uninstall:
@@ -73,6 +75,6 @@
 .PHONY: doc
 doc: $(INTF)
        python ../doc/doc.py $(DOCDIR) "close-and-exec" "library" "$(OBJS)" "." 
"stdext" ""
-       
+
 clean:
        rm -f *.o *.so *.a *.cmo *.cmi *.cma *.cmx *.cmxa *.annot $(LIBS) 
$(PROGRAMS)
diff -r 762288262f76 close-and-exec/closeandexec_main.ml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/close-and-exec/closeandexec_main.ml       Fri Nov 06 15:29:51 2009 +0000
@@ -0,0 +1,2 @@
+
+let _ = Closeandexec.main ()
diff -r 762288262f76 eventchn/Makefile
--- a/eventchn/Makefile Fri Nov 06 13:30:01 2009 +0000
+++ b/eventchn/Makefile Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -54,8 +53,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore eventchn META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore eventchn META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 http-svr/Makefile
--- a/http-svr/Makefile Fri Nov 06 13:30:01 2009 +0000
+++ b/http-svr/Makefile Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -47,8 +46,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore http-svr META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore http-svr META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 log/Makefile
--- a/log/Makefile      Fri Nov 06 13:30:01 2009 +0000
+++ b/log/Makefile      Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLCFLAGS = -g -dtypes -thread -I ../stdext
 OCAMLOPTFLAGS = -g -dtypes -thread -I ../stdext
@@ -61,8 +60,10 @@
 debug.cmi: logs.cmi
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore log META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore log META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 mk/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/Makefile       Fri Nov 06 15:29:51 2009 +0000
@@ -0,0 +1,67 @@
+NO_DEFAULT_BUILD := yes
+ifdef B_BASE
+include $(B_BASE)/common.mk
+else
+MY_OUTPUT_DIR         ?= $(CURDIR)/_build/output-devel
+MY_MAIN_PACKAGES      ?= $(CURDIR)/_build/output
+MY_OBJ_DIR            ?= $(CURDIR)/_build/obj
+MY_SOURCES            ?= $(CURDIR)/_build/output-src
+MY_SOURCES_DIRSTAMP   ?= $(MY_SOURCES)/.dirstamp
+
+%/.dirstamp:
+       @mkdir -p $*
+       @touch $@
+endif
+
+REPO                   = $(call hg_loc,xen-api-libs)
+STAGING               ?= $(MY_OBJ_DIR)/staging
+OUTPUT_API_DEVEL_PKG  ?= $(MY_OUTPUT_DIR)/api-libs-devel.tar.gz
+OUTPUT_XAPI_DEVEL_PKG ?= $(MY_OUTPUT_DIR)/xapi-libs-devel.tar.gz
+OUTPUT_API_PKG        ?= $(MY_MAIN_PACKAGES)/api-libs.tar.bz2
+OUTPUT_SRC            ?= $(MY_SOURCES)/xen-api-libs-src.tar.bz2
+
+$(OUTPUT_API_DEVEL_PKG):
+       rm -rf $(STAGING)
+       mkdir -p $(MY_OUTPUT_DIR)
+       $(MAKE) -C $(REPO) clean
+       $(MAKE) -C $(REPO) all
+       $(MAKE) -C $(REPO) DESTDIR=$(STAGING) install
+       tar -C $(STAGING) -zcf $@ .
+
+$(OUTPUT_API_PKG): $(OUTPUT_API_DEVEL_PKG)
+       rm -rf $(STAGING)
+       mkdir -p $(MY_MAIN_PACKAGES)
+       $(MAKE) -C $(REPO) bins
+       $(MAKE) -C $(REPO) DESTDIR=$(STAGING) bininstall
+       tar -C $(STAGING) -jcf $@ .
+
+$(OUTPUT_XAPI_DEVEL_PKG):
+       rm -rf $(STAGING)
+       mkdir -p $(MY_OUTPUT_DIR)
+       $(MAKE) -C $(REPO) cleanxen
+       $(MAKE) -C $(REPO) allxen
+       $(MAKE) -C $(REPO) DESTDIR=$(STAGING) installxen
+       tar -C $(STAGING) -zcf $@ .
+
+$(MY_SOURCES)/MANIFEST: $(MY_SOURCES_DIRSTAMP) $(OUTPUT_SRC)
+       mkdir -p $(MY_SOURCES)
+       echo api lgpl-with-linking-exception file $(OUTPUT_SRC) > $@
+
+$(OUTPUT_SRC):
+       mkdir -p $(MY_SOURCES)
+       cd $(REPO) && hg archive -t tbz2 $(HG_EXCLUDE) $@
+
+.PHONY: api-libs
+api-libs: $(OUTPUT_API_DEVEL_PKG) $(OUTPUT_API_PKG) $(MY_SOURCES)/MANIFEST
+
+.PHONY: xapi-libs
+xapi-libs: $(OUTPUT_XAPI_DEVEL_PKG) $(MY_SOURCES)/MANIFEST
+
+.PHONY: clean
+       rm -f $(STAGING)
+       rm -f $(OUTPUT_API_DEVEL_PKG)
+       rm -f $(OUTPUT_API_PKG)
+       rm -f $(OUTPUT_XAPI_DEVEL_PKG)
+       rm -f $(OUTPUT_SRC)
+       $(MAKE) -C $(REPO) clean
+       $(MAKE) -C $(REPO) cleanxen
diff -r 762288262f76 mmap/Makefile
--- a/mmap/Makefile     Fri Nov 06 13:30:01 2009 +0000
+++ b/mmap/Makefile     Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -54,8 +53,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore mmap META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore mmap META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 pciutil/Makefile
--- a/pciutil/Makefile  Fri Nov 06 13:30:01 2009 +0000
+++ b/pciutil/Makefile  Fri Nov 06 15:29:51 2009 +0000
@@ -7,7 +7,6 @@
 LDFLAGS = -cclib -L./
 
 LIBEXEC = "/opt/xensource/libexec"
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -54,13 +53,16 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore pciutil META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore pciutil META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: bininstall
-bininstall:
-       mkdir -p $(DESDIR)$(LIBEXEC)
-       $(IPROG) $(PROGRAMS) $(DESDIR)$(LIBEXEC)
+bininstall: path = $(DESTDIR)$(LIBEXEC)
+bininstall: all
+       mkdir -p $(path)
+       $(IPROG) $(PROGRAMS) $(path)
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 rpc-light/Makefile
--- a/rpc-light/Makefile        Fri Nov 06 13:30:01 2009 +0000
+++ b/rpc-light/Makefile        Fri Nov 06 15:29:51 2009 +0000
@@ -56,13 +56,15 @@
 
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: rpc.cmi pa_rpc.cma xmlrpc.cma xmlrpc.cmxa
+       mkdir -p $(path)
        cp META-xmlrpc META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) xmlrpc META xmlrpc.cma xmlrpc.cmxa xmlrpc.cmi rpc.cmi xmlrpc.cmx 
rpc.cmx xmlrpc.a xmlrpc.o
+       ocamlfind install -destdir $(path) xmlrpc META xmlrpc.cma xmlrpc.cmxa 
xmlrpc.cmi rpc.cmi xmlrpc.cmx rpc.cmx xmlrpc.a xmlrpc.o
        cp META-jsonrpc META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) jsonrpc META jsonrpc.cma jsonrpc.cmxa jsonrpc.cmi rpc.cmi jsonrpc.cmx 
rpc.cmx jsonrpc.a jsonrpc.o
+       ocamlfind install -destdir $(path) jsonrpc META jsonrpc.cma 
jsonrpc.cmxa jsonrpc.cmi rpc.cmi jsonrpc.cmx rpc.cmx jsonrpc.a jsonrpc.o
        cp META-rpc-light META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) rpc-light META pa_rpc.cma pa_rpc.cmi
+       ocamlfind install -destdir $(path) rpc-light META pa_rpc.cma pa_rpc.cmi
        rm META
 
 .PHONY: uninstall
diff -r 762288262f76 rss/Makefile
--- a/rss/Makefile      Fri Nov 06 13:30:01 2009 +0000
+++ b/rss/Makefile      Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -47,8 +46,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore rss META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore rss META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 sexpr/Makefile
--- a/sexpr/Makefile    Fri Nov 06 13:30:01 2009 +0000
+++ b/sexpr/Makefile    Fri Nov 06 15:29:51 2009 +0000
@@ -9,7 +9,6 @@
 LDFLAGS = -cclib -L./
 
 LIBEXEC  = "/opt/xensource/libexec"
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -68,13 +67,16 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore sexpr META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore sexpr META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: bininstall
-bininstall:
-       mkdir -p $(DESDIR)$(LIBEXEC)
-       $(IPROG) $(PROGRAMS) $(DESDIR)$(LIBEXEC)
+bininstall: path = $(DESTDIR)$(LIBEXEC)
+bininstall: all
+       mkdir -p $(path)
+       $(IPROG) $(PROGRAMS) $(path)
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 stdext/Makefile
--- a/stdext/Makefile   Fri Nov 06 13:30:01 2009 +0000
+++ b/stdext/Makefile   Fri Nov 06 15:29:51 2009 +0000
@@ -8,7 +8,6 @@
 LDFLAGS = -cclib -L./
 
 LIBEXEC = "/opt/xensource/libexec/"
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -29,7 +28,7 @@
 PROGRAMS = base64pp
 
 DOCDIR = /myrepos/xen-api-libs.hg/doc
-       
+
 all: $(INTF) $(LIBS)
 
 bins: $(PROGRAMS)
@@ -100,13 +99,16 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore stdext META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore stdext META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: bininstall
-bininstall:
-       mkdir -p $(DESDIR)$(LIBEXEC)
-       $(IPROG) $(PROGRAMS) $(DESDIR)$(LIBEXEC)
+bininstall: path = $(DESTDIR)$(LIBEXEC)
+bininstall: all
+       mkdir -p $(path)
+       $(IPROG) $(PROGRAMS) $(path)
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 stunnel/Makefile
--- a/stunnel/Makefile  Fri Nov 06 13:30:01 2009 +0000
+++ b/stunnel/Makefile  Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -47,8 +46,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore stunnel META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore stunnel META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 uuid/Makefile
--- a/uuid/Makefile     Fri Nov 06 13:30:01 2009 +0000
+++ b/uuid/Makefile     Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -47,8 +46,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore uuid META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore uuid META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 xb/Makefile
--- a/xb/Makefile       Fri Nov 06 13:30:01 2009 +0000
+++ b/xb/Makefile       Fri Nov 06 15:29:51 2009 +0000
@@ -6,7 +6,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 
 OCAMLABI := $(shell ocamlc -version)
@@ -60,8 +59,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore xb META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore xb META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 xc/Makefile
--- a/xc/Makefile       Fri Nov 06 13:30:01 2009 +0000
+++ b/xc/Makefile       Fri Nov 06 15:29:51 2009 +0000
@@ -6,7 +6,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 
 OCAMLABI := $(shell ocamlc -version)
@@ -54,8 +53,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore xc META $(INTF) $(LIBS) *.a *.so *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore xc META $(INTF) 
$(LIBS) *.a *.so *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 xml-light2/Makefile
--- a/xml-light2/Makefile       Fri Nov 06 13:30:01 2009 +0000
+++ b/xml-light2/Makefile       Fri Nov 06 15:29:51 2009 +0000
@@ -13,7 +13,6 @@
 LDFLAGS = -cclib -L./
 
 LIBEXEC  = "/opt/xensource/libexec"
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes
 
@@ -59,13 +58,16 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore xml-light2 META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore xml-light2 META 
$(INTF) $(LIBS) *.a *.cmx
 
 .PHONY: bininstall
-bininstall:
-       mkdir -p $(DESDIR)$(LIBEXEC)
-       $(IPROG) $(PROGRAMS) $(DESDIR)$(LIBEXEC)
+bininstall: path = $(DESTDIR)$(LIBEXEC)
+bininstall: all
+       mkdir -p $(path)
+       $(IPROG) $(PROGRAMS) $(path)
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 xs/Makefile
--- a/xs/Makefile       Fri Nov 06 13:30:01 2009 +0000
+++ b/xs/Makefile       Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes -I ../xb/
 
@@ -50,8 +49,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore xs META $(INTF) xs.mli xst.mli xsraw.mli $(LIBS) *.a 
*.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore xs META $(INTF) 
xs.mli xst.mli xsraw.mli $(LIBS) *.a *.cmx
 
 .PHONY: uninstall
 uninstall:
diff -r 762288262f76 xsrpc/Makefile
--- a/xsrpc/Makefile    Fri Nov 06 13:30:01 2009 +0000
+++ b/xsrpc/Makefile    Fri Nov 06 15:29:51 2009 +0000
@@ -5,7 +5,6 @@
 
 LDFLAGS = -cclib -L./
 
-DESTDIR ?= /
 VERSION := $(shell hg parents --template "{rev}" 2>/dev/null || echo 0.0)
 OCAMLOPTFLAGS = -g -dtypes -I ../xb/ -I ../xs/
 
@@ -47,8 +46,10 @@
        sed 's/@VERSION@/$(VERSION)/g' < $< > $@
 
 .PHONY: install
+install: path = $(DESTDIR)$(shell ocamlfind printconf destdir)
 install: $(LIBS) META
-       ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf 
destdir) -ldconf ignore xsrpc META $(INTF) $(LIBS) *.a *.cmx
+       mkdir -p $(path)
+       ocamlfind install -destdir $(path) -ldconf ignore xsrpc META $(INTF) 
$(LIBS) *.a *.cmx
 
 .PHONY: uninstall
 uninstall:

Attachment: api-libs-make-devel-targets
Description: Text document

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-API] [PATCH] [packaging] separate the normal Makefile from the one used to build the components and create a bins target which build and install binaries (as closeandexec)., Thomas Gazagnaire <=