|
|
|
FFmpeg currently uses a custom build system, this text attempts to document
|
|
|
|
some of its obscure features and options.
|
|
|
|
|
|
|
|
Makefile variables:
|
|
|
|
|
|
|
|
V
|
|
|
|
Disable the default terse mode, the full command issued by make and its
|
|
|
|
output will be shown on the screen.
|
|
|
|
|
|
|
|
DBG
|
|
|
|
Preprocess x86 external assembler files to a .dbg.asm file in the object
|
|
|
|
directory, which then gets compiled. Helps in developing those assembler
|
|
|
|
files.
|
|
|
|
|
|
|
|
DESTDIR
|
|
|
|
Destination directory for the install targets, useful to prepare packages
|
|
|
|
or install FFmpeg in cross-environments.
|
|
|
|
|
|
|
|
GEN
|
|
|
|
Set to ‘1’ to generate the missing or mismatched references.
|
|
|
|
|
|
|
|
Makefile targets:
|
|
|
|
|
|
|
|
all
|
|
|
|
Default target, builds all the libraries and the executables.
|
|
|
|
|
|
|
|
fate
|
|
|
|
Run the fate test suite, note that you must have installed it.
|
|
|
|
|
|
|
|
fate-list
|
|
|
|
List all fate/regression test targets.
|
|
|
|
|
|
|
|
install
|
|
|
|
Install headers, libraries and programs.
|
|
|
|
|
|
|
|
examples
|
|
|
|
Build all examples located in doc/examples.
|
|
|
|
|
|
|
|
checkheaders
|
|
|
|
Check headers dependencies.
|
|
|
|
|
|
|
|
alltools
|
|
|
|
Build all tools in tools directory.
|
|
|
|
|
|
|
|
config
|
|
|
|
Reconfigure the project with the current configuration.
|
|
|
|
|
|
|
|
tools/target_dec_<decoder>_fuzzer
|
|
|
|
Build fuzzer to fuzz the specified decoder.
|
|
|
|
|
|
|
|
|
|
|
|
Useful standard make commands:
|
|
|
|
make -t <target>
|
|
|
|
Touch all files that otherwise would be built, this is useful to reduce
|
|
|
|
unneeded rebuilding when changing headers, but note that you must force rebuilds
|
|
|
|
of files that actually need it by hand then.
|
|
|
|
|
|
|
|
make -j<num>
|
|
|
|
Rebuild with multiple jobs at the same time. Faster on multi processor systems.
|
|
|
|
|
|
|
|
make -k
|
|
|
|
Continue build in case of errors, this is useful for the regression tests
|
|
|
|
sometimes but note that it will still not run all reg tests.
|
|
|
|
|