65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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.
 | 
						||
 | 
						||
libavformat/output-example
 | 
						||
    Build the libavformat basic example.
 | 
						||
 | 
						||
libswscale/swscale-test
 | 
						||
    Build the swscale self-test (useful also as an example).
 | 
						||
 | 
						||
config
 | 
						||
    Reconfigure the project with the current configuration.
 | 
						||
 | 
						||
tools/target_dec_<decoder>_fuzzer
 | 
						||
    Build fuzzer to fuzz the specified decoder.
 | 
						||
 | 
						||
 | 
						||
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.
 | 
						||
 |