Hello!
Please cc me on replies, because I'm no longer subscribed to
ffmpeg-devel.
While trying to build an uncastrated Debian ffmpeg package I stubled
upon a problem when building ffmpeg outside the source tree:
1. The Makefile doesn't properly change to the libavcodex/libpostproc/
directory in the build tree, but changes to the directory in the source
tree. This is fixed by removing the '$(PATH)/' Prefix in
libavcode/Makefile.
2. Building the manual pages in a separate build tree also doesn't work,
since the doc/ directory isn't symlinked to the build tree. The
converted manual pages are also explicitely referenced in the source
tree, where they don't exist.
3. The quotation of "SRC_PATH='$source_path'" with single quotes is
wrong in a Makefile, since the single quotes are used verbatim and are
not shell meta characters.
I would appreciate it if somebody could please double check the patch
below and apply it to the repository.
BYtE
Philipp
--- ffmpeg-0.cvs20050108.orig/doc/Makefile
+++ ffmpeg-0.cvs20050108/doc/Makefile
@@ -1,3 +1,7 @@
+-include ../config.mak
+
+VPATH=$(SRC_PATH)/doc
+
all: ffmpeg-doc.html faq.html ffserver-doc.html ffplay-doc.html hooks.html \
ffmpeg.1 ffserver.1 ffplay.1
--- ffmpeg-0.cvs20050108.orig/configure
+++ ffmpeg-0.cvs20050108/configure
@@ -1453,9 +1453,9 @@
# build tree in object directory if source path is different from current one
if test "$source_path_used" = "yes" ; then
- DIRS="libavformat libavcodec libavcodec/alpha libavcodec/armv4l
libavcodec/i386 \
+ DIRS="libavformat libavcodec libavcodec/alpha libavcodec/armv4l
libavcodec/i386 doc \
libavcodec/ppc libavcodec/liba52 libavcodec/mlib
libavcodec/libpostproc tests vhook"
- FILES="Makefile libavformat/Makefile libavcodec/Makefile
libavcodec/libpostproc/Makefile tests/Makefile vhook/Makefile"
+ FILES="Makefile libavformat/Makefile libavcodec/Makefile
libavcodec/libpostproc/Makefile tests/Makefile vhook/Makefile doc/Makefile
doc/texi2pod.pl"
for dir in $DIRS ; do
mkdir -p $dir
done
@@ -1463,7 +1463,7 @@
ln -sf "$source_path/$f" $f
done
fi
-echo "SRC_PATH='$source_path'" >> config.mak
+echo "SRC_PATH=$source_path" >> config.mak
if test "$amr_wb" = "yes" ; then
echo "#define AMR_WB 1" >> $TMPH
--- ffmpeg-0.cvs20050108.orig/libavcodec/Makefile
+++ ffmpeg-0.cvs20050108/libavcodec/Makefile
@@ -216,7 +216,7 @@
$(SLIB): $(OBJS)
ifeq ($(CONFIG_PP),yes)
- $(MAKE) -C $(VPATH)/libpostproc
+ $(MAKE) -C libpostproc
endif
ifeq ($(CONFIG_WIN32),yes)
$(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS)
$(EXTRALIBS) $(AMREXTRALIBS)
@@ -299,7 +299,7 @@
ldconfig || true
endif
ifeq ($(CONFIG_PP),yes)
- $(MAKE) -C $(VPATH)/libpostproc $@
+ $(MAKE) -C libpostproc $@
endif
else
install:
--- ffmpeg-0.cvs20050108.orig/Makefile
+++ ffmpeg-0.cvs20050108/Makefile
@@ -14,18 +14,18 @@
LDFLAGS+=-p
endif
-MANPAGE=$(SRC_PATH)/doc/ffmpeg.1
+MANPAGE=doc/ffmpeg.1
PROG=ffmpeg$(EXESUF)
PROGTEST=output_example$(EXESUF)
QTFASTSTART=qt-faststart$(EXESUF)
ifeq ($(CONFIG_FFSERVER),yes)
-MANPAGE+=$(SRC_PATH)/doc/ffserver.1
+MANPAGE+=doc/ffserver.1
PROG+=ffserver$(EXESUF)
endif
ifeq ($(CONFIG_FFPLAY),yes)
-MANPAGE+=$(SRC_PATH)/doc/ffplay.1
+MANPAGE+=doc/ffplay.1
PROG+=ffplay$(EXESUF)
FFPLAY_O=ffplay.o
endif
@@ -146,7 +146,7 @@
# install man from source dir if available
install-man:
ifneq ($(CONFIG_WIN32),yes)
- if [ -f $(SRC_PATH)/doc/ffmpeg.1 ] ; then \
+ if [ -f doc/ffmpeg.1 ] ; then \
install -d "$(mandir)/man1" ; \
install -m 644 $(MANPAGE) "$(mandir)/man1" ; \
fi
--
/ / (_)__ __ ____ __ Philipp Hahn
/ /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ [EMAIL PROTECTED]
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]