[MPlayer-dev-eng] [PATCH] top-level Makefile fix

Sidik Isani lksi at cfht.hawaii.edu
Sun Sep 22 10:05:37 CEST 2002


Hello -

  There's a dependency bug with the Makefile causing libraries not
  to be rebuilt properly.  It could be fixed very concisely with:

.PHONY: $(COMMON_DEPS)

  However I'd recommend a slightly different fix which works on
  more versions of "make".  A patch and explanation (in the
  comment at the end) are attached.

Be seeing you,

- Sidik
-------------- next part --------------
--- MPlayer-last/Makefile	Sat Sep 21 19:14:16 2002
+++ MPlayer-isani/Makefile	Sat Sep 21 19:14:16 2002
@@ -98,62 +98,69 @@
 endif
 endif
 
-libmpdvdkit2/libmpdvdkit.a:
+libmpdvdkit2/libmpdvdkit.a: FORCE
 	$(MAKE) -C libmpdvdkit2
 
-libmpdvdkit2/libmpdvdkit.so:
+libmpdvdkit2/libmpdvdkit.so: FORCE
 	$(MAKE) -C libmpdvdkit2 libmpdvdkit.so
 
-loader/libloader.a:
+loader/libloader.a: FORCE
 	$(MAKE) -C loader
 
-libfame/libfame.a:
+libfame/libfame.a: FORCE
 	$(MAKE) -C libfame
 
-libmpdemux/libmpdemux.a:
+libmpdemux/libmpdemux.a: FORCE
 	$(MAKE) -C libmpdemux
 
-libmpcodecs/libmpcodecs.a:
+libmpcodecs/libmpcodecs.a: FORCE
 	$(MAKE) -C libmpcodecs
 
-loader/dshow/libDS_Filter.a:
+loader/dshow/libDS_Filter.a: FORCE
 	$(MAKE) -C loader/dshow
 
-libavcodec/libavcodec.a:
+libavcodec/libavcodec.a: FORCE
 	$(MAKE) -C libavcodec
 
-libmpeg2/libmpeg2.a:
+libmpeg2/libmpeg2.a: FORCE
 	$(MAKE) -C libmpeg2
 
-libvo/libvo.a:
+libvo/libvo.a: FORCE
 	$(MAKE) -C libvo
 
-libao2/libao2.a:
+libao2/libao2.a: FORCE
 	$(MAKE) -C libao2
 
-liba52/liba52.a:
+liba52/liba52.a: FORCE
 	$(MAKE) -C liba52
 
-mp3lib/libMP3.a:
+mp3lib/libMP3.a: FORCE
 	$(MAKE) -C mp3lib
 
-libdha/libdha.so:
+libdha/libdha.so: FORCE
 	$(MAKE) -C libdha
 
-vidix/libvidix.a:
+vidix/libvidix.a: FORCE
 	$(MAKE) -C vidix
 
-Gui/libgui.a:
+Gui/libgui.a: FORCE
 	$(MAKE) -C Gui
 
-linux/libosdep.a:
+linux/libosdep.a: FORCE
 	$(MAKE) -C linux
 
-postproc/libpostproc.a:
+postproc/libpostproc.a: FORCE
 	$(MAKE) -C postproc
 
-input/libinput.a:
+input/libinput.a: FORCE
 	$(MAKE) -C input
+
+# FORCE is a bogus target that causes make to execute the $(MAKE) -C's
+# for the libraries above no matter what.  Normally it wouldn't, since
+# many of them depend on version.h (only, from this Makefile's point
+# of view) and version.h could be older, causing the libraries to be
+# skipped incorrectly.
+FORCE:
 
 MPLAYER_DEP = $(OBJS_MPLAYER) $(LOADER_DEP) $(MP1E_DEP) $(AV_DEP) $(COMMON_DEPS)
 MENCODER_DEP = $(OBJS_MENCODER) $(LOADER_DEP) $(MP1E_DEP) $(AV_DEP) $(COMMON_DEPS)


More information about the MPlayer-dev-eng mailing list