Allow Device specific ramdisk address

Change-Id: If0bb3d3a2b51f87a92c0b657fbc6d0277ce53532
Better handling of ramdisk during make

make clobber used to call rm -rf out/
so if out is a soft link to i.e. /tmp/out
the soft link is deleted instead the content
so i changed the makefile to rm -rf out/*

Change-Id: Id1991161617da8ec34307a30412c134e31f589b4
Fix up the recovery.fstab for adv recovery

Add options found in cm7 to allow for more complex recovery.fstabs with
multiple fstypes.

Change-Id: Id249c8f6766a1490a80fb3bd17bd7aa4e7dd9f2f
Require signapk.jar for Flakeflash images

Build signapk.jar which is required to sign the recovery flakeflash image.

Change-Id: I6db422199c8afd3a3f43919980d0893f8d3efc6e
build in colors: Install outputs in blue/yellow [basic ics version]

"target prefix:" in yellow
"Install: file" in cyan

should be in a single command line else there are sync problems
in multithread (-j X)

These colors can be tuned in core/Makefile if you use a white terminal.
can be disabled with "export BUILD_WITH_COLORS=0"

Only the most important output is colored to reduce ics merge problems

Change-Id: I0e585079fde6900799ef209367a523d94a51cda5
override ro.build.date.utc for recovery builds. fixup makerecoveries.sh script for touch recoveries.

Change-Id: I2cf967fb4b9dd5e8183dc6ff39b77076fccc38d9
Allow low memory machine to build with a smaller java emulator.

This allows the default for 64 bit machines and adjusts the size
on lower memory machines. If you are on 32 bit you can't build
without this change, even using pae kernel with high mem.

Patch 5: found a better way to do this. Removed import string.
Change-Id: Iac1ef3b5db96029ca62897f6b64646bf6224e752
build: Realign product libraries with corresponding applications

VideoEditor requires a build to call the full_base, but the libraries
are called in generic_no_telephony. This patch places the library
packages in the same product specification as the application using
them.
build libjni_pinyinime together with PinyinIME

PinyinIME needs libjni_pinyinime to work, so build them together.
Otherwise it FCs because the JNI lib is missing.

Change-Id: I5027fa588e5bc49636914ff5c8d305280aaa4936
Colors: add more colors to final build steps

also fix releasetool echo and visible recovery echos

Change-Id: Icf5d88468572f935610c544bf1d5d356ec9870d3

Conflicts:
	core/Makefile
build in colors: host C/C++

Change-Id: Ic415cab53a2efa104c9d4b31ddbe8c8eb74e493d
build: Inline kernel building as a buildtime task

Kernel image integration is now done in the build system. The
"one true way" of doing this is to download the kernel source
into kernel/TARGET_BOOTLOADER_NAME (by usage of the cm.dependencies
mechanism or otherwise), and defining the TARGET_KERNEL_CONFIG
variable in the device's BoardConfig makefile

If the kernel's location doesn't match the automagic location
(multi-device kernel source, for instance), TARGET_KERNEL_SOURCE
can be used to specify a kernel path (i.e.,
"TARGET_KERNEL_SOURCE := kernel/shared-whatever")

If the device requires out-of-kernel-tree modules to be built,
the TARGET_KERNEL_MODULES variable can be used, pointing to a
_make target_ that will build and install such modules. Definition
of such a target is the device author's responsibility, the only
restriction is that it is a normal makefile recipe (example
below)

Optionally (or as an alternative), a prebuilt binary can also be
defined at BoardConfig, by usage of the TARGET_PREBUILT_KERNEL
variable. This binary will be used if the kernel source is absent
(or undefined).

A minimal BoardConfig.mk should look something like this:

TARGET_KERNEL_CONFIG := cyanogenmod_<device>_defconfig
TARGET_PREBUILT_KERNEL := device/<vendor>/<device>/kernel

To include, for example, the TI WLAN modules, this can be used:

-----------------------------
TIWLAN_MODULES:
       make -C hardware/ti/wlan/wl1283/platforms/os/linux/ KERNEL_DIR=$(KERNEL_OUT) ARCH="arm" CROSS_COMPILE="arm-eabi-" TNETW=1273 RANDOM_MAC=n REPORT_LOG=n
       mv hardware/ti/wlan/wl1283/platforms/os/linux/tiwlan_drv.ko $(KERNEL_MODULES_OUT)
       make -C hardware/ti/wlan/wl1283_softAP/platforms/os/linux/ KERNEL_DIR=$(KERNEL_OUT) ARCH="arm" CROSS_COMPILE="arm-eabi-" TNETW=1273 REPORT_LOG=n
       mv hardware/ti/wlan/wl1283_softAP/platforms/os/linux/tiap_drv.ko $(KERNEL_MODULES_OUT)

TARGET_KERNEL_MODULES := TIWLAN_MODULES
---------------------------

Change-Id: I8634fa4c788a42dc6f62e62ca170825b66db126a
build: Fix kernel module building on Darwin/OSX

Darwin/OSX build host does not have module-init-tools which is
required to generated modules.dep file. Switch to modules.order
file marker which is always generated instead.

Change-Id: I20c0fccd905fa668202c3e7284a8778db3728a65
kernel: Change path to kernel/<vendor>/<device>

Derive the kernel path from the device's own path (just replace "device"
with "kernel")

Change-Id: Idd44a0489e1ce280adf5ec4d9cfe2385c75dd115
kernel: Improve support for non-arm architectures

Remove hardwired references to the ARM arch and toolchains, and replace
them with the respective android build variables

Change-Id: Iae3eb548ca1d58ac808b5fa430d415283a809106
kernel: Fix ARM building

The default android ARM compiler, arm-androideabi-, does NOT work
for the Linux kernel. Special-case the ARM architecture to target
the ARM_EABI_TOOLCHAIN path directly

Change-Id: Ib672c99f114cb89d5fda3343d4dc68810d042d35
kernel: allow TARGET_KERNEL_MODULES to overwrite kernel modules

This is necessary to use compat-wireless since it needs to build a newer
version of cfg80211 (and sometimes mac80211) than the kernel sources version.
There are probably other instances of this type of need.

Change-Id: Ib5bf818286bc20987d8b9f9480a43f3e7690e239
Add initial support for charge mode. also support recovery/root in the device tree to easily copy props into recovery images.

Change-Id: Icf773a49f2802e3b287b970a390339f1ba0c7aad
fix rc file for charge mode

Change-Id: I62d881228bf309409a994d45f878d9ff331f93c1
kernel.mk: make use of ccache when requested

Change-Id: I9b6e28711bd5f590a76ac2b62a50b1d2de014e3e