From ca30b112a8297c8c34052ef4ce73b0f6e6ba07d4 Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Wed, 19 Aug 2020 16:53:20 +0100
Subject: [PATCH] MNT: Allow hook for header files to be installed "globally",
 i.e. within $FSLDIR/include, rather than $FSLDIR/include/$PROJNAME. Needed so
 armawrap can install armadillo at $FSLDIR/include/armadillo

---
 config/common/rules.mk |  5 ++++-
 config/common/vars.mk  | 30 ++++++++++++++++--------------
 2 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/config/common/rules.mk b/config/common/rules.mk
index d83d6c0..c4d88af 100644
--- a/config/common/rules.mk
+++ b/config/common/rules.mk
@@ -84,10 +84,13 @@ libinstall:
 	@${MKDIR} -p -m 0755 $(dest_LIBDIR)
 	@$(call _x_install,"library files",${dest_LIBDIR},0644,${AFILES} ${SOFILES})
 
-# Installs HFILES into $FSLDIR/include/$PROJNAME/
+# Installs:
+#  - HFILES into $FSLDIR/include/$PROJNAME/
+#  - GLOBALHFILES into $FSLDIR/include/
 hdrinstall:
 	@${MKDIR} -p -m 0755 $(dest_INCDIR)
 	@$(call _x_install,"header files",${dest_INCDIR}/${PROJNAME}/,0644,${HFILES})
+	@$(call _x_install,"global header files",${dest_INCDIR}/,0644,${GLOBALHFILES})
 
 # Installs DATAFILES into $FSLDIR/data/$PROJNAME/
 datainstall:
diff --git a/config/common/vars.mk b/config/common/vars.mk
index 286c448..ebe67f4 100644
--- a/config/common/vars.mk
+++ b/config/common/vars.mk
@@ -26,20 +26,22 @@ CUDALIBS        = # Project-specific libraries to link against for CUDA
 # values given below are the defaults - they
 # may be customised/overridden in project
 # Makefiles.
-HFILES    = *.h    # installed into $FSLDIR/include/$PROJNAME/
-AFILES    = *.a    # installed into $FSLDIR/lib/
-SOFILES   = *.so   # installed into $FSLDIR/lib/
-XFILES    =        # installed into $FSLDIR/bin/
-FXFILES   =        # installed into $FSLDIR/bin/, only for internal builds
-SCRIPTS   =        # installed into $FSLDIR/bin/
-FSCRIPTS  =        # installed into $FSLDIR/bin/, only for internal builds
-RUNTCLS   =        # link to Runtcl created in $FSLDIR/bin/ which assumes
-                   # that <file>.tcl has been installed into
-                   # $FSLDIR/tcl/
-PYFILES   = *.py   # installed into $FSLDIR/etc/fsl/python/$PROJNAME/
-TCLFILES  = *.tcl  # installed into $FSLDIR/tcl/
-DATAFILES =        # installed into $FSLDIR/data/$PROJNAME/
-TESTXILES =        # not currently used
+HFILES       = *.h    # installed into $FSLDIR/include/$PROJNAME/
+GLOBALHFILES =        # installed into $FSLDIR/include/ (should
+                      # not be used in normal circumstances)
+AFILES       = *.a    # installed into $FSLDIR/lib/
+SOFILES      = *.so   # installed into $FSLDIR/lib/
+XFILES       =        # installed into $FSLDIR/bin/
+FXFILES      =        # installed into $FSLDIR/bin/, only for internal builds
+SCRIPTS      =        # installed into $FSLDIR/bin/
+FSCRIPTS     =        # installed into $FSLDIR/bin/, only for internal builds
+RUNTCLS      =        # link to Runtcl created in $FSLDIR/bin/ which assumes
+                      # that <file>.tcl has been installed into
+                      # $FSLDIR/tcl/
+PYFILES   = *.py      # installed into $FSLDIR/etc/fsl/python/$PROJNAME/
+TCLFILES  = *.tcl     # installed into $FSLDIR/tcl/
+DATAFILES =           # installed into $FSLDIR/data/$PROJNAME/
+TESTXILES =           # not currently used
 
 # Final install destinations
 # for project outputs
-- 
GitLab