| 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. |
| |
| tools/target_bsf_<filter>_fuzzer |
| Build fuzzer to fuzz the specified bitstream filter. |
| |
| 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. |
| |