enable noisy build / opensips
How do you enable the noisy build when building OpenSIPS? The one where the actual gcc invocations are not hidden.
In various projects the compilation and linking steps called by make are cleaned up, so you only see things like:
Compiling db/db_query.c
Compiling db/db_id.c
...
This looks cleaner. But sometimes you want to see (or temporarily change) the compilation/linking call:
gcc -g -O9 -funroll-loops -Wcast-align -Wall [...] -c db/db_query.c -o db/db_query.o
gcc -g -O9 -funroll-loops -Wcast-align -Wall [...] -c db/db_id.c -o db/db_id.o
...
(I elided about 800 characters per line in this example. Noisy indeed.)
The setting to disable this “clean” output and favor a “noisy” one generally exists, but there is no consensus on a standardized name.
For projects built with CMake, enabling verbose
mode probably
does the trick (VERBOSE=1
). For other projects, the name varies. (I'm
partial to the NOISY_BUILD=yes
that Asterisk
PBX uses.)
For OpenSIPS you can achieve this effect by
setting the Q
variable to empty:
$ make Q= opensips modules
Other OpenSIPS make variables
Okay. And what about parallel jobs?
Use the FASTER=1
variable, along with the -j
flag:
$ make -j4 FASTER=1 opensips modules
And building only a specific module?
Generally you'll want to preset which modules to include or exclude in
Makefile.conf
. There you have exclude_modules?=
and
include_modules?=
which are used unless you set them earlier (on the
command line).
(Beware: touching Makefile.conf
will force a rebuild of the entire
project.)
For a single run, you can specify either one of them or modules
on the
command line, where modules takes space separated modules with a
modules/
prefix:
$ make modules exclude_modules=presence
(builds all modules except presence)
$ make modules include_modules=presence
(builds the selected modules from Makefile.conf and the presence module)
$ make modules modules=modules/presence
(builds only the presence module)
This might save you some time.