]> git.sesse.net Git - ffmpeg/blob - doc/build_system.txt
Merge commit '48362ceadeb2eb5286ae94ef7f9542d990ff7ec7'
[ffmpeg] / doc / build_system.txt
1 FFmpeg currently uses a custom build system, this text attempts to document
2 some of its obscure features and options.
3
4 Makefile variables:
5
6 V
7     Disable the default terse mode, the full command issued by make and its
8     output will be shown on the screen.
9
10 DBG
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
15 DESTDIR
16     Destination directory for the install targets, useful to prepare packages
17     or install FFmpeg in cross-environments.
18
19 GEN
20     Set to ‘1’ to generate the missing or mismatched references.
21
22 Makefile targets:
23
24 all
25     Default target, builds all the libraries and the executables.
26
27 fate
28     Run the fate test suite, note that you must have installed it.
29
30 fate-list
31     List all fate/regression test targets.
32
33 install
34     Install headers, libraries and programs.
35
36 examples
37     Build all examples located in doc/examples.
38
39 libavformat/output-example
40     Build the libavformat basic example.
41
42 libswscale/swscale-test
43     Build the swscale self-test (useful also as an example).
44
45 config
46     Reconfigure the project with the current configuration.
47
48
49 Useful standard make commands:
50 make -t <target>
51     Touch all files that otherwise would be built, this is useful to reduce
52     unneeded rebuilding when changing headers, but note that you must force rebuilds
53     of files that actually need it by hand then.
54
55 make -j<num>
56     Rebuild with multiple jobs at the same time. Faster on multi processor systems.
57
58 make -k
59     Continue build in case of errors, this is useful for the regression tests
60     sometimes but note that it will still not run all reg tests.
61