summaryrefslogtreecommitdiff
path: root/doc/build_system.txt (plain)
blob: 8c12e0e294dbce7dad694eb2356a559c61aa9b34
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
39libavformat/output-example
40 Build the libavformat basic example.
41
42libswscale/swscale-test
43 Build the swscale self-test (useful also as an example).
44
45config
46 Reconfigure the project with the current configuration.
47
48
49Useful standard make commands:
50make -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
55make -j<num>
56 Rebuild with multiple jobs at the same time. Faster on multi processor systems.
57
58make -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
62