mirror of https://gerrit.osmocom.org/osmo-dev
70 lines
2.2 KiB
Plaintext
70 lines
2.2 KiB
Plaintext
=== gen_makefile.py
|
|
|
|
This provides a set of top-level makefiles to build variants of the Osmocom
|
|
source trees. It is inteded for the core network components and related
|
|
projects, but works generically.
|
|
|
|
The idea is to have all your Osmocom git clones in ./src, while keeping one or
|
|
more separate build trees in ./make-*.
|
|
|
|
Run ./gen_makefile.py with a choice of projects (2G only or also 3G?)
|
|
and a choice of configure options.
|
|
|
|
For the clone step to work, you must either provide the --url argument to
|
|
gen_makefile like
|
|
./gen_makefile --url git://git.osmocom.org
|
|
OR add an SSH config to reach gerrit.osmocom.org as ssh://go; add this to your
|
|
~/.ssh/config:
|
|
host go
|
|
hostname gerrit.osmocom.org
|
|
port 29418
|
|
|
|
|
|
Examples:
|
|
|
|
Full 2G and 3G support:
|
|
|
|
./gen_makefile.py --url=git://git.osmocom.org 3G+2G.deps default.opts iu.opts
|
|
|
|
2G only (requires to pass no-iu.opts), and a custom dir name of 'make-2G':
|
|
|
|
./gen_makefile.py 2G.deps default.opts -m make-2G
|
|
|
|
This generates a new dir containing a Makefile. When you run make in it, this
|
|
will clone the source trees (if not present yet) and build all of them in the
|
|
right order:
|
|
|
|
cd make-3G+2G-default+iu
|
|
make
|
|
|
|
If you make modifications in one of the source trees, this Makefile will pick
|
|
it up, rebuild the project and also rebuild all dependencies (according to the
|
|
*.deps file the Makefile was generated from).
|
|
|
|
If you modify the *.deps or *.opts file, you can easily run 'make regen' in a
|
|
make-* subdir to regenerate the Makefile from the same files.
|
|
|
|
In your make-* subdir there are empty status files that are touched for every
|
|
completed make target. From these, 'make' can detect what needs to be rebuilt.
|
|
You can manually remove them to force a rebuild of a specific target.
|
|
|
|
For example, if you 'rm .make.libosmocore.autoconf', libosmocore and all
|
|
projects depending on libosmocore will be rebuilt from scratch.
|
|
|
|
For more details on the *.opts and *.deps syntax, read the docs at the top of
|
|
./gen_makefile.py.
|
|
|
|
It is also easily possible to keep sources and build trees in various
|
|
configurations, see the command line options of ./gen_makefile.py.
|
|
|
|
|
|
=== osmo-uninstall.sh
|
|
|
|
Remove osmocom built binaries and headers from given prefix,
|
|
default is /usr/local.
|
|
|
|
|
|
=== src/*
|
|
|
|
Find other useful scripts in src/, see src/README.
|