diff --git a/example/SparseGrid/1_gray_scott_3d_sparse_gpu/Makefile b/example/SparseGrid/1_gray_scott_3d_sparse_gpu/Makefile
index 584d57a653262a160ca02024efb45045d9fbce5c..980116ccdb735ef55deb7383039144a032cd272b 100644
--- a/example/SparseGrid/1_gray_scott_3d_sparse_gpu/Makefile
+++ b/example/SparseGrid/1_gray_scott_3d_sparse_gpu/Makefile
@@ -15,12 +15,13 @@ else
                 INCLUDE_PATH_NVCC=
                 CUDA_CC_LINK=mpic++
                 CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
         else
                 CUDA_CC=nvcc -ccbin=mpic++
                 CUDA_CC_LINK=nvcc -ccbin=mpic++
                 CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
         endif
-        LIBS_SELECT=$(LIBS)
 endif
 
 
diff --git a/example/SparseGrid/2_gray_scott_3d_sparse_gpu_opt/Makefile b/example/SparseGrid/2_gray_scott_3d_sparse_gpu_opt/Makefile
index 7e018d4c11fc04934f50cc6208ebd60e6aaed81f..4650f84db16ba41f38f28a6df7d7d3f036ce1176 100644
--- a/example/SparseGrid/2_gray_scott_3d_sparse_gpu_opt/Makefile
+++ b/example/SparseGrid/2_gray_scott_3d_sparse_gpu_opt/Makefile
@@ -15,12 +15,13 @@ else
                 INCLUDE_PATH_NVCC=
                 CUDA_CC_LINK=mpic++
                 CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
         else
                 CUDA_CC=nvcc -ccbin=mpic++
                 CUDA_CC_LINK=nvcc -ccbin=mpic++
                 CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
         endif
-        LIBS_SELECT=$(LIBS)
 endif
 
 
diff --git a/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs/Makefile b/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs/Makefile
index 5fde3c84c1318de6c32db3d79f46e1f5f0fe1809..52d3e5efa39c2e82cd30699806d16e57f2a0ebd0 100644
--- a/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs/Makefile
+++ b/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs/Makefile
@@ -12,9 +12,11 @@ else
         	CUDA_CC=mpic++ -x c++ $(INCLUDE_PATH)
         	INCLUDE_PATH_NVCC=
         	CUDA_CC_LINK=mpic++
+		LIBS_SELECT=$(LIBS)
 	else
         	CUDA_CC=nvcc -ccbin=mpic++
         	CUDA_CC_LINK=nvcc -ccbin=mpic++
+		LIBS_SELECT=$(LIBS_NVCC)
 	endif
 endif
 
@@ -31,7 +33,7 @@ OBJ = main.o
 	$(CUDA_CC) $(OPT) -O3 -g -c --std=c++14 -o $@ $< $(INCLUDE_PATH_NVCC)
 
 gray_scott_sparse_gpu: $(OBJ)
-	$(CUDA_CC_LINK) -o $@ $^ $(LIBS_PATH) $(LIBS)
+	$(CUDA_CC_LINK) -o $@ $^ $(LIBS_PATH) $(LIBS_SELECT)
 
 all: gray_scott_sparse_gpu
 
diff --git a/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs_opt/Makefile b/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs_opt/Makefile
index 8cb8a8b165b74e1c2813267715a7dfbc9869e8b7..e5be131c853b6a7d39b896a19cd26d9fa3c6c4d3 100644
--- a/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs_opt/Makefile
+++ b/example/SparseGrid/3_gray_scott_3d_sparse_gpu_cs_opt/Makefile
@@ -16,12 +16,13 @@ else
                 INCLUDE_PATH_NVCC=
                 CUDA_CC_LINK=mpic++
                 CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
         else
                 CUDA_CC=nvcc -ccbin=mpic++
                 CUDA_CC_LINK=nvcc -ccbin=mpic++
                 CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
         endif
-        LIBS_SELECT=$(LIBS)
 endif
 
 
diff --git a/example/SparseGrid/6_gray_scott_3d_sparse_gpu_opt_weak_scal/Makefile b/example/SparseGrid/6_gray_scott_3d_sparse_gpu_opt_weak_scal/Makefile
index 25e2b3240d812248d2fb5edb4856844f86f296b8..bf5a053d62a8d69a26a21b005ac20d885416bf8c 100644
--- a/example/SparseGrid/6_gray_scott_3d_sparse_gpu_opt_weak_scal/Makefile
+++ b/example/SparseGrid/6_gray_scott_3d_sparse_gpu_opt_weak_scal/Makefile
@@ -12,9 +12,11 @@ else
         	CUDA_CC=mpic++ -x c++ $(INCLUDE_PATH)
         	INCLUDE_PATH_NVCC=
         	CUDA_CC_LINK=mpic++
+		LIBS_SELECT=$(LIBS)
 	else
         	CUDA_CC=nvcc -ccbin=mpic++
         	CUDA_CC_LINK=nvcc -ccbin=mpic++
+		LIBS_SELECT=$(LIBS_NVCC)
 	endif
 endif
 
@@ -31,7 +33,7 @@ OBJ = main.o
 	$(CUDA_CC) -O3 $(OPT) -g -c --std=c++14 -o $@ $< $(INCLUDE_PATH_NVCC)
 
 gray_scott_sparse_gpu: $(OBJ)
-	$(CUDA_CC_LINK) -o $@ $^ $(LIBS_PATH) $(LIBS)
+	$(CUDA_CC_LINK) -o $@ $^ $(LIBS_PATH) $(LIBS_SELECT)
 
 all: gray_scott_sparse_gpu
 
diff --git a/example/SparseGrid/7_gray_scott_3d_sparse_gpu_sphere_expanding/Makefile b/example/SparseGrid/7_gray_scott_3d_sparse_gpu_sphere_expanding/Makefile
index 8cb8a8b165b74e1c2813267715a7dfbc9869e8b7..e5be131c853b6a7d39b896a19cd26d9fa3c6c4d3 100644
--- a/example/SparseGrid/7_gray_scott_3d_sparse_gpu_sphere_expanding/Makefile
+++ b/example/SparseGrid/7_gray_scott_3d_sparse_gpu_sphere_expanding/Makefile
@@ -16,12 +16,13 @@ else
                 INCLUDE_PATH_NVCC=
                 CUDA_CC_LINK=mpic++
                 CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
         else
                 CUDA_CC=nvcc -ccbin=mpic++
                 CUDA_CC_LINK=nvcc -ccbin=mpic++
                 CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
         endif
-        LIBS_SELECT=$(LIBS)
 endif
 
 
diff --git a/example/SparseGrid/8_filling_benchmark_gpu/Makefile b/example/SparseGrid/8_filling_benchmark_gpu/Makefile
index 872e123da5369f47a8643425bb40ad2c5936a6b3..d83c4dc784f4c4b68d5fe5f79172801e076868c6 100644
--- a/example/SparseGrid/8_filling_benchmark_gpu/Makefile
+++ b/example/SparseGrid/8_filling_benchmark_gpu/Makefile
@@ -15,12 +15,13 @@ else
                 INCLUDE_PATH_NVCC=
                 CUDA_CC_LINK=mpic++
                 CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
         else
                 CUDA_CC=nvcc -ccbin=mpic++
                 CUDA_CC_LINK=nvcc -ccbin=mpic++
                 CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
         endif
-        LIBS_SELECT=$(LIBS)
 endif
 
 
diff --git a/example/Vector/3_molecular_dynamic_gpu/Makefile b/example/Vector/3_molecular_dynamic_gpu/Makefile
index 09de80fcbea8d7711d80e0663ef9d74975c5965e..6eaa07254cc48891de54e34861c453f451d3e286 100644
--- a/example/Vector/3_molecular_dynamic_gpu/Makefile
+++ b/example/Vector/3_molecular_dynamic_gpu/Makefile
@@ -14,11 +14,12 @@ else
         	CUDA_CC=mpic++ -x c++ $(INCLUDE_PATH)
         	INCLUDE_PATH_NVCC=
        		CUDA_CC_LINK=mpic++
+		LIBS_SELECT=$(LIBS)
 	else
         	CUDA_CC=nvcc -ccbin=mpic++
         	CUDA_CC_LINK=nvcc -ccbin=mpic++
+		LIBS_SELECT=$(LIBS_NVCC)
 	endif
-	LIBS_SELECT=$(LIBS)
 endif
 
 CC=mpic++
diff --git a/example/Vector/7_SPH_dlb_gpu/Makefile b/example/Vector/7_SPH_dlb_gpu/Makefile
index 5b81687f4d9aece27991bcfcc6b2d20c633165de..f08386940b49300f35953c4a857f5ea7e8480048 100644
--- a/example/Vector/7_SPH_dlb_gpu/Makefile
+++ b/example/Vector/7_SPH_dlb_gpu/Makefile
@@ -24,11 +24,12 @@ else
                 	CUDA_CC=mpic++ -x c++ $(INCLUDE_PATH)
                 	INCLUDE_PATH_NVCC=
                 	CUDA_CC_LINK=mpic++
+			LIBS_SELECT=$(LIBS)
         	else
                 	CUDA_CC=nvcc -ccbin=mpic++
                 	CUDA_CC_LINK=nvcc -ccbin=mpic++
+			LIBS_SELECT=$(LIBS_NVCC)
         	endif
-		LIBS_SELECT=$(LIBS)
 	endif
 endif
 
diff --git a/example/Vector/7_SPH_dlb_gpu_more_opt/Makefile b/example/Vector/7_SPH_dlb_gpu_more_opt/Makefile
index e91b646cd03080625765b240d615eb8eb022403b..5162d1b64ccc4b51be79b8ddb675e520d13c5d1b 100644
--- a/example/Vector/7_SPH_dlb_gpu_more_opt/Makefile
+++ b/example/Vector/7_SPH_dlb_gpu_more_opt/Makefile
@@ -15,10 +15,12 @@ else
         	INCLUDE_PATH_NVCC=
         	CUDA_CC_LINK=mpic++
 		CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
 	else
         	CUDA_CC=nvcc -ccbin=mpic++
         	CUDA_CC_LINK=nvcc -ccbin=mpic++
 		CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
 	endif
 endif
 
@@ -46,10 +48,10 @@ sph_dlb_test: sph_dlb
 	$(CC) -O3 $(OPT) -g -c --std=c++14 -o $@ $< $(INCLUDE_PATH)
 
 sph_dlb: $(OBJ)
-	$(CUDA_CC_LINK) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS)
+	$(CUDA_CC_LINK) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS_SELECT)
 
 sph_dlb2: $(OBJ)
-	$(CUDA_CC_LINK) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS)
+	$(CUDA_CC_LINK) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS_SELECT)
 
 all: sph_dlb
 
diff --git a/example/Vector/7_SPH_dlb_gpu_opt/Makefile b/example/Vector/7_SPH_dlb_gpu_opt/Makefile
index 4bef27170020caaefb8b9a51681e31dccce0de69..6a4ece9f6b7670bd6cfb78bf0a3412fa0b308d97 100644
--- a/example/Vector/7_SPH_dlb_gpu_opt/Makefile
+++ b/example/Vector/7_SPH_dlb_gpu_opt/Makefile
@@ -23,12 +23,13 @@ else
                 	INCLUDE_PATH_NVCC=
                 	CUDA_CC_LINK=mpic++
 			CUDA_OPTIONS=
+			LIBS_SELECT=$(LIBS)
         	else
                 	CUDA_CC=nvcc -ccbin=mpic++
                 	CUDA_CC_LINK=nvcc -ccbin=mpic++
 			CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+			LIBS_SELECT=$(LIBS_NVCC)
         	endif
-		LIBS_SELECT=$(LIBS)
 	endif
 endif
 
diff --git a/example/Vector/9_gpu_cuda_interop/Makefile b/example/Vector/9_gpu_cuda_interop/Makefile
index 0f90d34d705ce4698615cc1b528762eb1163cd13..2a520f46bbfda2b760fb3a91ff8745346b531915 100644
--- a/example/Vector/9_gpu_cuda_interop/Makefile
+++ b/example/Vector/9_gpu_cuda_interop/Makefile
@@ -10,10 +10,12 @@ else
         	INCLUDE_PATH_NVCC=
         	CUDA_CC_LINK=mpic++
         	CUDA_OPTIONS=
+		LIBS_SELECT=$(LIBS)
 	else
         	CUDA_CC=nvcc -ccbin=mpic++
         	CUDA_CC_LINK=nvcc -ccbin=mpic++
         	CUDA_OPTIONS=-use_fast_math  -arch=sm_61 -lineinfo
+		LIBS_SELECT=$(LIBS_NVCC)
 	endif
 endif
 
@@ -28,7 +30,7 @@ gpu_interop:
 	$(CUDA_CC) -O3 $(OPT) -g -c --std=c++14 -o $@ $< $(INCLUDE_PATH)
 
 gpu_interop: $(OBJ)
-	$(CUDA_CC_LINK) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS)
+	$(CUDA_CC_LINK) -o $@ $^ $(CFLAGS) $(LIBS_PATH) $(LIBS_SELECT)
 
 all: gpu_interop
 
diff --git a/install b/install
index 91591d5e927a9c31e288544bcf1c4fc82e843a19..494ed4a4fa9bc30f499e86b9e4dc6115a2aa759b 100755
--- a/install
+++ b/install
@@ -461,12 +461,13 @@ elif [ -d "$i_dir/HDF5/lib64" ]; then
 fi
 
 echo "INCLUDE_PATH=$mpi_include_dirs $cuda_include_dirs -Wno-deprecated-declarations $openmp_flags  -I.  -I$install_base/openfpm_numerics/include -I$install_base/openfpm_pdata/include/config -I$install_base/openfpm_pdata/include -I$install_base/openfpm_data/include -I$install_base/openfpm_vcluster/include -I$install_base/openfpm_io/include -I$install_base/openfpm_devices/include -I$i_dir/VCDEVEL/include  -I$i_dir/METIS/include -I$i_dir/PARMETIS/include -I$i_dir/BOOST/include -I$i_dir/HDF5/include -I$i_dir/LIBHILBERT/include  $lin_alg_inc -I$i_dir/BLITZ/include -I$i_dir/ALGOIM/include" > example.mk
-echo "LIBS_PATH=$mpi_libs $openmp_flags -L$install_base/openfpm_devices/lib -L$install_base/openfpm_pdata/lib  -L$install_base/openfpm_vcluster/lib -L$i_dir/VCDEVEL/lib  -L$i_dir/METIS/lib -L$i_dir/PARMETIS/lib  -L$i_dir/BOOST/lib $hdf5_lib_dir -L$i_dir/LIBHILBERT/lib  $lin_alg_dir " >> example.mk
+echo "LIBS_PATH=$mpi_libs -L$install_base/openfpm_devices/lib -L$install_base/openfpm_pdata/lib  -L$install_base/openfpm_vcluster/lib -L$i_dir/VCDEVEL/lib  -L$i_dir/METIS/lib -L$i_dir/PARMETIS/lib  -L$i_dir/BOOST/lib $hdf5_lib_dir -L$i_dir/LIBHILBERT/lib  $lin_alg_dir " >> example.mk
 if [ x"$cuda_on_cpu" == x"YES" ]; then
    echo "CUDA_ON_CPU=YES" >> example.mk
 fi
-echo "LIBS=$mpi_libs -lvcluster -lofpm_pdata -lofpmmemory -lparmetis -lmetis -lboost_iostreams -lboost_program_options -lhdf5 -llibhilbert -lVc  $(cat cuda_lib) $lin_alg_lib -ldl -lboost_filesystem -lboost_system $optional_boost" >> example.mk
-echo "INCLUDE_PATH_NVCC=-Xcompiler="-Wno-deprecated-declarations" $(cat openmp_flags) "$(cat cuda_options)" $mpi_include_dirs -I. -I$install_base/openfpm_numerics/include -I$install_base/openfpm_pdata/include/config -I$install_base/openfpm_pdata/include -I$install_base/openfpm_data/include -I$install_base/openfpm_vcluster/include -I$install_base/openfpm_io/include -I$install_base/openfpm_devices/include -I$i_dir/METIS/include -I$i_dir/PARMETIS/include -I$i_dir/BOOST/include -I$i_dir/HDF5/include -I$i_dir/LIBHILBERT/include  $lin_alg_inc -I$i_dir/BLITZ/include -I$i_dir/ALGOIM/include" >> example.mk
+echo "LIBS=$openmp_flags $mpi_libs -lvcluster -lofpm_pdata -lofpmmemory -lparmetis -lmetis -lboost_iostreams -lboost_program_options -lhdf5 -llibhilbert -lVc  $(cat cuda_lib) $lin_alg_lib -ldl -lboost_filesystem -lboost_system $optional_boost" >> example.mk
+echo "LIBS_NVCC=-Xcompiler=$openmp_flags $mpi_libs -lvcluster -lofpm_pdata -lofpmmemory -lparmetis -lmetis -lboost_iostreams -lboost_program_options -lhdf5 -llibhilbert -lVc  $(cat cuda_lib) $lin_alg_lib -ldl -lboost_filesystem -lboost_system $optional_boost" >> example.mk
+echo "INCLUDE_PATH_NVCC=-Xcompiler="-Wno-deprecated-declarations" -Xcompiler=$(cat openmp_flags) "$(cat cuda_options)" $mpi_include_dirs -I. -I$install_base/openfpm_numerics/include -I$install_base/openfpm_pdata/include/config -I$install_base/openfpm_pdata/include -I$install_base/openfpm_data/include -I$install_base/openfpm_vcluster/include -I$install_base/openfpm_io/include -I$install_base/openfpm_devices/include -I$i_dir/METIS/include -I$i_dir/PARMETIS/include -I$i_dir/BOOST/include -I$i_dir/HDF5/include -I$i_dir/LIBHILBERT/include  $lin_alg_inc -I$i_dir/BLITZ/include -I$i_dir/ALGOIM/include" >> example.mk
 cp example.mk src/example.mk
 cp example.mk example/example.mk