build: Add missing endif

Change-Id: I391ac0f12235b7193e2af5554876a63fe9d461d1
Revert "Revert "Make the kernel image format parametric instead of a chain of if/elses""

This reverts commit bf0ade891346fef9eeca77b3d2bfd2a5774a33c5.
Revert "Revert "kernel: Ignore errors with module building""

This reverts commit 66b1abc4fbab06ed9b79648c12eca0a0d70e222a.
Revert "Revert "build: use the system's ccache by default""

This reverts commit efec55ac026370a6d6a9e83742d0f6cdc5304bd5.
Revert "Revert "[HAX] Allow per-target dtbTool""

This reverts commit 71681d182f247215d9fba4277e9211874a8e9037.
Fixing Compilation issue

Change-Id: I1ad1e91498aee877c78cf85656fe704c585fb0cf
build: don't clear recovery ramdisk

Clearing recovery ramdisk removes all files place there by the
device tree and all busybox symlinks placed there by recovery

Conflicts:
	core/Makefile

Change-Id: I19e6164856a01a83a6e2c50ef96742edcb9f570f
build: recovery: Support adding device-specific items

(cdesai): Also add the relevant parts from koush's
commit 7fd5a89df5ec3961c9aedfd2afad50d6d2561056
"Add initial support for charge mode. also support recovery/root in the device tree to easily copy props into recovery images."

Change-Id: I25205e68282680932917016646dabd1abadbfce6
build: Handle boot images with custom makefile properly

When a pre-built image should be used, it should be stored in the
target files zip so that it can be used with external signing
processes.

Original-Change-Id: I2661af9ac58af30bb9314b552775046d3abf44e0
Change-Id: I10b3bd0bb33489b8ffb26d16d002f8dd6ff405ad