# mplayer.dll Makefile # include config.mak DLL_NAME = mplayer.dll DEF_FILE = mplayer.def LIB_NAME = mplayer_.lib LIB_PATH = xbmcsys/lib OBJECTS= mplayer.o \ mp_msg.o \ cpudetect.o \ codec-cfg.o \ spudec.o \ playtree.o \ playtreeparser.o \ asxparser.o \ vobsub.o \ subreader.o \ sub_cc.o \ find_sub.o \ m_config.o \ m_option.o \ parser-cfg.o \ m_struct.o \ unrarlib.o \ mixer.o \ parser-mpcmd.o \ edl.o \ libvo/libvo.a \ libao2/libao2.a \ libmpcodecs/libmpcodecs.a \ mp3lib/libMP3.a \ liba52/liba52.a \ libmpeg2/libmpeg2.a \ libaf/libaf.a \ libmpdemux/libmpdemux.a \ input/libinput.a \ libswscale/libswscale.a \ osdep/libosdep.a \ libavcodec/libavcodec.a \ libfaad2/libfaad2.a \ libmpdvdkit2/libmpdvdkit.a \ loader/libloader.a \ loader/dshow/libDS_Filter.a \ loader/dmo/libDMO_Filter.a \ ifeq ($(CONFIG_LIBAVFORMAT),yes) NAMES += LIBAVFORMAT OBJECTS += libavformat/libavformat.a endif ifeq ($(CONFIG_LIBAVUTIL),yes) NAMES += LIBAVUTIL OBJECTS += libavutil/libavutil.a endif ifeq ($(CONFIG_LIBPOSTPROC),yes) NAMES += LIBPOSTPROC OBJECTS += libpostproc/libpostproc.a endif LIBS += xbmcsys/xbmc_vobsub/xbmc_vobsub.lib xbmcsys/xbmc_vobsub/xbmc.o # check configured libraries, and make sure we link them with the ones in xbmcsys/lib ifneq ($(Z_LIB),) NAMES += ZLIB LIBS += $(LIB_PATH)/libz.a endif ifeq ($(CONFIG_DTS),yes) NAMES += DTS LIBS += $(LIB_PATH)/libdts.a endif ifneq ($(MAD_LIB),) NAMES += MAD LIBS += $(LIB_PATH)/libmad.a endif ifeq ($(XVID),yes) NAMES += XVID LIBS += $(LIB_PATH)/xvidcore.a endif ifneq ($(VORBIS_LIB),) NAMES += VORBIS LIBS += $(LIB_PATH)/libogg.a LIBS += $(LIB_PATH)/libvorbis.a endif ifneq ($(FRIBIDI_LIB),) NAMES += FRIBIDI LIBS += $(LIB_PATH)/libfribidi.a endif ifneq ($(FREETYPE_LIB),) NAMES += FREETYPE LIBS += $(LIB_PATH)/libfreetype.a endif ifneq ($(LIVE_LIBS),) NAMES += LIVE LIBS += live/liveMedia/libliveMedia.a LIBS += live/groupsock/libgroupsock.a LIBS += live/UsageEnvironment/libUsageEnvironment.a LIBS += live/BasicUsageEnvironment/libBasicUsageEnvironment.a LIBS += -lstdc++ endif ifneq ($(MUSEPACK_LIB),) NAMES += MUSEPACK LIBS += $(LIB_PATH)/libmusepack.a endif ifeq ($(PNG),yes) NAMES += PNG LIBS += $(LIB_PATH)/libpng.a endif ifneq ($(ENCA_LIB),) NAMES += ENCA LIBS += $(LIB_PATH)/libenca.a endif ifeq ($(HAVE_ICONV),yes) NAMES += ICONVX LIBS += $(LIB_PATH)/iconv.lib endif # targets all: mplayer.dll dll: all $(OBJECTS): make # Deletes any current files flush: rm -f $(DLL_NAME) $(LIB_NAME) rm -f $(OBJECTS) distclean: rm -f $(DLL_NAME) $(LIB_NAME) make distclean mplayer.dll: $(OBJECTS) $(LIBS) @echo "*** compiling $(DLL_NAME)" @$(CC) -shared -o $(DLL_NAME) $(OBJECTS) -Lxbmcsys/lib -lws2_32 $(LIBS) $(DEF_FILE) -Wl,--out-implib,$(LIB_NAME) @echo "*** stripping $(DLL_NAME)" @strip $(DLL_NAME) @echo "*** $(DLL_NAME) linked with: $(NAMES)" @ls -lah $(DLL_NAME) | awk '{print "*** Size of $(DLL_NAME) = " $$(NF-4)}'