office-gobmx/solenv/gbuild/gbuild.help.txt
Stephan Bergmann 21d51ae1a4 Drop upper-case ENABLE_SYMBOLS, consolidate on lower-case enable_symbols
Change-Id: I6bb6046968a74c49cc8441a1529f9934c90ed50c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165134
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-22 08:42:10 +01:00

158 lines
7.7 KiB
Text

NAME
gbuild - GNU make based build system for LibreOffice
SYNOPSIS
make [ -f makefile ] [ options ] [ variable=value ... ] [ targets ] ...
IMPORTANT OPTIONS
-s Silent operation; do not print the commands as they are executed.
-n Print the commands that would be executed, but do not execute them.
-k Continue as much as possible after an error.
-j Specifies the number of jobs (commands) to run simultaneously.
-l Specifies that no new jobs (commands) should be started if there are
others jobs running and the load average is at least load.
-t Touch files (mark them up to date without really changing them)
instead of running their commands.
-W Pretend that the target file has just been modified.
-o Do not remake the file file even if it is older than its
dependencies, and do not remake anything on account of changes in file.
-p Print the data base (rules and variable values) that results from
reading the makefiles.
--debug=b debug make run, see GNU make man page for details
(descriptions from GNU make man page)
AVAILABLE TARGETS
build build product (default goal)
clean remove all generated files
debugrun starts the INSTDIR instance and allows tests to
be run against it. You can provide additional
arguments to soffice.bin using the gb_DBGARGS
variable.
check run unit tests and if in toplevel subsequentcheck
unitcheck run unit tests
slowcheck run slow unit tests
screenshot create all screenshots
coverage run coverage tests
subsequentcheck run system tests (requires full installation)
perfcheck run performance/callgrind unit tests
uicheck run UI tests
You can set gb_SUPPRESS_TESTS to just build but not run the tests.
build-l10n-only builds translation files for the build products
build-non-l10n-only builds the product without the localization files
translations extract .pot files to workdir/pot
packageinfo generates package information for distros
dump-deps-png creates dependency diagrams in PNG format
NOTE: needs graphviz to work
showmodules shows all registered modules
<module> an alias for <module>.build
<module>.<toplevel target> runs the toplevel target for the named
module. Per default, all pre-requisite are excluded!
<module>.allbuild as build + including all the pre-requisite modules
<module>.allcheck as check + including all the pre-requisite modules
<module>.buildall an alias for <module>.allbuild
<module>.checkall an alias for <module>.allcheck
<module>.showdeliverables show the targets delivered to INSTDIR and
their source
cmd execute the command contained in the variable cmd=""
in a shell with config_host.mk or config_build.mk
environment set. (see gb_SIDE)
<target> build gbuild target (such as Library_vbaswobj or
CppunitTest_sw_macros_test)
<target>.clean clean gbuild target
<class>_<target> for all targets and for the following classes:
o AllLangMoTarget
o AllLangZip
o CliLibrary
o CliNativeLibrary
o CliUnoApi
o ComponentTarget
o Configuration
o CppunitTest
o CustomTarget
o Dictionary
o Executable
o Extension
o ExternalPackage
o ExternalProject
o Gallery
o Helper
o InstallModule
o InstallScript
o InternalUnoApi
o Jar
o JunitTest
o Library
o Package
o Pagein
o PythonTest
o Pyuno
o Rdb
o StaticLibrary
o UI
o UnoApi
o UnpackedTarball
o WinResTarget
o Zip
INTERACTIVE VARIABLES:
BUILDTOOLTRACE Run all commands that invoke built tools in strace,
valgrind or a debugger:
BUILDTOOLTRACE='$(DEVENV) /debugexe' PARALLELISM=1 make
debug If not empty, build as with --enable-debug.
enable_symbols If not empty, build as with --enable-symbols.
dbglevel If not empty, force the debug level to the specified value. The
debug level is passed to the source code through OSL_DEBUG_LEVEL
macro.
0 = no debug (as with --disable-debug)
1 = debugging information + no optimizations (as with --enable-debug)
(Note that levels higher than 2 are used only by obsolete debugging
features. Use SAL_INFO/SAL_WARN with a specific area for extra debug
output in new code.)
2 = debugging information + no optimizations + extra
debug output. OSL_TRACE starts being active on this
level.
3... = debugging information + no optimizations + extra
debug output (usually extremely verbose). Levels
> 2 are not used very much.
PARALLELISM If not empty, pass argument on as the -j switch
to recursive make invocations. Useful to
lower/increase build parallelism individually.
verbose=t Verbose mode: display all commands
LEXFLAGS Append flags for LEX scanner generator invocation.
YACCFLAGS Append flags for YACC parser generator invocation.
CPPFLAGS Append preprocessor flags for C/C++/ObjC/ObjC++ compilation.
CFLAGS Override compiler flags for plain C compilation.
ENVCFLAGS Append compiler flags for plain C compilation.
CXXFLAGS Override compiler flags for C++ compilation.
Note: this overrides default optimization and debug
flags; to append flags without overriding, use:
CXXFLAGS='$(call gb_LinkTarget__get_debugflags,$(1)) -Wfoo'
ENVCFLAGSCXX Append compiler flags for C++ compilation.
OBJCFLAGS Override compiler flags for Objective C compilation.
OBJCXXFLAGS Override compiler flags for Objective C++ compilation.
LDFLAGS Override linker flags.
gb_FULLDEPS Generate and use dependencies (on by default, handle with care).
gb_COLOR Use ASCII color output.
gb_TITLES Show progress in terminal title.
gb_Side Either "host" or "build" (default to "host").
determine if config_host.mk or config_build.mk is used to
set the build environment.
gb_DBGARGS Append these arguments to GDBs "set args" command for
debugrun. Double quotes will be automatically escaped.
gb_SUPPRESS_TESTS Do not run tests (but still build them, when requested
by the given targets).
GCC_COLORS Colorize gcc diagnostics output. See
https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html
for details & syntax. Or export that setting in your .bash_profile.