toolchain: rewrite the build system to allow parallelizing builds

Use stampfiles for builds and proper dependencies to allow running
make with -j<N>. The jobserver is also passed to the package make
processes to further optimize build time.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
add .gitignore

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
firmware: rewrite build system using cmake

Call the firmware build from the top-level Makefile (depends
on the toolchain build).

Signed-off-by: Felix Fietkau <nbd@openwrt.org>