diff --git a/com.oracle.truffle.r.native/gnur/Makefile.gnur b/com.oracle.truffle.r.native/gnur/Makefile.gnur
index e36118f142a3bf18addc765c834266baf1e61266..0c818a1abaa6173f93d9002fa710d5d088190bcf 100644
--- a/com.oracle.truffle.r.native/gnur/Makefile.gnur
+++ b/com.oracle.truffle.r.native/gnur/Makefile.gnur
@@ -67,15 +67,18 @@ ifeq ($(OSNAME), SunOS)
 # Currently we only support gcc and x64 (gcc assumed to be on the PATH)
 #
     OS_ARCH := $(shell uname -p)
-    ifneq ($(OS_ARCH), i386)
-        $(error Solaris/SPARC not supported)
-    endif
     ICONV := libiconv-1.14
     $(shell mkdir -p iconv_install)
     ICONV_INSTALL := $(abspath iconv_install)
     $(info ICONV_INSTALL=$(ICONV_INSTALL))
-    ICONV_FLAGS := "-L$(ICONV_INSTALL)/lib -I$(ICONV_INSTALL)/include"
-    ICONV_CONFIG_FLAGS := CFLAGS=$(ICONV_FLAGS) CPPFLAGS=$(ICONV_FLAGS) LDFLAGS=$(ICONV_FLAGS)
+    ICONV_FLAGS := "-m64 -xcode=pic32 -L$(ICONV_INSTALL)/lib -I$(ICONV_INSTALL)/include"
+
+ifeq ($(OS_ARCH), sparc)
+    ICONV_CONFIG_FLAGS := CC=cc CXX=CC F77=sunf95 FFLAGS=$(ICONV_FLAGS) CFLAGS=$(ICONV_FLAGS) CPPFLAGS=$(ICONV_FLAGS) LDFLAGS=$(ICONV_FLAGS) DYLIB_LDFLAGS=$(ICONV_FLAGS)
+    SOLARISSTUDIO_HOME := $(shell which cc | sed s/bin\\/*cc//g)
+else
+    ICONV_CONFIG_FLAGS :=  FFLAGS=$(ICONV_FLAGS) CFLAGS=$(ICONV_FLAGS) CPPFLAGS=$(ICONV_FLAGS) LDFLAGS=$(ICONV_FLAGS)
+endif
 
 iconv: $(ICONV) iconv_config iconv_build
 
@@ -90,7 +93,7 @@ $(ICONV)/Makefile:
 iconv_build: $(ICONV)/lib/libcharset.so
 
 $(ICONV)/lib/libcharset.so:
-	(cd $(ICONV); $(MAKE) && $(MAKE) install > iconv_make.log 2>&1)
+	(cd $(ICONV); $(MAKE) MAKE=$(MAKE) && $(MAKE) MAKE=$(MAKE) install > iconv_make.log 2>&1)
 else
 iconv:
 endif
@@ -108,13 +111,17 @@ config_update:
 endif
 
 $(GNUR_HOME)/Makefile:
+ifeq ($(OS_ARCH), sparc)
+# required for Solaris compiler >=12.2, see Appendix C of R installation guide: http://cran.r-project.org/doc/manuals/r-release/R-admin.html#Solaris 
+	(echo 'FLIBS="-R$(SOLARISSTUDIO_HOME)prod/lib/sparc/64 -lifai -lsunimath -lfai -lfai2 -lfsumai -lfprodai -lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfui -lsunmath -lmtsk $(SOLARISSTUDIO_HOME)prod/lib/sparc/64/libfsu.so.1"' >> $(GNUR_HOME)/config.site)
+endif
 	(cd $(GNUR_HOME); ./configure --with-x=no --without-recommended-packages $(ICONV_CONFIG_FLAGS) > gnur_configure.log 2>&1)
 
 
 build: $(GNUR_HOME)/bin/R
 
 $(GNUR_HOME)/bin/R: $(GNUR_HOME)/Makeconf 
-	(cd $(GNUR_HOME); $(MAKE) > gnur_make.log 2>&1)
+	(cd $(GNUR_HOME); $(MAKE) -j > gnur_make.log 2>&1)
 
 clean: cleangnur cleaniconv
 	rm -f Makeconf.done
diff --git a/com.oracle.truffle.r.native/gnur/edMakeconf b/com.oracle.truffle.r.native/gnur/edMakeconf
index d8c2b4553f4f8fc2c602d50f568db72c632b20e6..ece3084fb682fb8248f85bdbee38b843ed10fb0a 100644
--- a/com.oracle.truffle.r.native/gnur/edMakeconf
+++ b/com.oracle.truffle.r.native/gnur/edMakeconf
@@ -1,4 +1,4 @@
-/^CFLAGS/s/$/ -fpic/
-/^FFLAGS/s/$/ -fpic/
+/^CFLAGS/s/$/ -fPIC/
+/^FFLAGS/s/$/ -fPIC/
 w
 q