6717128: Using relative path for ALT_OUTPUTDIR does not work properly

Import the absolute output directory when launching sub make process and avoid including defs.make in rules.make

Reviewed-by: kamg, kvn
diff --git a/hotspot/make/defs.make b/hotspot/make/defs.make
index 3785b99..85ccffa 100644
--- a/hotspot/make/defs.make
+++ b/hotspot/make/defs.make
@@ -228,6 +228,7 @@
 
 # Required make macro settings for all platforms
 MAKE_ARGS += JAVA_HOME=$(ABS_BOOTDIR)
+MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
 MAKE_ARGS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION)
@@ -261,21 +262,3 @@
 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
 EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
-
-# A list of object files built without the platform specific PIC flags, e.g.
-# -fPIC on linux. Performance measurements show that by compiling GC related 
-# code, we could significantly reduce the GC pause time on 32 bit Linux/Unix
-# platforms. See 6454213 for more details.
-include $(GAMMADIR)/make/scm.make
-
-ifneq ($(OSNAME), windows)
-  ifndef LP64
-    NONPIC_DIRS  = memory oops gc_implementation gc_interface 
-    NONPIC_DIRS  := $(foreach dir,$(NONPIC_DIRS), $(GAMMADIR)/src/share/vm/$(dir))
-    # Look for source files under NONPIC_DIRS
-    NONPIC_FILES := $(foreach dir,$(NONPIC_DIRS),\
-                      $(shell find $(dir) \( $(SCM_DIRS) \) -prune -o \
-		      -name '*.cpp' -print))
-    NONPIC_OBJ_FILES := $(notdir $(subst .cpp,.o,$(NONPIC_FILES)))
-  endif
-endif