diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e74bdb03bec9c3c4f6d2f6748c2429ef7ae0033..7a2a79f84933d18548eee0ba0febe426f02ea36e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # FSL base project changelog
 
+
+## 2101.4 (Friday 22nd January 2021)
+
+ - Fixed a bug in the default CFLAGS assignment under Linux.
+ - Cleaned up and adjusted support for NVCC-compiled CUDA projects to work
+   better within a conda build environment. May still be in a state of flux.
+
+
 ## 2101.3 (Thursday 14th January 2021)
 
  - The `$FSLDIR/etc/fslconf/fsl.sh` script now automatically adds
diff --git a/config/buildSettings.mk b/config/buildSettings.mk
index f4334e7034c17f23ec186507517165239a4b4550..7946dae08a0848f90af3a5e7892c5af67372eeee 100644
--- a/config/buildSettings.mk
+++ b/config/buildSettings.mk
@@ -1,7 +1,11 @@
-# This file defines architecture specific commands and compiler flags.
-# It is included before vars.mk, which uses the ARCH* compiler flags
-# to construct the final compiler flag variables that are used in C/C++
-# compilation.
+# This file defines standard commands and compiler flags. It is included
+# before vars.mk, which uses the variables defined here to construct the
+# final compiler flag variables that are used in C/C++ compilation.
+#
+# Final values for CFLAGS, CPPFLAGS, CXXFLAGS, LDFLAGS, NVCCFLAGS, and
+# NVCCLDFLAGS (including include/library search paths) are constructed in
+# vars.mk,
+
 
 # get system type (Darwin, Linux)
 SYSTYPE := $(shell uname -s)
@@ -22,27 +26,30 @@ TCLSH   ?= ${FSLDIR}/bin/fsltclsh
 
 #####################################################################
 #
-# Architecture-specific compiler/linker flags
+# Architecture-independent compiler/linker flags
 #
 #####################################################################
 
-# Platform specific compiler/linker options may be added to
+# Platform independent compiler/linker options may be added to
 # the following ARCH* variables. These variables are *always*
-# added to compiler calls.
-#
-# Final values for CFLAGS, CXXFLAGS, and LDFLAGS (including
-# include/library search paths) are constructed in vars.mk.
+# added to compiler calls, for all platforms.
 #
 # The ARCH* variables here are added to the end of the final
 # FLAGS variables, which means that any options specified here
-# will usually take precedence over options provided by the
+# will typically take precedence over options provided by the
 # environment.
 
-# Compiler flags for C projects
-ARCHCFLAGS = -std=c99
+# Compiler flags for C projects.
+#  - C99 as minimum source compatibility standard
+#  - Position independent code essential for
+#    compiling/using shared libraries
+ARCHCFLAGS = -std=c99 -fPIC
 
 # Compiler flags for C++ projects.
-ARCHCXXFLAGS = -std=c++11
+#  - C++11 as minimum source compatibility standard
+#  - Position independent code essential for
+#    compiling/using shared libraries
+ARCHCXXFLAGS = -std=c++11 -fPIC
 
 # Preprocesor flags for C/C++ projects.
 ARCHCPPFLAGS =
@@ -54,84 +61,90 @@ ARCHLDFLAGS =
 ARCHLIBS =
 
 # Compiler flags for CUDA projects.
-ARCHNVCCFLAGS =
+#  - Define ARMA_ALLOW_FAKE_GCC, otherwise nvcc-compiled
+#    armadillo structures may have different byte-alignment
+#    to equivalent g++-compiled structures (see
+#    include/armadillo_bits/compiler_setup.hpp)
+ARCHNVCCFLAGS = -DARMA_ALLOW_FAKE_GCC
 
 # Linker flags for CUDA projects.
 ARCHNVCCLDFLAGS =
 
-# Allow flags to be provided by the environment.
-# Default CC, CXX, CFLAGS, CXXFLAGS, and LDFLAGS
-# are set in the platform-specific sections below.
-CPPFLAGS    ?=
-NVCCFLAGS   ?=
-NVCCLDFLAGS ?=
 
 #####################################################################
 #
-# Darwin specific sys vars and ext libs
+# Default compiler commands, flags and basic external libraries for
+# macOS.
 #
 #####################################################################
 ifeq ($(SYSTYPE), Darwin)
 
-  # Compiler flags. CC, CXX, CFLAGS, CXXFLAGS, and
-  # LDFLAGS may be overridden by the environment.
+  # CC, CXX, CFLAGS, CXXFLAGS, and LDFLAGS
+  # may be overridden by the environment.
   CC       ?= clang
   CXX      ?= clang++
-  CFLAGS   ?= -arch x86_64 -Wall -pedantic -fPIC
-  CXXFLAGS ?= -arch x86_64 -Wall -pedantic -fPIC
+  CFLAGS   ?= -arch x86_64 -Wall -pedantic
+  CXXFLAGS ?= -arch x86_64 -Wall -pedantic
   LDFLAGS  ?= -Wl,-search_paths_first
   ARCHLIBS += -llapack -lblas -lz -lm
 endif
 
 #####################################################################
 #
-# Linux specific sys vars and ext libs
+# Default compiler commands, flags and basic external libraries for
+# Linux.
 #
 #####################################################################
 ifeq ($(SYSTYPE), Linux)
 
-  # Compiler flags. CC, CXX, CFLAGS, CXXFLAGS, and
-  # LDFLAGS may be overridden by the environment.
+  # CC, CXX, CFLAGS, CXXFLAGS, and LDFLAGS
+  # may be overridden by the environment.
   CC       ?= gcc
   CXX      ?= g++
   CFLAGS   ?= -fexpensive-optimizations \
-                  -Wall -pedantic -Wno-long-long -fPIC
+              -Wall -pedantic -Wno-long-long
   CXXFLAGS ?= -fexpensive-optimizations \
+              -Wall -pedantic -Wno-long-long
+  # TODO add extra rpath here to
+  #      support local development?
   LDFLAGS  ?= -Wl,-rpath,'$$ORIGIN/../lib'
   ARCHLIBS += -lopenblas -lz -lm
-endif # if Linux
+endif
 
 #####################################################################
 #
-# CUDA specific sys vars and ext libs
+# Default compiler commands, flags, and basic external libraries for
+# CUDA projects.
 #
 #####################################################################
 
-# CUDA/nvcc compiler options
 ifneq ($(shell which nvcc), )
 
+  # NVCC, CUDA_HOME, CUDA_VER, GENCODEFLAGS,
+  # NVCCFLAGS, and NVCCLDFLAGS may be
+  # overridden by the environment.
+
+  # We specifically use variable names "CUDA_VER"
+  # and "CUDA_HOME" because they will be set in
+  # the conda-forge CUDA build environment (and
+  # will take precedence over these definitions
+  # here when they are set).
   NVCC         ?= nvcc
-  CUDAVER      ?= $(shell nvcc --version | grep -Po "release \K[0-9\.]+")
-  GENCODEFLAGS ?= $(shell ${FSLCONFDIR}/common/supportedGencodes.sh ${CUDAVER})
-  CUDADIR      ?= ${FSLDIR}
-
-  # nvcc-specific tweaks:
-  #  - Define ARMA_ALLOW_FAKE_GCC, otherwise byte-alignment issues
-  #    may occur with armadillo datatypes (see compiler_setup.hpp
-  #    from the armadillo project)
-  #  - Do not use -pedantic, otherwise *every single line* of
-  #    transpiled cuda code will trigger "warning: style of line
-  #    directive is a GCC extension".
-  #  - Specify the compiler to use with --compiler-bindir, as nvcc
-  #    might otherwise naively call "gcc"
-  ARCHNVCCFLAGS   = -I${CUDADIR}/include  \
-                    -maxrregcount=64      \
-                    ${GENCODEFLAGS}       \
-                    -DARMA_ALLOW_FAKE_GCC \
-                    --compiler-bindir     \
-                    $(shell which $(CC))  \
-                    --compiler-options    \
-                    "$(filter-out -pedantic, ${ARCHCXXFLAGS})"
-  ARCHNVCCLDFLAGS = -L${CUDADIR}/lib \
-                    -L${CUDADIR}/lib/stubs
+  CUDA_HOME    ?= ${FSLDIR}
+  CUDA_VER     ?= $(shell nvcc --version | grep -Po "release \K[0-9\.]+")
+  GENCODEFLAGS ?= $(shell ${FSLCONFDIR}/supportedGencodes.sh ${CUDA_VER})
+
+  # We specify the compiler to use with -ccbin, as
+  # nvcc might otherwise naively call "g++", rather
+  # than honouring $(CXX). We specifically use
+  # "-ccbin" rather than "--compiler-bindir" here,
+  # because the conda-forge nvcc wrapper checks for
+  # -ccbin, and adds its own if not present.
+  NVCCFLAGS   ?= -I${CUDA_HOME}/include \
+                 ${GENCODEFLAGS}        \
+                 -ccbin $(CXX)
+  NVCCLDFLAGS ?= -L${CUDA_HOME}/lib         \
+                 -L${CUDA_HOME}/lib64       \
+                 -L${CUDA_HOME}/lib/stubs   \
+                 -L${CUDA_HOME}/lib64/stubs
 endif
diff --git a/config/supportedGencodes.sh b/config/supportedGencodes.sh
index cb068ff4dddf20747a61f021417555ed2189d88b..7465274d883172fc8e831c4b2dcacd504ccf6133 100755
--- a/config/supportedGencodes.sh
+++ b/config/supportedGencodes.sh
@@ -5,53 +5,180 @@
 # can also return a "default" set of value pairs that
 # should give "something" for CUDA versions 5.5--8.0.
 
-default_arch="-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35"
+default_arch="-gencode arch=compute_20,code=sm_20 \
+              -gencode arch=compute_20,code=sm_21 \
+              -gencode arch=compute_30,code=sm_30 \
+              -gencode arch=compute_35,code=sm_35"
 
 vn=$1
 
 if [ "$vn" = 5.5 ]
 then
-    echo "-gencode arch=compute_10,code=sm_10 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35"
+    echo "-gencode arch=compute_10,code=sm_10 \
+          -gencode arch=compute_11,code=sm_11 \
+          -gencode arch=compute_12,code=sm_12 \
+          -gencode arch=compute_13,code=sm_13 \
+          -gencode arch=compute_20,code=sm_20 \
+          -gencode arch=compute_20,code=sm_21 \
+          -gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_35,code=sm_35"
     exit 0
 elif [ "$vn" = 6.0 ]
 then
-    echo "-gencode arch=compute_10,code=sm_10 -gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50"
+    echo "-gencode arch=compute_10,code=sm_10 \
+          -gencode arch=compute_11,code=sm_11 \
+          -gencode arch=compute_12,code=sm_12 \
+          -gencode arch=compute_13,code=sm_13 \
+          -gencode arch=compute_20,code=sm_20 \
+          -gencode arch=compute_20,code=sm_21 \
+          -gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_50,code=sm_50"
     exit 0
 elif [ "$vn" = 6.5 ]
 then
-    echo "-gencode arch=compute_11,code=sm_11 -gencode arch=compute_12,code=sm_12 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50"
+    echo "-gencode arch=compute_11,code=sm_11 \
+          -gencode arch=compute_12,code=sm_12 \
+          -gencode arch=compute_13,code=sm_13 \
+          -gencode arch=compute_20,code=sm_20 \
+          -gencode arch=compute_20,code=sm_21 \
+          -gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50"
     exit 0
 elif [ "$vn" = 7.0 ]
 then
-    echo "-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53"
+    echo "-gencode arch=compute_20,code=sm_20 \
+          -gencode arch=compute_20,code=sm_21 \
+          -gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53"
     exit 0
 elif [ "$vn" = 7.5 ]
 then
-    echo "-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53"
+    echo "-gencode arch=compute_20,code=sm_20 \
+          -gencode arch=compute_20,code=sm_21 \
+          -gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53"
     exit 0
 elif [ "$vn" = 8.0 ]
 then
-    echo "-gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62"
+    echo "-gencode arch=compute_20,code=sm_20 \
+          -gencode arch=compute_20,code=sm_21 \
+          -gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62"
     exit 0
 elif [ "$vn" = 9.0 ]
 then
-    echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72"
+    echo "-gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62 \
+          -gencode arch=compute_70,code=sm_70 \
+          -gencode arch=compute_72,code=sm_72"
     exit 0
 elif [ "$vn" = 9.1 ]
 then
-    echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72"
+    echo "-gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62 \
+          -gencode arch=compute_70,code=sm_70 \
+          -gencode arch=compute_72,code=sm_72"
     exit 0
 elif [ "$vn" = 9.2 ]
 then
-    echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72"
+    echo "-gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62 \
+          -gencode arch=compute_70,code=sm_70 \
+          -gencode arch=compute_72,code=sm_72"
     exit 0
 elif [ "$vn" = 10.0 ]
 then
-    echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75"
+    echo "-gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62 \
+          -gencode arch=compute_70,code=sm_70 \
+          -gencode arch=compute_72,code=sm_72 \
+          -gencode arch=compute_75,code=sm_75"
     exit 0
 elif [ "$vn" = 10.1 ]
 then
-    echo "-gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75"
+    echo "-gencode arch=compute_30,code=sm_30 \
+          -gencode arch=compute_32,code=sm_32 \
+          -gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62 \
+          -gencode arch=compute_70,code=sm_70 \
+          -gencode arch=compute_72,code=sm_72 \
+          -gencode arch=compute_75,code=sm_75"
+    exit 0
+elif [ "$vn" = 11.0 ]
+then
+    echo "-gencode arch=compute_35,code=sm_35 \
+          -gencode arch=compute_37,code=sm_37 \
+          -gencode arch=compute_50,code=sm_50 \
+          -gencode arch=compute_52,code=sm_52 \
+          -gencode arch=compute_53,code=sm_53 \
+          -gencode arch=compute_60,code=sm_60 \
+          -gencode arch=compute_61,code=sm_61 \
+          -gencode arch=compute_62,code=sm_62 \
+          -gencode arch=compute_70,code=sm_70 \
+          -gencode arch=compute_72,code=sm_72 \
+          -gencode arch=compute_75,code=sm_75 \
+          -gencode arch=compute_80,code=sm_80"
     exit 0
 else
     echo $default_arch
diff --git a/config/vars.mk b/config/vars.mk
index 80a1b5cf95a7d4108dbc339e93cbecb0eddaa113..1fc70190e3f99904c1e5487de64cf085915747d2 100644
--- a/config/vars.mk
+++ b/config/vars.mk
@@ -72,20 +72,20 @@ INCFLAGS = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR}
 # Final compiler/linker flags
 #############################
 
-# Allow flags to be added by the environment
-CFLAGS      ?=
-CXXFLAGS    ?=
-CPPFLAGS    ?=
-NVCCFLAGS   ?=
-LDFLAGS     ?=
-NVCCLDFLAGS ?=
-
-# All projects must use these flags for
-# compilation/linking, using the form:
+# All projects must use these flags for compilation/linking.
+# Commands for compilation of intermediate object files
+# should have the form:
+#
+#   $(CC)   $(CFLAGS)    <input/output files>
+#   $(CXX)  $(CXXFLAGS)  <input/output files>
+#   $(NVCC) $(NVCCFLAGS) <input/output files>
+#
+# And commands for compilation and linking of executables
+# and libraries should have the form:
 #
-# $(CC)   $(CFLAGS)    <input/output files> $(LDFLAGS)
-# $(CXX)  $(CXXFLAGS)  <input/output files> $(LDFLAGS)
-# $(NVCC) $(NVCCFLAGS) <input/output files> $(NVCCLDFLAGS)
+#   $(CC)   $(CFLAGS)    <input/output files> ${LDFLAGS}
+#   $(CXX)  $(CXXFLAGS)  <input/output files> ${LDFLAGS}
+#   $(NVCC) $(NVCCFLAGS) <input/output files> ${NVCCLDFLAGS}
 #
 # LDFLAGS *must* come at the end, to ensure proper linking.
 
@@ -104,14 +104,17 @@ NVCCLDFLAGS ?=
 # the default options specified in buildSettings.mk,
 # which in turn can override options provided by the
 # environment.
-
 CPPFLAGS    += ${ARCHCPPFLAGS} ${USRCPPFLAGS}
 CFLAGS      += ${CPPFLAGS} ${ARCHCFLAGS}   ${USRCFLAGS}   ${INCFLAGS}
 CXXFLAGS    += ${CPPFLAGS} ${ARCHCXXFLAGS} ${USRCXXFLAGS} ${INCFLAGS}
-NVCCFLAGS   += ${ARCHNVCCFLAGS} ${USRNVCCFLAGS} ${INCFLAGS}
-LDFLAGS     += ${ARCHLDFLAGS} ${USRLDFLAGS} \
+LDFLAGS     += ${ARCHLDFLAGS} ${USRLDFLAGS}   \
                -L. -L${DEVLIBDIR} -L${LIBDIR} \
                 ${LIBS} ${ARCHLIBS}
-NVCCLDFLAGS += ${ARCHNVCCLDFLAGS} ${USRNVCCLDFLAGS} \
-               -L. -L${DEVLIBDIR} -L${LIBDIR} \
-               ${CUDALIBS}
+NVCCFLAGS   += ${CPPFLAGS}                      \
+               ${ARCHNVCCFLAGS} ${ARCHCXXFLAGS} \
+               ${USRNVCCFLAGS}  ${USRCXXFLASG}  \
+               ${INCFLAGS}
+NVCCLDFLAGS += ${ARCHNVCCLDFLAGS} ${ARCHLDFLAGS} \
+               ${USRNVCCLDFLAGS}  ${USRLDFLAGS}  \
+               -L. -L${DEVLIBDIR} -L${LIBDIR}    \
+                ${LIBS} ${CUDALIBS} ${ARCHLIBS}