Build for p31xx
It is advised that you read this before reading this document : http://wiki.cyanogenmod.org/w/Doc:_Building_Basics
It is assumed that you have android-sdk .
Setting Up A Compile Environment
You should by far have setup your computer to build for android If not go here  and do so.
Building the Rom
It is recommended that you use cache for you builds. It will help you in making your builds faster (from hours to minutes)
echo "export USE_CCACHE=1" >> ~/.bashrc ~/android/omni/prebuilts/misc/linux-x86/ccache/ccache -M 25G
This step is optional: You should now log off and log in again just to be sure that the "exports" that we wrote to bashrc is loaded.
What is does :
1)echo "export USE_CCACHE=1" >> ~/.bashrc
It tells to write at the end of the file .bashrc which is at the HOME directory (it is hidden , press Ctrl + H) .
Bashrc is the file which is executed everytime you open a terminal . So writing such export commands to bashrc prevents you from manually writing it everytime you open a terminal.
2)~/android/omni/prebuilts/misc/linux-x86/ccache/ccache -M 25G
It tells the ccache file to limit the ccache size to 25Gb . If you want 50Gb then replace 25G with 50G.
Now set the environment to start building with this command
. build/envsetup.sh breakfast p3100
What is does : 1) . build/envsetup.sh (dont forget the "." DOT and " " SPACE before build/envsetup.sh )
2) breakfast p3100
What this does is grabs the files for your device. It will grab the following projects
android_hardware_samsung android_device_samsung_omap4-common android_packages_apps_SamsungServiceMode android_kernel_samsung_espresso10 repo android_device_samsung_p3100
Now connect your device and go to ~/android/omni/device/samsung/p3100/ And execute "extract-files.sh" After it has extracted the proprietary files you can move ahead.
Note:This will work only if you are on latest official CyanogenMod or omnirom.
For those who are on other rom it is advisable that they clone the repository of TheMuppets https://github.com/TheMuppets/proprietary_vendor_samsung
You will see many devices in the list You can choose one of the two options
1)Download all the folders for developing for multiple devices(if you plan to)
2)Download relevant folders.
1) If you are willing to download all the devices then you may do so by the following command from terminal
mkdir ~/Proprietary_Vendor_Samsung cd ~/Propritary_Vendor_Samsung git clone https://github.com/TheMuppets/proprietary_vendor_samsung -b cm-11.0
Note: At the time of this writing cm-11.0 is the latest in all the branches . It should be replaced with later versions if any or it will give following errors
make: *** No rule to make target `vendor/samsung/omap4-common/proprietary/system/vendor/lib/egl/libEGL_POWERVR_SGX544_112.so', needed by `/home/mhrsolanki2020/android/omni/out/target/product/p3100/system/vendor/lib/egl/libEGL_POWERVR_SGX544_112.so'. Stop.
As you can notice it is trying to find "libEGL_POWERVR_SGX544_112.so" (latest version) but the one that i have contains "libEGL_POWERVR_SGX544_110.so" so i will have to update my Proprietory_Vendor_Samsung to the latest one
2)Download relevant folders
How to find out relevant folders? First download your device proprietary folder . i.e. P31xx which contains both P3100 and P3110 And then also omap4-common. Omap4-common: This is the common files that are not included in the device specific folder. It contains files that are common for all Omap4 architecture And then compile the source. If you see any error then download the folders if they are related to proprietary files. If we take the example of the previous error you can see that it talks about omap4-commn in the vendor/samsung folder.
make: *** No rule to make target `vendor/samsung/omap4-common/proprietary/system/vendor/lib/egl/libEGL_POWERVR_SGX544_112.so, needed by `/home/mhrsolanki2020/android/omni/out/target/product/p3100/system/vendor/lib/egl/libEGL_POWERVR_SGX544_112.so'. Stop.
Heres how you download a folder from github You need a tool named subversion that allows you to serve the purpose
sudo apt-get sudo apt-get install subversion
And then run the following commands
svn checkout https://github.com/TheMuppets/proprietary_vendor_samsung/trunk/omap4-common/ svn checkout https://github.com/TheMuppets/proprietary_vendor_samsung/trunk/p31xx/
now copy the p3100(from p31xx folder) and omap4-common folder to ~/android/omni/vendor/samsung/
And the build should start. since this is the first time . It will take a lot of time to build . But for next build it will take less time.