Please be careful with the automated scripts! Read this first before using this tool!
It may RESET, CLEAN or DELETE the files you added to the working directory or any other place related to the compiling process!
Please be aware the following commands may execute by the automated scripts:
rm -rf sdk5g
git clean -ffdx
Some of the executable file in prefix-root
will be RENAMED or REPLACED
by hook installer (install-hook-inplace
).
Read the scripts first to make sure what you are doing.
If you have any problem or concern, feel free to contact the author.
- First of all: Setup LinSEE environments. At least you need
python3
and a workinggcc
environment. - Source
scripts/setup.env
or addscripts
dir of this tool toPATH
.
source scripts/setup.env
- Checkout you code repository to the version you want to compile.
git checkout [commit id]
git submodule update --init --recursive
cd externals/env
git checkout [env commit id]
- Clean the project before compiling, make sure all targets are recompiled. Or this tool will not be able to get any information about the already compiled targets. It is recommended to run below command to clean the git repository. (Be careful if you have local changes.)
git-do-clean
- Change to the dir which contain the
gnb
code repository. Do not enter into thegnb
dir. - It is recommended to run below command to remove any generated files.
gen_project_clean
- If you want to build cplane project for CloudBTS, set
GEN_PROJECT_BUILD_CPLANE_FOR_CLOUD_BTS
env to1
. The build script will apply a patch tognb/cplane/scripts/_prepare_sdk.sh
to make command hook installed properly. Any gnb versions before commit fadd8d3a will not work unless your modifybuild_cplane.sh
andgnb/cplane/cu/scripts/prepare_sdk.sh
manually (refer to the patch file), or ask for help. (NOT SUPPORTED CURRENTLY!!!)
export GEN_PROJECT_BUILD_CPLANE_FOR_CLOUD_BTS=1
- Run any of the following commands to compile and generate CLion project archive. You can develop your own script to fit your work.
gen_project_cplane
gen_project_cplane_all
gen_project_cprt
gen_project_gtpugen
gen_project_l2hi
gen_project_l2lo
gen_project_l2ps
gen_project_phystub
gen_project_robot_mct_hi_lo_all
gen_project_schstub
gen_project_uplane_all
- The project archive will be in the current dir named like
l2-ps.txz
. The archives with ano-testable
suffix has noTESTABLE()
macro in source or header files. - Open this project use CLion. (The project is the dir which containing
CMakeLists.txt
. UseOpen
in the CLion to open that dir.) - You can use Graphviz to generate
compile path
svg
(suggested) graph usingcompile_path.dot
file in the project dir.
- Suggested toolchain to use on Windows: MinGW-w64
2018-11-22 1.8b
- NOTICE: Currently all cplane functions are not tested!
- Update CP-RT compile script.
- Add cplane project CloudBTS build support since gnb commit fadd8d3a.
- Add cleaning scripts 'git-do-reset' and 'gen_project_clean_background'.
- Add build scripts:
- gen_project_gtpugen
- gen_project_phystub
- gen_project_robot_mct_hi_lo_all
- gen_project_schstub
- Add generator command support.
2018-11-16 1.7
- Add cleaning scripts. 'git-do-clean' and 'gen_project_clean'.
2018-11-14 1.6
- Bug fixes.
- Compile hook when installing.
- Remove '-Werror' from config.
- Add TESTABLE() removal function.
2018-11-05 1.5
- GCC '-include', '-H' option implementation.
2018-11-02 1.4
- Fix hook.c lock file issue.
2018-10-31 1.3
- Add Copyright info and README.