• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1FFmpeg currently uses a custom build system, this text attempts to document
2some of its obscure features and options.
3
4Makefile variables:
5
6V
7    Disable the default terse mode, the full command issued by make and its
8    output will be shown on the screen.
9
10DBG
11    Preprocess x86 external assembler files to a .dbg.asm file in the object
12    directory, which then gets compiled. Helps in developing those assembler
13    files.
14
15DESTDIR
16    Destination directory for the install targets, useful to prepare packages
17    or install FFmpeg in cross-environments.
18
19GEN
20    Set to ‘1’ to generate the missing or mismatched references.
21
22Makefile targets:
23
24all
25    Default target, builds all the libraries and the executables.
26
27fate
28    Run the fate test suite, note that you must have installed it.
29
30fate-list
31    List all fate/regression test targets.
32
33install
34    Install headers, libraries and programs.
35
36examples
37    Build all examples located in doc/examples.
38
39checkheaders
40    Check headers dependencies.
41
42alltools
43    Build all tools in tools directory.
44
45config
46    Reconfigure the project with the current configuration.
47
48tools/target_dec_<decoder>_fuzzer
49    Build fuzzer to fuzz the specified decoder.
50
51tools/target_bsf_<filter>_fuzzer
52    Build fuzzer to fuzz the specified bitstream filter.
53
54Useful standard make commands:
55make -t <target>
56    Touch all files that otherwise would be built, this is useful to reduce
57    unneeded rebuilding when changing headers, but note that you must force rebuilds
58    of files that actually need it by hand then.
59
60make -j<num>
61    Rebuild with multiple jobs at the same time. Faster on multi processor systems.
62
63make -k
64    Continue build in case of errors, this is useful for the regression tests
65    sometimes but note that it will still not run all reg tests.
66
67