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