doc/build_system.txt
a6be21d3
 FFmpeg currently uses a custom build system, this text attempts to document
326ede48
 some of its obscure features and options.
 
c535d089
 Makefile variables:
326ede48
 
c535d089
 V
     Disable the default terse mode, the full command issued by make and its
     output will be shown on the screen.
326ede48
 
bc8e044d
 DBG
     Preprocess x86 external assembler files to a .dbg.asm file in the object
8881b035
     directory, which then gets compiled. Helps in developing those assembler
bc8e044d
     files.
 
c535d089
 DESTDIR
     Destination directory for the install targets, useful to prepare packages
34c27ada
     or install FFmpeg in cross-environments.
326ede48
 
1cf87e16
 GEN
     Set to ‘1’ to generate the missing or mismatched references.
 
c535d089
 Makefile targets:
326ede48
 
c535d089
 all
     Default target, builds all the libraries and the executables.
326ede48
 
27ef7b1b
 fate
8881b035
     Run the fate test suite, note that you must have installed it.
27ef7b1b
 
 fate-list
8881b035
     List all fate/regression test targets.
27ef7b1b
 
c535d089
 install
     Install headers, libraries and programs.
326ede48
 
a30f1b15
 examples
     Build all examples located in doc/examples.
 
c535d089
 libavformat/output-example
     Build the libavformat basic example.
326ede48
 
c535d089
 libswscale/swscale-test
8881b035
     Build the swscale self-test (useful also as an example).
326ede48
 
a30f1b15
 config
8881b035
     Reconfigure the project with the current configuration.
a30f1b15
 
8ef2c791
 tools/target_dec_<decoder>_fuzzer
     Build fuzzer to fuzz the specified decoder.
 
326ede48
 
 Useful standard make commands:
 make -t <target>
8881b035
     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
326ede48
     of files that actually need it by hand then.
 
 make -j<num>
8881b035
     Rebuild with multiple jobs at the same time. Faster on multi processor systems.
326ede48
 
 make -k
8881b035
     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.
326ede48