Make sure heap not used from ISRs.

Wrapped malloc/realloc/free calls to make sure that they aren't being
called from within an ISR since this will typically lead to heap
corruption as the heap code isn't re-entrant.
Rebuild sources if makefile changes.

Now if you touch the settings in your main makefile, the code will be
rebuilt without you needing to force a clean build manually.
Provide _sbrk() which checks for overflow.

Now if you try to make so many dynamic memory allocations from the heap
that the top of the heap would exceed the stack pointer, it fails to do
the allocation.

NOTE: Still possible for the stack to grow down into the heap and cause
      corruption but this does reduce the chances of that happening.
Fix _sbrk() and update license.

The license on gcc4mbed.c should have been Apache v2 and not the LGPL.

I was losing 2k of the heap by initializing _sbrk() to use __HeapLimit
instead of __end__.
Add root directory to inc path.

Windows didn't like "./" in the inc path so added "." as well.
win_install.cmd had mixed line-endings.

Converted the line endings to all be DOS format.
Add external/osx64 to the path in BuildShellDebug.

This was already done in BuildShell but I forgot to do it in the debug
version.  Thanks to Vannieuwkerke Frank for reporting this issue.
Update makefiles to support "make all".

Previously the root makefile and samples/makefile would report an error
if you tried to issue a "make all".  Now they support both "make clean"
and "make all".

Thanks to Vannieuwkerke Frank for reporting this issue.
Update to GCC ARM Embedded 4.7-2013-q2-update.

This is just for OS X at this point in time.  Linux and Windows will
be updated soon.
Used wrong GCC major build number in README

Should have been 4.7 and not 4.8
Initial attempt to update windows and linux installers.

These updates to the newer GCC install still need to be tested.  This
commit just contains a port of the changes that I made for OS X.  I
also removed the .md5 files and not create them on the fly from the
install scripts.  It appears that the windows installers can just
extract binaries from a .zip archive and no longer needs a separate
archive just for the Windows binaries as I did previously.
Update Windows install system.

Fixed bugs in my initial update to win_install.cmd.  Turns out that the
I also removed win32 binaries that haven't been required for some time:
  applydiff.exe is actually patch.exe and is no longer required now
    that patches are no longer applies.
  svn.exe isn't required since the mbed SDK is no longer pulled down
    from a Subersion repo.
Add gcc4.7-2012-q4_mbed54 to previous list

README now points to branch created to represent the current gcc4mbed
which will soon be replaced by this working branch.
Remove online mbed SDK release.

Preparing for switch to mbed SDK being built from sources in gcc4mbed.
mbedSDK version 20130809-0843613136dc30cba6f731e9b6f273e4942256c2

Initial mbed github commit is for this version of the sources:
  https://github.com/mbedmicro/mbed/commit/0843613136dc30cba6f731e9b6f273e4942256c2
Modify mbed lib sources to silence GCC warnings.
Updates to .gitignore

Just ignore output file extensions like *.o, *.a, etc instead of
the output directories.  I also removed some old file types that
no longer get generated within the gcc4mbed directories such as
.svn, .hg, etc.
Update makefiles to build mbed SDK sources.

This initial commit with support for building the mbed SDK sources as
part of the project build process, just works for LPC176X targets at
this time.  Future commits will add support for a few other targets.

When you build a sample like HelloWorld, it has a dependency on
libmbed.  The makefile used to build HelloWorld ends up including
build/arm-common.mk which has rules for building the mbed SDK and
can therefore build the mbed SDK library if it doesn't already exist or
its sources have been updated.

I introduced a new rule: clean-all.  The old clean rule will just clean
the sample output binaries.  clean-all does this and instructs make to
clean out the mbed SDK binaries as well.  While it is necessary to
conduct a "make clean" when you switch between sample build types, it
should be rare that you ever need to clean-all the mbed SDK binaries.
That's why the rules are separate.
Rename makefiles

Perform a makefile rename in preparation for adding support to build
LPC11UXX binaries as well.
Initial support for multiple devices.

I have plumbed in the basics of allowing a project to be targetted to
multiple platforms.  For now it accepts the LPC1768 and LPC11U24
targets.

NOTE: I have more work to do before the LPC11U24 target is actually
      functional.