Document support for VPATH builds of extensions.
authorAndrew Dunstan
Mon, 7 Oct 2013 03:03:57 +0000 (23:03 -0400)
committerAndrew Dunstan
Mon, 7 Oct 2013 03:03:57 +0000 (23:03 -0400)
Cédric Villemain and me.

doc/src/sgml/extend.sgml

index 60fa1a8922cfad4ed6b826a5acf27479ded1eef1..5015002aac8eca5b411c5e1c42b8924fd4441e48 100644 (file)
@@ -935,7 +935,7 @@ include $(PGXS)
     To use the PGXS infrastructure for your extension,
     you must write a simple makefile.
     In the makefile, you need to set some variables
-    and finally include the global PGXS makefile.
+    and include the global PGXS makefile.
     Here is an example that builds an extension module named
     isbn_issn, consisting of a shared library containing
     some C code, an extension control file, a SQL script, and a documentation
@@ -1171,6 +1171,33 @@ include $(PGXS)
     
    
 
+   
+    You can also run make in a directory outside the source
+    tree of your extension, if you want to keep the build directory separate.
+    This procedure is also called a
+    VPATHVPATH
+    build.  Here's how:
+    
+      mkdir build_dir
+      cd build_dir
+      make -f /path/to/extension/source/tree/Makefile
+      make -f /path/to/extension/source/tree/Makefile install
+    
+   
+
+   
+    Alternatively, you can set up a directory for a VPATH build in a similar
+    way to how it is done for the core code. One way to to this is using the
+    core script config/prep_buildtree. Once this has been done
+    you can build by setting the make variable
+    USE_VPATH like this:
+    
+      make USE_VPATH=/path/to/extension/source/tree
+      make USE_VPATH=/path/to/extension/source/tree install
+    
+    This procedure can work with a greater variety of directory layouts.
+   
+
    
     The scripts listed in the REGRESS variable are used for
     regression testing of your module, which can be invoked by make