envsetup: set OUT_DIR to an absolute path always

OUT_DIR was set to $(TOPDIR)out previously,
but $(TOPDIR) was null, so it was a relative path.
This broke releasetools, inline kernel building, etc
since they require absolute paths.
Fix it so that it is set to $(shell readlink -f .)/out
if $(TOPDIR) is null.

Also remove hacks which checked if (OUT_DIR) was out
and changed it to $(ANDROID_BUILD_TOP)/out to workaround
the aforementioned problem.

Change-Id: I459a3b1325a1bbea0565cd73f6acf160d4ed9b39
build: work around missing readlink -f on Mac

Change-Id: I5d56366cf33a2b02f1886c87815d00cff279779d
kernel.mk: set KERNEL_OUT properly

It was hardcoded to $(ANDROID_BUILD_TOP)/$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ
which wouldn't exist if OUT_DIR_COMMON_BASE was set to use another dir
(e.g. ramdisk)

Fix it so that it now points to $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ
if OUT_DIR is not out

Change-Id: I1bf767d86548e41270d9cbb8f0c00512708501c5

Conflicts:
	core/tasks/kernel.mk
build: Add board platforms to qcom_utils

PS3: rebased

Change-Id: I85458167bf2b9c04b029d09b87bf791ff4cfd04d
qcom_utils: Only define QCOM_BOARD_PLATFORMS if compiling kernel inline

	* If using prebuilt kernel KERNEL_OBJ/usr will not exist, thus
	  build will complain of dir missing during module compilation

	** Requires TARGET_USE_PREBUILT_KERNEL := true in BoardConfig for now

Signed-off-by: bmc08gt <bmc08gt.teamb00sted@gmail.com>
Change-Id: Iecd8c97e89504c60d2f01926318468ac7eb396f9
Split to multiple bash commands.

This can fix the error "/bin/bash: Argument list too long", if we get a
really long apk list.
Bug tracker Link: http://code.google.com/p/android/issues/detail?id=38937

Change-Id: Ic6318465a0413ba9ac5afe2c4974ebb3abf59b01

Conflicts:
	core/Makefile