You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	build: create output directories as needed
Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
		
							
								
								
									
										7
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								Makefile
									
									
									
									
									
								
							| @@ -122,9 +122,11 @@ alltools: $(TOOLS) | ||||
| tools/%$(EXESUF): tools/%.o | ||||
| 	$(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) | ||||
|  | ||||
| tools/%.o: tools/%.c | ||||
| tools/%.o: tools/%.c | tools | ||||
| 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $(CC_O) $< | ||||
|  | ||||
| OBJDIRS += tools | ||||
|  | ||||
| -include $(wildcard tools/*.d) | ||||
|  | ||||
| VERSION_SH  = $(SRC_PATH)/version.sh | ||||
| @@ -185,6 +187,9 @@ check: test checkheaders | ||||
| include $(SRC_PATH)/doc/Makefile | ||||
| include $(SRC_PATH)/tests/Makefile | ||||
|  | ||||
| $(sort $(OBJDIRS)): | ||||
| 	$(Q)mkdir -p $@ | ||||
|  | ||||
| # Dummy rule to stop make trying to rebuild removed or renamed headers | ||||
| %.h: | ||||
| 	@: | ||||
|   | ||||
| @@ -34,6 +34,12 @@ $(HOSTOBJS): %.o: %.c | ||||
| $(HOSTPROGS): %$(HOSTEXESUF): %.o | ||||
| 	$(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS) | ||||
|  | ||||
| $(OBJS):     | $(dir $(OBJS)) | ||||
| $(HOSTOBJS): | $(dir $(HOSTOBJS)) | ||||
| $(TESTOBJS): | $(dir $(TESTOBJS)) | ||||
|  | ||||
| OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS)) | ||||
|  | ||||
| CLEANSUFFIXES     = *.d *.o *~ *.ho *.map *.ver | ||||
| DISTCLEANSUFFIXES = *.pc | ||||
| LIBSUFFIXES       = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp | ||||
|   | ||||
							
								
								
									
										31
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -875,9 +875,9 @@ apply(){ | ||||
| } | ||||
|  | ||||
| cp_if_changed(){ | ||||
|     cmp -s "$1" "$2" && | ||||
|         echo "$2 is unchanged" || | ||||
|         cp -f "$1" "$2" | ||||
|     cmp -s "$1" "$2" && echo "$2 is unchanged" && return | ||||
|     mkdir -p "$(dirname $2)" | ||||
|     cp -f "$1" "$2" | ||||
| } | ||||
|  | ||||
| # CONFIG_LIST contains configurable options, while HAVE_LIST is for | ||||
| @@ -1675,10 +1675,8 @@ DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -MM' | ||||
| # find source path | ||||
| if test -f configure; then | ||||
|     source_path=. | ||||
|     disable source_path_used | ||||
| else | ||||
|     source_path=$(cd $(dirname "$0"); pwd) | ||||
|     enable source_path_used | ||||
|     echo "$source_path" | grep -q '[[:blank:]]' && | ||||
|         die "Out of tree builds are impossible with whitespace in source path." | ||||
|     test -e "$source_path/config.h" && | ||||
| @@ -3180,27 +3178,7 @@ echo "License: $license" | ||||
|  | ||||
| echo "Creating config.mak and config.h..." | ||||
|  | ||||
| # build tree in object directory if source path is different from current one | ||||
| if enabled source_path_used; then | ||||
|     DIRS=" | ||||
|         doc | ||||
|         libavcodec | ||||
|         libavcodec/$arch | ||||
|         libavdevice | ||||
|         libavfilter | ||||
|         libavfilter/$arch | ||||
|         libavformat | ||||
|         libavutil | ||||
|         libavutil/$arch | ||||
|         libpostproc | ||||
|         libswscale | ||||
|         libswscale/$arch | ||||
|         tests | ||||
|         tools | ||||
|     " | ||||
|     map 'mkdir -p $v' $DIRS; | ||||
|     $ln_s "$source_path/Makefile" . | ||||
| fi | ||||
| test -e Makefile || $ln_s "$source_path/Makefile" . | ||||
|  | ||||
| config_files="$TMPH config.mak" | ||||
|  | ||||
| @@ -3379,6 +3357,7 @@ version=$3 | ||||
| libs=$4 | ||||
| requires=$5 | ||||
| enabled ${name#lib} || return 0 | ||||
| mkdir -p $name | ||||
| cat <<EOF > $name/$name.pc | ||||
| prefix=$prefix | ||||
| exec_prefix=\${prefix} | ||||
|   | ||||
| @@ -24,6 +24,9 @@ doc/%.1: TAG = MAN | ||||
| doc/%.1: doc/%.pod | ||||
| 	$(M)pod2man --section=1 --center=" " --release=" " $< > $@ | ||||
|  | ||||
| $(DOCS): | doc | ||||
| OBJDIRS += doc | ||||
|  | ||||
| install-progs-$(CONFIG_DOC): install-man | ||||
|  | ||||
| install-man: $(MANPAGES) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user