2001-02-24 20:28:24 +00:00
|
|
|
# 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
|
2001-04-17 22:04:44 +00:00
|
|
|
# * DVD support
|
2001-02-24 20:28:24 +00:00
|
|
|
|
|
|
|
include config.mak
|
|
|
|
|
|
|
|
PRG = mplayer
|
2001-03-16 18:12:43 +00:00
|
|
|
PRG_HQ = mplayerHQ
|
2001-02-24 20:28:24 +00:00
|
|
|
PRG_AVIP = aviparse
|
2001-06-18 23:56:19 +00:00
|
|
|
PRG_FIBMAP = fibmap_mplayer
|
2001-02-24 20:28:24 +00:00
|
|
|
PRG_TV = tvision
|
2001-04-06 23:20:46 +00:00
|
|
|
PRG_CFG = codec-cfg
|
2001-10-31 23:30:26 +00:00
|
|
|
PRG_MENCODER = mencoder
|
2001-04-06 23:20:46 +00:00
|
|
|
|
2001-05-30 20:23:20 +00:00
|
|
|
#prefix = /usr/local
|
2001-02-24 20:28:24 +00:00
|
|
|
BINDIR = ${prefix}/bin
|
|
|
|
# BINDIR = /usr/local/bin
|
2001-10-25 13:19:18 +00:00
|
|
|
|
|
|
|
# a BSD compatible 'install' program
|
|
|
|
INSTALL = install
|
|
|
|
|
2001-11-02 23:58:26 +00:00
|
|
|
SRCS_MENCODER = divx4_vbr.c mencoder.c libvo/aclib.c libvo/img_format.c ima4.c xacodec.c cpudetect.c mp_msg.c ac3-iec958.c dec_audio.c dec_video.c codec-cfg.c cfgparser.c
|
2001-10-31 23:30:26 +00:00
|
|
|
OBJS_MENCODER = $(SRCS_MENCODER:.c=.o)
|
|
|
|
|
2001-11-01 01:15:27 +00:00
|
|
|
SRCS_MPLAYER = mplayer.c ima4.c xacodec.c cpudetect.c mp_msg.c ac3-iec958.c find_sub.c dec_audio.c dec_video.c codec-cfg.c subreader.c lirc_mp.c cfgparser.c mixer.c spudec.c
|
2001-10-31 23:30:26 +00:00
|
|
|
OBJS_MPLAYER = $(SRCS_MPLAYER:.c=.o)
|
2001-10-25 13:19:18 +00:00
|
|
|
CFLAGS = $(OPTFLAGS) -Ilibmpdemux -Iloader -Ilibvo $(EXTRA_INC) $(MADLIB_INC) # -Wall
|
2001-10-24 14:02:19 +00:00
|
|
|
A_LIBS = -Lmp3lib -lMP3 -Llibac3 -lac3 $(ALSA_LIB) $(ESD_LIB) $(MADLIB_LIB) $(SGI_AUDIO_LIB)
|
2001-08-24 16:20:04 +00:00
|
|
|
VO_LIBS = -Llibvo -lvo $(MLIB_LIB) $(X_LIBS)
|
2001-10-24 07:34:41 +00:00
|
|
|
OSDEP_LIBS = -Llinux -losdep
|
|
|
|
PP_LIBS = -Lpostproc -lpostproc
|
|
|
|
XA_LIBS = -Lxa -lxa
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-11-01 01:15:27 +00:00
|
|
|
# SRCS = $(SRCS_MENCODER) $(SRCS_MPLAYER)
|
|
|
|
# OBJS = $(OBJS_MENCODER) $(OBJS_MPLAYER)
|
2001-10-31 23:30:26 +00:00
|
|
|
|
2001-10-29 00:48:20 +00:00
|
|
|
PARTS = libmpdemux mp3lib libac3 libmpeg2 opendivx libavcodec libvo libao2 drivers drivers/syncfb linux postproc xa
|
2001-10-25 11:45:35 +00:00
|
|
|
|
2001-09-27 17:40:43 +00:00
|
|
|
ifeq ($(GUI),yes)
|
|
|
|
PARTS += Gui
|
|
|
|
endif
|
2001-07-28 05:36:45 +00:00
|
|
|
|
2001-08-14 18:28:56 +00:00
|
|
|
ifneq ($(W32_LIB),)
|
2001-07-28 05:36:45 +00:00
|
|
|
PARTS += loader loader/DirectShow
|
2001-10-31 23:30:26 +00:00
|
|
|
SRCS_MPLAYER += dll_init.c
|
|
|
|
SRCS_MENCODER += dll_init.c
|
2001-11-01 01:15:27 +00:00
|
|
|
# SRCS += dll_init.c
|
2001-07-12 15:35:52 +00:00
|
|
|
endif
|
2001-08-14 18:28:56 +00:00
|
|
|
LOADER_DEP = $(W32_DEP) $(DS_DEP)
|
|
|
|
LIB_LOADER = $(W32_LIB) $(DS_LIB)
|
2001-07-12 15:35:52 +00:00
|
|
|
|
2001-10-05 13:39:43 +00:00
|
|
|
ALL_PRG = $(PRG)
|
|
|
|
ifeq ($(CSS_USE),yes)
|
|
|
|
ALL_PRG += $(PRG_FIBMAP)
|
|
|
|
endif
|
2001-07-12 15:35:52 +00:00
|
|
|
|
2001-10-25 11:45:35 +00:00
|
|
|
.SUFFIXES: .cc .c .o
|
2001-02-24 20:28:24 +00:00
|
|
|
|
|
|
|
# .PHONY: all clean
|
|
|
|
|
2001-10-05 13:39:43 +00:00
|
|
|
all: $(ALL_PRG)
|
|
|
|
|
2001-02-24 20:28:24 +00:00
|
|
|
# $(PRG_AVIP)
|
|
|
|
|
|
|
|
.c.o:
|
2001-04-24 22:51:55 +00:00
|
|
|
$(CC) -c $(CFLAGS) -o $@ $<
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-10-29 00:48:20 +00:00
|
|
|
COMMONLIBS = libmpdemux/libmpdemux.a libvo/libvo.a libao2/libao2.a libac3/libac3.a mp3lib/libMP3.a libmpeg2/libmpeg2.a opendivx/libdecore.a linux/libosdep.a postproc/libpostproc.a xa/libxa.a
|
2001-02-24 20:28:24 +00:00
|
|
|
|
|
|
|
loader/libloader.a:
|
|
|
|
$(MAKE) -C loader
|
|
|
|
|
2001-10-20 18:49:08 +00:00
|
|
|
libmpdemux/libmpdemux.a:
|
|
|
|
$(MAKE) -C libmpdemux
|
|
|
|
|
2001-03-30 03:06:46 +00:00
|
|
|
loader/DirectShow/libDS_Filter.a:
|
|
|
|
$(MAKE) -C loader/DirectShow
|
|
|
|
|
2001-07-06 03:22:14 +00:00
|
|
|
libavcodec/libavcodec.a:
|
|
|
|
$(MAKE) -C libavcodec
|
|
|
|
|
2001-02-24 20:28:24 +00:00
|
|
|
libmpeg2/libmpeg2.a:
|
|
|
|
$(MAKE) -C libmpeg2
|
|
|
|
|
|
|
|
libvo/libvo.a:
|
|
|
|
$(MAKE) -C libvo
|
|
|
|
|
2001-06-04 21:00:47 +00:00
|
|
|
libao2/libao2.a:
|
2001-06-02 23:30:26 +00:00
|
|
|
$(MAKE) -C libao2
|
|
|
|
|
2001-02-24 20:28:24 +00:00
|
|
|
libac3/libac3.a:
|
|
|
|
$(MAKE) -C libac3
|
|
|
|
|
|
|
|
mp3lib/libMP3.a:
|
|
|
|
$(MAKE) -C mp3lib
|
|
|
|
|
|
|
|
opendivx/libdecore.a:
|
|
|
|
$(MAKE) -C opendivx
|
|
|
|
|
2001-10-29 00:48:20 +00:00
|
|
|
# encore/libencore.a:
|
|
|
|
# $(MAKE) -C encore
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-09-27 17:40:43 +00:00
|
|
|
Gui/libgui.a:
|
|
|
|
$(MAKE) -C Gui
|
2001-05-08 12:17:03 +00:00
|
|
|
|
2001-10-24 07:34:41 +00:00
|
|
|
linux/libosdep.a:
|
|
|
|
$(MAKE) -C linux
|
|
|
|
|
|
|
|
postproc/libpostproc.a:
|
|
|
|
$(MAKE) -C postproc
|
|
|
|
|
|
|
|
xa/libxa.a:
|
|
|
|
$(MAKE) -C xa
|
|
|
|
|
2001-11-01 01:15:27 +00:00
|
|
|
MPLAYER_DEP = $(OBJS_MPLAYER) $(LOADER_DEP) $(AV_DEP) $(COMMONLIBS)
|
|
|
|
MENCODER_DEP = $(OBJS_MENCODER) $(LOADER_DEP) $(AV_DEP) $(COMMONLIBS)
|
2001-10-31 23:30:26 +00:00
|
|
|
|
|
|
|
ifeq ($(GUI),yes)
|
2001-11-01 01:15:27 +00:00
|
|
|
MPLAYER_DEP += Gui/libgui.a
|
2001-10-31 23:30:26 +00:00
|
|
|
MENCODER_DEP += Gui/libgui.a
|
|
|
|
endif
|
|
|
|
|
2001-07-13 16:15:29 +00:00
|
|
|
$(PRG): $(MPLAYER_DEP)
|
2001-11-01 16:10:07 +00:00
|
|
|
$(CC) -rdynamic $(CFLAGS) -o $(PRG) $(OBJS_MPLAYER) -Llibmpdemux -lmpdemux $(XMM_LIBS) $(LIRC_LIBS) $(LIB_LOADER) $(AV_LIB) -Llibmpeg2 -lmpeg2 -Llibao2 -lao2 $(A_LIBS) $(VO_LIBS) $(CSS_LIB) $(GUI_LIBS) $(ARCH_LIBS) $(OSDEP_LIBS) $(PP_LIBS) $(XA_LIBS) $(DECORE_LIBS) $(TERMCAP_LIB) -lm
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-06-18 23:56:19 +00:00
|
|
|
$(PRG_FIBMAP): fibmap_mplayer.o
|
|
|
|
$(CC) -o $(PRG_FIBMAP) fibmap_mplayer.o
|
|
|
|
|
2001-10-31 23:30:26 +00:00
|
|
|
$(PRG_MENCODER): $(MENCODER_DEP)
|
2001-11-05 21:33:59 +00:00
|
|
|
$(CC) -rdynamic $(CFLAGS) -o $(PRG_MENCODER) $(OBJS_MENCODER) -Llibmpeg2 -lmpeg2 -Llibmpdemux -lmpdemux $(X_LIBS) $(XMM_LIBS) $(LIB_LOADER) $(AV_LIB) -lmp3lame $(A_LIBS) $(CSS_LIB) $(GUI_LIBS) $(ARCH_LIBS) $(OSDEP_LIBS) $(PP_LIBS) $(XA_LIBS) $(DECORE_LIBS) $(TERMCAP_LIB) -lm
|
2001-10-31 23:30:26 +00:00
|
|
|
|
2001-06-04 19:33:28 +00:00
|
|
|
# $(PRG_HQ): depfile mplayerHQ.o $(OBJS) loader/libloader.a libmpeg2/libmpeg2.a opendivx/libdecore.a $(COMMONLIBS) encore/libencore.a
|
2001-04-24 22:51:55 +00:00
|
|
|
# $(CC) $(CFLAGS) -o $(PRG_HQ) mplayerHQ.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) -Lloader -lloader -ldl -Llibmpeg2 -lmpeg2 -Lopendivx -ldecore $(VO_LIBS) -Lencore -lencore -lpthread
|
2001-03-16 18:12:43 +00:00
|
|
|
|
2001-06-04 19:33:28 +00:00
|
|
|
# $(PRG_AVIP): depfile aviparse.o $(OBJS) loader/libloader.a $(COMMONLIBS)
|
2001-04-24 22:51:55 +00:00
|
|
|
# $(CC) $(CFLAGS) -o $(PRG_AVIP) aviparse.o $(OBJS) $(A_LIBS) -lm $(TERMCAP_LIB) -Lloader -lloader -ldl $(VO_LIBS) -lpthread
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-10-31 23:30:26 +00:00
|
|
|
#$(PRG_TV): depfile tvision.o $(OBJS) $(COMMONLIBS)
|
|
|
|
# $(CC) $(CFLAGS) -o $(PRG_TV) tvision.o $(OBJS) -lm $(TERMCAP_LIB) $(VO_LIBS)
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-07-13 16:15:29 +00:00
|
|
|
# Every mplayer dependancy depends on version.h, to force building version.h
|
|
|
|
# first (in serial mode) before any other of the dependancies 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 be can start builing new object files.
|
|
|
|
$(MPLAYER_DEP): version.h
|
2001-11-01 01:15:27 +00:00
|
|
|
$(MENCODER_DEP): version.h
|
2001-07-13 16:15:29 +00:00
|
|
|
|
2001-07-28 05:36:45 +00:00
|
|
|
$(PRG_CFG): version.h codec-cfg.c codec-cfg.h
|
2001-04-24 02:20:02 +00:00
|
|
|
$(CC) $(CFLAGS) -g codec-cfg.c -o $(PRG_CFG) -DCODECS2HTML
|
2001-04-06 23:20:46 +00:00
|
|
|
|
2001-10-05 13:39:43 +00:00
|
|
|
install: $(ALL_PRG)
|
2001-10-11 23:35:52 +00:00
|
|
|
if test ! -d $(BINDIR) ; then mkdir -p $(BINDIR) ; fi
|
2001-10-25 13:19:18 +00:00
|
|
|
$(INSTALL) -m 755 -s $(PRG) $(BINDIR)/$(PRG)
|
2001-11-06 23:14:35 +00:00
|
|
|
if test -x $(PRG_MENCODER) ; then $(INSTALL) -m 755 -s $(PRG_MENCODER) $(BINDIR)/$(PRG_MENCODER) ; fi
|
2001-10-05 13:39:43 +00:00
|
|
|
ifeq ($(GUI),yes)
|
2001-10-17 21:17:14 +00:00
|
|
|
-ln -sf $(BINDIR)/$(PRG) $(BINDIR)/gmplayer
|
2001-10-05 13:39:43 +00:00
|
|
|
endif
|
2001-10-11 23:35:52 +00:00
|
|
|
if test ! -d $(prefix)/man/man1 ; then mkdir -p $(prefix)/man/man1; fi
|
2001-10-25 13:19:18 +00:00
|
|
|
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(prefix)/man/man1/mplayer.1
|
2001-11-06 23:14:35 +00:00
|
|
|
if test -x $(PRG_MENCODER) ; then $(INSTALL) -c -m 644 DOCS/mencoder.1 $(prefix)/man/man1/mencoder.1 ; fi
|
2001-10-05 13:39:43 +00:00
|
|
|
ifeq ($(CSS_USE),yes)
|
2001-06-18 23:56:19 +00:00
|
|
|
@echo "Following task requires root privs. If it fails don't panic"
|
|
|
|
@echo "however it means you can't use fibmap_mplayer."
|
|
|
|
@echo "Without this (or without running mplayer as root) you won't be"
|
2001-07-14 16:54:30 +00:00
|
|
|
@echo "able to play encrypted DVDs."
|
2001-10-25 13:19:18 +00:00
|
|
|
-$(INSTALL) -o 0 -g 0 -m 4755 -s $(PRG_FIBMAP) $(BINDIR)/$(PRG_FIBMAP)
|
2001-10-05 13:39:43 +00:00
|
|
|
endif
|
2001-02-24 20:28:24 +00:00
|
|
|
|
2001-10-22 22:46:38 +00:00
|
|
|
uninstall:
|
|
|
|
rm -f $(BINDIR)/$(PRG)
|
|
|
|
rm -f $(BINDIR)/gmplayer
|
|
|
|
rm -f $(prefix)/man/man1/mplayer.1
|
|
|
|
rm -f $(BINDIR)/$(PRG_FIBMAP)
|
|
|
|
@echo "Uninstall completed"
|
|
|
|
|
2001-02-24 20:28:24 +00:00
|
|
|
clean:
|
|
|
|
rm -f *.o *~ $(OBJS)
|
|
|
|
|
|
|
|
distclean:
|
2001-10-31 23:30:26 +00:00
|
|
|
rm -f *~ $(PRG) $(PRG_FIBMAP) $(PRG_HQ) $(PRG_AVIP) $(PRG_TV) $(OBJS) $(PRG_MENCODER) *.o *.a .depend
|
2001-07-28 05:36:45 +00:00
|
|
|
@for a in $(PARTS); do $(MAKE) -C $$a distclean; done
|
2001-02-24 20:28:24 +00:00
|
|
|
|
|
|
|
dep: depend
|
|
|
|
|
2001-06-04 19:33:28 +00:00
|
|
|
depend:
|
2001-06-07 22:22:05 +00:00
|
|
|
./version.sh
|
2001-11-01 01:15:27 +00:00
|
|
|
$(CC) -MM $(CFLAGS) mplayer.c mencoder.c $(SRCS_MPLAYER) $(SRCS_MENCODER) 1>.depend
|
2001-07-28 05:36:45 +00:00
|
|
|
@for a in $(PARTS); do $(MAKE) -C $$a dep; done
|
2001-03-02 22:18:34 +00:00
|
|
|
|
2001-04-26 20:35:23 +00:00
|
|
|
# ./configure must be run if it changed in CVS
|
|
|
|
config.h: configure
|
|
|
|
@echo "############################################################"
|
|
|
|
@echo "####### Please run ./configure again - it's changed! #######"
|
|
|
|
@echo "############################################################"
|
|
|
|
@exit 1
|
|
|
|
|
2001-04-15 20:31:58 +00:00
|
|
|
# rebuild at every config.h/config.mak change:
|
|
|
|
version.h: config.h config.mak Makefile
|
|
|
|
./version.sh
|
2001-06-04 19:33:28 +00:00
|
|
|
$(MAKE) distclean
|
|
|
|
$(MAKE) depend
|
2001-04-15 20:31:58 +00:00
|
|
|
|
|
|
|
# rebuild at every CVS update:
|
|
|
|
ifneq ($(wildcard CVS/Entries),)
|
|
|
|
version.h: CVS/Entries
|
|
|
|
endif
|
|
|
|
|
2001-03-02 22:18:34 +00:00
|
|
|
#
|
|
|
|
# include dependency files if they exist
|
|
|
|
#
|
|
|
|
ifneq ($(wildcard .depend),)
|
|
|
|
include .depend
|
|
|
|
endif
|