definitions.mk: Don't use GCC '@' parameter

This parameter (which causes GCC to pull additional command line
parameters out of a file) is incompatible with ccache.

- With ccache 2.x, ccache will ignore this parameters, and potentially
compute invalid command line hashes since it is not reading the
parameter file

- With ccache 3.x, ccache will refuse to cache the files and error
with 'Unsupported compiler option'.

We still use the parameter file, but Make expands it instead.

Change-Id: I070c3877cbe2d058e1cf4754bac535e7f3498861
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
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
Fix Issue 5810: Build: Uighur language

Initial commits for Uighur language
Credits: Abduqadir Abliz

Change-Id: I0850cf8823e627c0102015b361315b4a5640eae9
makerecoveries.sh: Fix up some error reporting. Have errors return a non-zero return value for scriptage.

Change-Id: I944338b684fbaaf0cf9e991e5f370c3889e75649
Fix "build: display the full path of the installed libs, to allow copy paste"

When OUT_DIR is not "out", it'll show the wrong path, as the out dir
won't be under ANDROID_BUILD_TOP

This fixes commit 80970297312c426f326284e81869db8a2cf8a487.

Change-Id: Ie8610ec5e1e4ae570a64fba9168a686bfe929961
Merge "definitions.mk: Don't use GCC '@' parameter" into jellybean
Merge "kernel.mk: set KERNEL_OUT properly" into jellybean
Merge "Fix Issue 5810: Build: Uighur language" into jellybean
envsetup: Add some more commands

 * mmp: Like mm but pushes the built files afterward.

 * mmmp: Like mmm but pushes the built files afterward.

These may be useful when doing debugging on a individual library,
since it builds the library and pushes the new library to the device.

Examples:

mmmp -B device/samsung/vibrantmtd/libgps
mmmp -B packages/apps/Torch

Thanks: tpruvot for revisions

Change-Id: Ia6bdd2b63797ea86e164af69496b70ea6d7c5156
build: add support for uncompressed kernels
build: kernel: remove hard coded darwin toolchain.

* Use latest kernel toolchain from $(ARM_EABI_TOOLCHAIN) variable.

Change-Id: I3b43408937dd5f193fcba19c034f868272de8963
select.mk: Tune ccache options

With these adjustments, cached object files can now be shared across
multiple Android trees on a single workstation:

* Compiler binary modification time no longer causes cache misses,
  as a hash of the compiler binary is taken rather than looking
  at the mtime and size
* Header file modification time no longer causes cache misses,
  the headers are now always hashed
* Macros such as __DATE__ and __TIME__ no longer cause cache misses
* All paths in preprocessed source (due to use of -g) are now relative

These options require ccache 3.1 or later to be used; ccache 2.4 will
ignore these.

Change-Id: I7839637e9dacf7240bd9b7bfaa6406b1db423560
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
dexpreopt: add framework2 to list of bootjars

Change-Id: I13f6156cfbe7605dc0668d46d91c92d7a7edfff5
Merge "build: kernel: remove hard coded darwin toolchain." into jellybean
Merge "select.mk: Tune ccache options" into jellybean
build: Add Qualcomm's helper macros

 * This is used everywhere in Qualcomm's code. There's no reason we need
   to constantly replace it with uglier stuff in our Makefiles.

Change-Id: I0183a338470ec96a38f356a47bae65a0d3fb2c95
Optimize the CM builds

Why sign, align, unpack, optimize, sign, align zips and apks?
Just sign and align once on the squisher to speed things up.

Change-Id: I54db8b624be331b234eb968efb64de7629cd7f82
envsetup: Make eat restart adbd as root before pushing the recovery command

Without adbd running as root we can't write to /cache/recovery and
eat fails with a permission denied.

Change-Id: I015b50f29c001605cdc1a0088f68296b62809b56
envsetup: mka improvements

Use make -j -l y instead of just make -j x
x is threads, y is 2*threads
This way make builds with the maximum number of jobs it can
while not getting the load average above y
I've tested it with 8 (x on my pc), 16, 20 and 24, and
2*threads seemed to be the most efficient

*needs more testing*

Change-Id: Ifd72e699a6fadc08442472defcc764fb91179355
Revert "envsetup: mka improvements"

This reverts commit 1e7a791feb5c0ca789c53f2490af24283472815f.