📄 makefile
字号:
# LINUX Makefile made by A'rpi / Astral# Some cleanup by LGB: * 'make -C dir' instead of 'cd dir;make;cd..'# * for loops instead of linear sequence of make directories# * some minor problems with make clean and distclean were corrected# * DVD supportinclude config.makPRG_CFG = codec-cfg# Do not strip the binaries at installationifeq ($(STRIPBINARIES),yes)INSTALLSTRIP = -sendif# These subdirectories require installation due to binaries within them.ifeq ($(VIDIX),yes)SUBDIRS += libdha vidixDO_MAKE = @ for i in $(SUBDIRS); do $(MAKE) -C $$i $@; doneendifSRCS_COMMON = cpudetect.c codec-cfg.c playtree.c playtreeparser.c asxparser.c m_config.c m_option.c parser-cfg.c m_struct.cSRCS_MPLAYER = mplayer.c mp_msg.c $(SRCS_COMMON) mixer.c parser-mpcmd.c ifeq ($(UNRARLIB),yes)SRCS_COMMON += unrarlib.cendifOBJS_MPLAYER = $(SRCS_MPLAYER:.c=.o)AO_LIBS = $(ARTS_LIB) $(ESD_LIB) $(JACK_LIB) $(NAS_LIB) $(SGIAUDIO_LIB) $(POLYP_LIB)CODEC_LIBS = $(AV_LIB) $(FAME_LIB) $(MAD_LIB) $(VORBIS_LIB) $(THEORA_LIB) $(FAAD_LIB) $(LIBLZO_LIB) $(DECORE_LIB) $(XVID_LIB) $(DTS_LIB) $(PNG_LIB) $(Z_LIB) $(JPEG_LIB) $(ALSA_LIB) $(XMMS_LIB) $(X264_LIB)COMMON_LIBS = libmpcodecs/libmpcodecs.a $(W32_LIB) $(DS_LIB) libaf/libaf.a libmpdemux/libmpdemux.a input/libinput.a osdep/libosdep.a $(CODEC_LIBS) $(TERMCAP_LIB) $(MPLAYER_NETWORK_LIB) $(WIN32_LIB) $(ENCA_LIB)CFLAGS = $(OPTFLAGS) -I. $(EXTRA_INC) $(CDPARANOIA_INC) $(SDL_INC) $(FRIBIDI_INC) $(CACA_INC) # -Wallifeq ($(TOOLAME),yes)CFLAGS += $(TOOLAME_EXTRAFLAGS) CODEC_LIBS += $(TOOLAME_LIB)endif#PARTS = libmpdemux libmpcodecs libavcodec libavformat libao2 drivers osdep postproc input libvo libafPARTS = libmpdemux libmpcodecs libao2 osdep input libafifeq ($(MP3LIB),yes)PARTS += mp3libendififeq ($(LIBA52),yes)PARTS += liba52endififeq ($(LIBMPEG2),yes)PARTS += libmpeg2endififeq ($(INTERNAL_FAAD),yes)COMMON_LIBS += libfaad2/libfaad2.a PARTS += libfaad2endififeq ($(VIDIX),yes)PARTS += libdha vidixendififeq ($(FAME),yes)PARTS += libfameendififeq ($(DVDKIT2),yes)PARTS += libmpdvdkit2elseifeq ($(DVDKIT),yes)PARTS += libmpdvdkitendifendififeq ($(GUI),yes)PARTS += Guiendififneq ($(W32_LIB),)PARTS += loader loader/dshow loader/dmoendififeq ($(LIBMENU),yes)PARTS += libmenuendifALL_PRG = $(PRG)COMMON_DEPS = $(W32_DEP) $(DS_DEP) $(MP1E_DEP) $(AV_DEP) libmpdemux/libmpdemux.a libmpcodecs/libmpcodecs.a libao2/libao2.a osdep/libosdep.a input/libinput.a libaf/libaf.aifeq ($(MP3LIB),yes)COMMON_DEPS += mp3lib/libMP3.aCOMMON_LIBS += mp3lib/libMP3.aendififeq ($(LIBA52),yes)COMMON_DEPS += liba52/liba52.aCOMMON_LIBS += liba52/liba52.aendififeq ($(LIBMPEG2),yes)COMMON_DEPS += libmpeg2/libmpeg2.aCOMMON_LIBS += libmpeg2/libmpeg2.aendififeq ($(INTERNAL_FAAD),yes)COMMON_DEPS += libfaad2/libfaad2.aendififeq ($(TREMOR),yes)COMMON_DEPS += tremor/libvorbisidec.aCOMMON_LIBS += tremor/libvorbisidec.aendififeq ($(VIDIX),yes)COMMON_DEPS += libdha/libdha.so vidix/libvidix.aendififeq ($(FAME),yes)COMMON_DEPS += libfame/libfame.aendififeq ($(DVDKIT2),yes)ifeq ($(DVDKIT_SHARED),yes)COMMON_DEPS += libmpdvdkit2/libmpdvdkit.soelseCOMMON_DEPS += libmpdvdkit2/libmpdvdkit.aendifendififeq ($(SHARED_PP),yes)COMMON_DEPS += libavcodec/libpostproc/libpostproc.soCOMMON_LIBS += libavcodec/libpostproc/libpostproc.soendififeq ($(GUI),yes)COMMON_DEPS += Gui/libgui.aGUI_LIBS = Gui/libgui.aendif.SUFFIXES: .cc .c .o#.PHONY: $(COMMON_DEPS)all: version.h $(ALL_PRG).c.o: $(CC) -c $(CFLAGS) -o $@ $<libaf/libaf.a: $(MAKE) -C libaflibmpdvdkit2/libmpdvdkit.a: $(MAKE) -C libmpdvdkit2libmpdvdkit2/libmpdvdkit.so: $(MAKE) -C libmpdvdkit2 libmpdvdkit.soloader/libloader.a: $(MAKE) -C loaderlibfame/libfame.a: $(MAKE) -C libfamelibmpdemux/libmpdemux.a: $(MAKE) -C libmpdemuxlibmpcodecs/libmpcodecs.a: $(MAKE) -C libmpcodecsloader/dshow/libDS_Filter.a: $(MAKE) -C loader/dshowloader/dmo/libDMO_Filter.a: $(MAKE) -C loader/dmolibavcodec/libavcodec.a: $(MAKE) -C libavcodec LIBPREF=lib LIBSUF=.alibavformat/libavformat.a: $(MAKE) -C libavformat LIBPREF=lib LIBSUF=.alibmpeg2/libmpeg2.a: $(MAKE) -C libmpeg2libao2/libao2.a: $(MAKE) -C libao2liba52/liba52.a: $(MAKE) -C liba52libfaad2/libfaad2.a: $(MAKE) -C libfaad2mp3lib/libMP3.a: $(MAKE) -C mp3libtremor/libvorbisidec.a: $(MAKE) -C tremorlibdha/libdha.so: $(MAKE) -C libdhavidix/libvidix.a: $(MAKE) -C vidixGui/libgui.a: $(MAKE) -C Guiosdep/libosdep.a: $(MAKE) -C osdep#postproc/libswscale.a:# $(MAKE) -C postprocinput/libinput.a: $(MAKE) -C inputlibavcodec/libpostproc/libpostproc.so: $(MAKE) -C libavcodec/libpostprocMPLAYER_DEP = $(OBJS_MPLAYER) $(COMMON_DEPS)ifeq ($(LIBMENU),yes)MPLAYER_DEP += libmenu/libmenu.aMENU_LIBS = libmenu/libmenu.aPARTS += libmenuelseMENU_LIBS =endififeq ($(VIDIX),yes)VIDIX_LIBS = vidix/libvidix.aelseVIDIX_LIBS =endififeq ($(TARGET_WIN32),yes)OBJS_MPLAYER += osdep/mplayer-rc.oendif$(PRG): $(MPLAYER_DEP) ifeq ($(TARGET_WIN32),yes) windres -o osdep/mplayer-rc.o osdep/mplayer.rc endif $(CC) $(CFLAGS) -o $(PRG) $(OBJS_MPLAYER) libao2/libao2.a $(MENU_LIBS) $(VIDIX_LIBS) $(GUI_LIBS) $(COMMON_LIBS) $(GTK_LIBS) $(VO_LIBS) $(AO_LIBS) $(EXTRA_LIB) $(LIRC_LIB) $(LIRCC_LIB) $(STATIC_LIB) $(ARCH_LIB) $(I18NLIBS) $(MATH_LIB)mplayer.exe.spec.c: libmpcodecs/libmpcodecs.a winebuild -fPIC -o mplayer.exe.spec.c -exe mplayer.exe -mcui \ libmpcodecs/ad_qtaudio.o \ -L/usr/local/lib/wine -lkernel32mplayer.exe.so: $(MPLAYER_DEP) mplayer.exe.spec.c $(CC) $(CFLAGS) -Wall -shared -Wl,-rpath,/usr/local/lib -Wl,-Bsymbolic -o mplayer.exe.so $(OBJS_MPLAYER) mplayer.exe.spec.c libao2/libao2.a $(MENU_LIBS) $(VIDIX_LIBS) $(GUI_LIBS) $(COMMON_LIBS) $(GTK_LIBS) $(VO_LIBS) $(AO_LIBS) $(EXTRA_LIB) $(LIRC_LIB) $(LIRCC_LIB) $(STATIC_LIB) $(ARCH_LIB) -lwine $(MATH_LIB) mplayer_wine.so: $(MPLAYER_DEP) $(CC) $(CFLAGS) -shared -Wl,-Bsymbolic -o mplayer_wine.so mplayer_wine.spec.c $(OBJS_MPLAYER) libao2/libao2.a $(MENU_LIBS) $(VIDIX_LIBS) $(GUI_LIBS) $(COMMON_LIBS) $(GTK_LIBS) $(VO_LIBS) $(AO_LIBS) $(EXTRA_LIB) $(LIRC_LIB) $(LIRCC_LIB) $(STATIC_LIB) -lwine $(ARCH_LIB) $(MATH_LIB)codecs.conf.h: $(PRG_CFG) etc/codecs.conf ./$(PRG_CFG) ./etc/codecs.conf > $@codec-cfg.o: codecs.conf.h# Every mplayer dependency depends on version.h, to force building version.h# first (in serial mode) before any other of the dependencies for a parallel make# run. This is necessary, because the make rule for version.h removes objects# in a recursive "make distclean" and we must wait for this "make distclean" to# finish before we can start building new object files.# help_mp.h is also required by a lot of files, so force generating it early.$(MPLAYER_DEP): version.h help_mp.h$(PRG_CFG): version.h codec-cfg.c codec-cfg.h $(HOST_CC) $(HOST_CFLAGS) -I. -g codec-cfg.c mp_msg.c -o $(PRG_CFG) -DCODECS2HTML $(EXTRA_LIB) $(EXTRA_INC) $(I18NLIBS)install: $(ALL_PRG)ifeq ($(VIDIX),yes) $(DO_MAKE)endififeq ($(SHARED_PP),yes) $(MAKE) install -C libavcodec/libpostprocendif if test ! -d $(BINDIR) ; then mkdir -p $(BINDIR) ; fi $(INSTALL) -m 755 $(INSTALLSTRIP) $(PRG) $(BINDIR)/$(PRG)ifeq ($(GUI),yes) -ln -sf $(PRG) $(BINDIR)/gmplayerendif if test ! -d $(MANDIR)/man1 ; then mkdir -p $(MANDIR)/man1; fi for i in $(MAN_LANG); do \ if test "$$i" = en ; then \ $(INSTALL) -c -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/mplayer.1 ; \ else \ mkdir -p $(MANDIR)/$$i/man1 ; \ $(INSTALL) -c -m 644 DOCS/man/$$i/mplayer.1 $(MANDIR)/$$i/man1/mplayer.1 ; \ fi ; \ done @if test ! -d $(DATADIR) ; then mkdir -p $(DATADIR) ; fi @if test ! -d $(DATADIR)/font ; then mkdir -p $(DATADIR)/font ; fi @if test ! -f $(DATADIR)/font/font.desc ; then \ echo "*** Download font at http://www.mplayerhq.hu/homepage/dload.html" ; \ echo "*** for OSD/Subtitles support and extract to $(DATADIR)/font/" ; \ fiifeq ($(GUI),yes) @if test ! -d $(DATADIR)/Skin ; then mkdir -p $(DATADIR)/Skin ; fi @echo "*** Download skin(s) at http://www.mplayerhq.hu/homepage/dload.html" @echo "*** for GUI, and extract to $(DATADIR)/Skin/" @if test ! -d $(prefix)/share/pixmaps ; then mkdir -p $(prefix)/share/pixmaps ; fi $(INSTALL) -m 644 Gui/mplayer/pixmaps/mplayer-desktop.xpm $(prefix)/share/pixmaps/mplayer-desktop.xpm @if test ! -d $(prefix)/share/applications ; then mkdir -p $(prefix)/share/applications ; fi $(INSTALL) -m 644 etc/mplayer.desktop $(prefix)/share/applications/mplayer.desktopendif @if test ! -d $(CONFDIR) ; then mkdir -p $(CONFDIR) ; fi @if test -f $(CONFDIR)/codecs.conf ; then mv -f $(CONFDIR)/codecs.conf $(CONFDIR)/codecs.conf.old ; fiifeq ($(DVDKIT_SHARED),yes)ifeq ($(DVDKIT2),yes) if test ! -d $(LIBDIR) ; then mkdir -p $(LIBDIR) ; fi $(INSTALL) -m 755 $(INSTALLSTRIP) libmpdvdkit2/libmpdvdkit.so $(LIBDIR)/libmpdvdkit.soelseifeq ($(DVDKIT),yes) if test ! -d $(LIBDIR) ; then mkdir -p $(LIBDIR) ; fi $(INSTALL) -m 755 $(INSTALLSTRIP) libmpdvdkit/libmpdvdkit.so $(LIBDIR)/libmpdvdkit.soendifendifendifuninstall: -rm -f $(BINDIR)/$(PRG) $(BINDIR)/gmplayer $(MANDIR)/man1/mplayer.1 -rm -f $(prefix)/share/pixmaps/mplayer-desktop.xpm -rm -f $(prefix)/share/applications/mplayer.desktop -rm -f $(LIBDIR)/libmpdvdkit.so for l in $(MAN_LANG); do \ if test "i$$l" != "en"; then \ -rm -f $(MANDIR)/$$l/man1/mplayer.1 \ -rm -f $(MANDIR)/$$l/man1/gmplayer.1 \ fi \ doneifeq ($(VIDIX),yes) $(DO_MAKE)endif @echo "Uninstall completed"clean: -rm -f *.o *~ $(OBJS) codecs.conf.hdistclean: doxygen_clean -rm -f *~ $(PRG) $(PRG_CFG) $(OBJS) -rm -f *.o *.a .depend configure.log codecs.conf.h help_mp.h @for a in $(PARTS); do $(MAKE) -C $$a distclean; donestrip: strip -s $(ALL_PRG)dep: dependdepend: help_mp.h ./version.sh `$(CC) -dumpversion` $(CC) -MM $(CFLAGS) -DCODECS2HTML mplayer.c $(SRCS_MPLAYER) 1>.depend @for a in $(PARTS); do $(MAKE) -C $$a dep; done# ./configure must be run if it changed in CVSconfig.h: configure @echo "############################################################" @echo "####### Please run ./configure again - it's changed! #######" @echo "############################################################"ifeq ($(wildcard .developer),) @exit 1endif# do not rebuild after cvs commits if .developer file is present!# rebuild at every config.h/config.mak change:version.h: ./version.sh `$(CC) -dumpversion`ifeq ($(wildcard .developer),) $(MAKE) distcleanendif $(MAKE) dependdoxygen: doxygen DOCS/tech/Doxyfiledoxygen_clean: -rm -rf DOCS/tech/doxygenhelp_mp.h: help/help_mp-en.h $(HELP_FILE) @echo '// WARNING! This is a generated file. Do NOT edit.' > help_mp.h @echo '// See the help/ subdir for the editable files.' >> help_mp.hifeq ($(CHARSET),) @echo '#include "$(HELP_FILE)"' >> help_mp.helse iconv -f `cat $(HELP_FILE).charset` -t $(CHARSET) "$(HELP_FILE)" >> help_mp.hendififneq ($(HELP_FILE),help/help_mp-en.h) @echo "Adding untranslated messages to help_mp.h" @echo '// untranslated messages from the English master file:' >> help_mp.h @help/help_diff.sh $(HELP_FILE) < help/help_mp-en.h >> help_mp.hendif# rebuild at every CVS update or config/makefile change:ifeq ($(wildcard .developer),)ifneq ($(wildcard CVS/Entries),)version.h: CVS/Entriesendifversion.h: config.h config.mak Makefileendif## include dependencies to get make to recurse into lib dirs,# if the user desires such behavior#ifneq ($(wildcard .libdeps),)include .libdepsendif## include dependency files if they exist#ifneq ($(wildcard .depend),)include .dependendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -