Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard authored on 2011/06/29 02:45:13... | ... |
@@ -122,9 +122,11 @@ alltools: $(TOOLS) |
122 | 122 |
tools/%$(EXESUF): tools/%.o |
123 | 123 |
$(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS) |
124 | 124 |
|
125 |
-tools/%.o: tools/%.c |
|
125 |
+tools/%.o: tools/%.c | tools |
|
126 | 126 |
$(CC) $(CPPFLAGS) $(CFLAGS) -c $(CC_O) $< |
127 | 127 |
|
128 |
+OBJDIRS += tools |
|
129 |
+ |
|
128 | 130 |
-include $(wildcard tools/*.d) |
129 | 131 |
|
130 | 132 |
VERSION_SH = $(SRC_PATH)/version.sh |
... | ... |
@@ -185,6 +187,9 @@ check: test checkheaders |
185 | 185 |
include $(SRC_PATH)/doc/Makefile |
186 | 186 |
include $(SRC_PATH)/tests/Makefile |
187 | 187 |
|
188 |
+$(sort $(OBJDIRS)): |
|
189 |
+ $(Q)mkdir -p $@ |
|
190 |
+ |
|
188 | 191 |
# Dummy rule to stop make trying to rebuild removed or renamed headers |
189 | 192 |
%.h: |
190 | 193 |
@: |
... | ... |
@@ -34,6 +34,12 @@ $(HOSTOBJS): %.o: %.c |
34 | 34 |
$(HOSTPROGS): %$(HOSTEXESUF): %.o |
35 | 35 |
$(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS) |
36 | 36 |
|
37 |
+$(OBJS): | $(dir $(OBJS)) |
|
38 |
+$(HOSTOBJS): | $(dir $(HOSTOBJS)) |
|
39 |
+$(TESTOBJS): | $(dir $(TESTOBJS)) |
|
40 |
+ |
|
41 |
+OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS)) |
|
42 |
+ |
|
37 | 43 |
CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver |
38 | 44 |
DISTCLEANSUFFIXES = *.pc |
39 | 45 |
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp |
... | ... |
@@ -875,9 +875,9 @@ apply(){ |
875 | 875 |
} |
876 | 876 |
|
877 | 877 |
cp_if_changed(){ |
878 |
- cmp -s "$1" "$2" && |
|
879 |
- echo "$2 is unchanged" || |
|
880 |
- cp -f "$1" "$2" |
|
878 |
+ cmp -s "$1" "$2" && echo "$2 is unchanged" && return |
|
879 |
+ mkdir -p "$(dirname $2)" |
|
880 |
+ cp -f "$1" "$2" |
|
881 | 881 |
} |
882 | 882 |
|
883 | 883 |
# CONFIG_LIST contains configurable options, while HAVE_LIST is for |
... | ... |
@@ -1675,10 +1675,8 @@ DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -MM' |
1675 | 1675 |
# find source path |
1676 | 1676 |
if test -f configure; then |
1677 | 1677 |
source_path=. |
1678 |
- disable source_path_used |
|
1679 | 1678 |
else |
1680 | 1679 |
source_path=$(cd $(dirname "$0"); pwd) |
1681 |
- enable source_path_used |
|
1682 | 1680 |
echo "$source_path" | grep -q '[[:blank:]]' && |
1683 | 1681 |
die "Out of tree builds are impossible with whitespace in source path." |
1684 | 1682 |
test -e "$source_path/config.h" && |
... | ... |
@@ -3180,27 +3178,7 @@ echo "License: $license" |
3180 | 3180 |
|
3181 | 3181 |
echo "Creating config.mak and config.h..." |
3182 | 3182 |
|
3183 |
-# build tree in object directory if source path is different from current one |
|
3184 |
-if enabled source_path_used; then |
|
3185 |
- DIRS=" |
|
3186 |
- doc |
|
3187 |
- libavcodec |
|
3188 |
- libavcodec/$arch |
|
3189 |
- libavdevice |
|
3190 |
- libavfilter |
|
3191 |
- libavfilter/$arch |
|
3192 |
- libavformat |
|
3193 |
- libavutil |
|
3194 |
- libavutil/$arch |
|
3195 |
- libpostproc |
|
3196 |
- libswscale |
|
3197 |
- libswscale/$arch |
|
3198 |
- tests |
|
3199 |
- tools |
|
3200 |
- " |
|
3201 |
- map 'mkdir -p $v' $DIRS; |
|
3202 |
- $ln_s "$source_path/Makefile" . |
|
3203 |
-fi |
|
3183 |
+test -e Makefile || $ln_s "$source_path/Makefile" . |
|
3204 | 3184 |
|
3205 | 3185 |
config_files="$TMPH config.mak" |
3206 | 3186 |
|
... | ... |
@@ -3379,6 +3357,7 @@ version=$3 |
3379 | 3379 |
libs=$4 |
3380 | 3380 |
requires=$5 |
3381 | 3381 |
enabled ${name#lib} || return 0 |
3382 |
+mkdir -p $name |
|
3382 | 3383 |
cat <<EOF > $name/$name.pc |
3383 | 3384 |
prefix=$prefix |
3384 | 3385 |
exec_prefix=\${prefix} |