Please see the CyanogenMod Wiki for building instructions.
Repo initialization:
$ repo init -u https://github.com/temasek/android.git -b cm-12.0
sync repo :
$ repo sync
Kernel build :
Due to kernel now being built with androideabi toolchain, you may need to add "-fno-pic" CFLAG to Makefile in order to make your kernel fully functional.
Google for the Android source code. CyanogenMod, in which this source layout was used as a starting point for me. Everyone in crDroid, AOSPA, CyanogenMod, OmniROM, SlimROM, LiquidSmooth, SpasilliumNexus, DirtyUnicorns, NamelessROM, AICP, Euphoria-OS and anyone else I forgot to mention for their commits.
Special mention - arter97 , Cristiano Matos (crDroid)
PartimusPrime - Official bootanimation creator for temasek builds