Work around gcc stupidity: With -MM gcc outputs just the basename of files as

target name. This breaks when compiling targets in subdirectories, so prepend
the subdirectory name to the target name.

Originally committed as revision 12398 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Diego Biurrun 2008-03-09 18:29:41 +00:00
parent 38dae9c3a6
commit 88855b51cd

View File

@ -61,8 +61,9 @@ $(SLIBNAME_WITH_MAJOR): $(OBJS)
ALLHEADERS = $(subst $(LIBSRC)/,,$(wildcard $(LIBSRC)/*.h))
checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho))
# gcc stupidly only outputs the basename of targets with -MM
depend dep: $(SRCS)
$(CC) -MM $(CFLAGS) $^ 1>.depend
$(CC) -MM $(CFLAGS) $^ | sed 's,[0-9a-z._-]*: \([a-z0-9]*/\).*,\1&,' 1>.depend
clean::
rm -f *.o *~ *.a *.lib *.so *.so.* *.dylib *.dll \