X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile;h=69a996cfe2ca84a19639a13bbf29d63afd04ee00;hb=4c39a401ea3c06ce31484c7a9e9db3fdef1e878b;hp=9a6adbcc79896b901d0899c535041860d3802193;hpb=c4b4857b7e01ac9294b5897377a89e276a6b8f1f;p=vlc diff --git a/Makefile b/Makefile index 9a6adbcc79..69a996cfe2 100644 --- a/Makefile +++ b/Makefile @@ -13,38 +13,112 @@ endif # # All possible plugin directories, needed for make clean # -PLUGINS_DIR := alsa beos darwin directx dsp dummy dvd esd fb ggi glide gtk downmix idct imdct kde macosx mga motion mpeg qt sdl text x11 yuv - -# -# All possible plugin objects -# -PLUGINS_TARGETS := alsa/alsa beos/beos darwin/darwin directx/directx dsp/dsp dummy/dummy dummy/null dvd/dvd esd/esd fb/fb ggi/ggi glide/glide gtk/gnome gtk/gtk downmix/downmix downmix/downmixsse downmix/downmix3dn idct/idct idct/idctclassic idct/idctmmx idct/idctmmxext imdct/imdct imdct/imdct3dn imdct/imdctsse kde/kde macosx/macosx mga/mga motion/motion motion/motionmmx motion/motionmmxext mpeg/es mpeg/ps mpeg/ts qt/qt sdl/sdl text/ncurses text/rc x11/x11 x11/xvideo yuv/yuv yuv/yuvmmx - +PLUGINS_DIR := ac3_adec \ + ac3_spdif \ + alsa \ + arts \ + beos \ + directx \ + dsp \ + dummy \ + dvd \ + dvdread \ + esd \ + fb \ + ggi \ + glide \ + gtk \ + downmix \ + idct \ + imdct \ + kde \ + lpcm_adec \ + macosx \ + mad_adec \ + memcpy \ + mga \ + motion \ + mpeg \ + mpeg_adec \ + mpeg_vdec \ + qt \ + sdl \ + spu_dec \ + text \ + vcd \ + x11 \ + yuv + +PLUGINS_TARGETS := ac3_adec/ac3_adec \ + ac3_spdif/ac3_spdif \ + alsa/alsa \ + arts/arts \ + beos/beos \ + directx/directx \ + dsp/dsp \ + dummy/dummy \ + dummy/null \ + dvd/dvd \ + dvdread/dvdread \ + esd/esd \ + fb/fb \ + ggi/ggi \ + glide/glide \ + gtk/gnome \ + gtk/gtk \ + downmix/downmix \ + downmix/downmixsse \ + downmix/downmix3dn \ + idct/idct \ + idct/idctclassic \ + idct/idctmmx \ + idct/idctmmxext \ + idct/idctaltivec \ + imdct/imdct \ + imdct/imdct3dn \ + imdct/imdctsse \ + kde/kde \ + lpcm_adec/lpcm_adec \ + macosx/macosx \ + mad_adec/mad \ + memcpy/memcpy \ + memcpy/memcpymmx \ + memcpy/memcpymmxext \ + memcpy/memcpy3dn \ + mga/mga \ + motion/motion \ + motion/motionmmx \ + motion/motionmmxext \ + motion/motion3dnow \ + motion/motionaltivec \ + mpeg_adec/mpeg_adec \ + mpeg_vdec/mpeg_vdec \ + mpeg/es \ + mpeg/ps \ + mpeg/ts \ + qt/qt \ + sdl/sdl \ + spu_dec/spu_dec \ + text/ncurses \ + text/rc \ + vcd/vcd \ + x11/x11 \ + x11/xvideo \ + yuv/yuv \ + yuv/yuvmmx # # C Objects # INTERFACE := main interface intf_msg intf_playlist intf_channels -INPUT := input input_ext-dec input_ext-intf input_dec input_programs input_netlist input_clock mpeg_system +INPUT := input input_ext-dec input_ext-intf input_dec input_programs input_clock mpeg_system VIDEO_OUTPUT := video_output video_text video_spu video_yuv AUDIO_OUTPUT := audio_output aout_ext-dec aout_u8 aout_s8 aout_u16 aout_s16 aout_spdif -AC3_DECODER := ac3_decoder_thread ac3_decoder ac3_parse ac3_exponent ac3_bit_allocate ac3_mantissa ac3_rematrix ac3_imdct -AC3_SPDIF := ac3_spdif ac3_iec958 -LPCM_DECODER := lpcm_decoder_thread -AUDIO_DECODER := audio_decoder adec_generic adec_layer1 adec_layer2 adec_math -SPU_DECODER := spu_decoder -VIDEO_DECODER := video_parser vpar_headers vpar_blocks vpar_synchro vpar_pool video_decoder -MISC := mtime tests modules netutils +MISC := mtime tests modules netutils iso_lang C_OBJ := $(INTERFACE:%=src/interface/%.o) \ $(INPUT:%=src/input/%.o) \ $(VIDEO_OUTPUT:%=src/video_output/%.o) \ $(AUDIO_OUTPUT:%=src/audio_output/%.o) \ - $(AC3_DECODER:%=src/ac3_decoder/%.o) \ - $(AC3_SPDIF:%=src/ac3_spdif/%.o) \ - $(LPCM_DECODER:%=src/lpcm_decoder/%.o) \ - $(AUDIO_DECODER:%=src/audio_decoder/%.o) \ - $(SPU_DECODER:%=src/spu_decoder/%.o) \ - $(VIDEO_DECODER:%=src/video_decoder/%.o) \ $(MISC:%=src/misc/%.o) # @@ -63,9 +137,12 @@ C_OBJ += src/misc/darwin_specific.o endif ifneq (,$(findstring mingw32,$(SYS))) +C_OBJ += src/misc/win32_specific.o RESOURCE_OBJ := share/vlc_win32_rc.o endif +VLC_OBJ := $(C_OBJ) $(CPP_OBJ) $(BUILTIN_OBJ) $(RESOURCE_OBJ) + # # Generated header # @@ -90,8 +167,8 @@ endif # # Misc variables # -VLC_QUICKVERSION := $(shell grep '^ *VLC_VERSION=' configure.in | cut -f2 -d=) -LIBDVDCSS_QUICKVERSION := $(shell grep '^ *LIBDVDCSS_VERSION=' configure.in | cut -f2 -d=) +VLC_QUICKVERSION := $(shell grep '^ *VLC_VERSION=' configure.in | head -1 | sed 's/"//g' | cut -f2 -d=) +LIBDVDCSS_QUICKVERSION := $(shell grep '^ *LIBDVDCSS_VERSION=' configure.in | head -1 | sed 's/"//g' | cut -f2 -d=) # All symbols must be exported @@ -127,14 +204,18 @@ show: # # Cleaning rules # -clean: libdvdcss-clean plugins-clean vlc-clean +clean: libdvdcss-clean libdvdread-clean plugins-clean vlc-clean rm -f src/*/*.o extras/*/*.o rm -f lib/*.so* lib/*.a rm -f plugins/*.so plugins/*.a + rm -rf extras/MacOSX/build libdvdcss-clean: -cd extras/libdvdcss && $(MAKE) clean +libdvdread-clean: + -cd extras/libdvdread && $(MAKE) clean + plugins-clean: for dir in $(PLUGINS_DIR) ; do \ ( cd plugins/$${dir} && $(MAKE) clean ) ; done @@ -174,7 +255,7 @@ endif $(INSTALL) -m 644 share/*.xpm $(DESTDIR)$(datadir)/videolan vlc-uninstall: - rm vlc $(DESTDIR)$(bindir)/vlc + rm -f $(DESTDIR)$(bindir)/vlc ifneq (,$(ALIASES)) for alias in $(ALIASES) ; do if test $$alias ; then rm -f $(DESTDIR)$(bindir)/$$alias ; fi ; done endif @@ -227,15 +308,19 @@ snapshot-common: -type d -name CVS -o -name '.*' -o -name '*.[o]' | \ while read i ; do rm -Rf $$i ; done # Copy misc files - cp vlc.spec AUTHORS COPYING TODO todo.pl ChangeLog* README* INSTALL* \ + cp FAQ AUTHORS COPYING TODO todo.pl ChangeLog* README* INSTALL* \ Makefile Makefile.opts.in Makefile.dep Makefile.modules \ - configure configure.in install-sh config.sub config.guess \ + configure configure.in install-sh install-win32 vlc.spec \ + config.sub config.guess \ tmp/vlc/ # Copy Debian control files for file in debian/*dirs debian/*docs debian/*menu debian/*desktop \ debian/*copyright ; do cp $$file tmp/vlc/debian ; done for file in control changelog rules ; do \ cp debian/$$file tmp/vlc/debian/ ; done + # Copy ipkg control files + for file in control rules ; do \ + cp ipkg/$$file tmp/vlc/ipkg/ ; done # Copy fonts and icons for file in share/*png share/*xpm share/*psf ; do \ cp $$file tmp/vlc/share ; done @@ -274,11 +359,65 @@ snapshot-nocss: snapshot-common # Clean up rm -Rf tmp +package-win32: + # XXX: this rule is probably only useful to you if you have exactly + # the same setup as me. Contact sam@zoy.org if you need to use it. + # + # Check that tmp isn't in the way + @if test -e tmp; then \ + echo "Error: please remove ./tmp, it is in the way"; false; \ + else \ + echo "OK."; mkdir tmp; \ + fi + # Create installation script + sed -e 's#@VERSION@#'${VLC_QUICKVERSION}'#' < install-win32 > tmp/nsi + # Copy relevant files + cp vlc.exe $(PLUGINS:%=plugins/%.so) tmp/ + cp INSTALL-win32.txt AUTHORS COPYING ChangeLog ChangeLog.libdvdcss \ + README README.libdvdcss FAQ TODO tmp/ + for file in gtk-1.3.dll gdk-1.3.dll glib-1.3.dll gmodule-1.3.dll \ + gnu-intl.dll SDL.dll README-SDL.txt ; \ + do cp ${DLL_PATH}/$$file tmp/ ; done + mkdir tmp/share + for file in default8x16.psf default8x9.psf ; \ + do cp share/$$file tmp/share/ ; done + # Create package + wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe /CD tmp/nsi + mv tmp/vlc-${VLC_QUICKVERSION}.exe \ + vlc-${VLC_QUICKVERSION}-win32-installer.exe + # Clean up + rm -Rf tmp + +package-beos: + # Check that tmp isn't in the way + @if test -e tmp; then \ + echo "Error: please remove ./tmp, it is in the way"; false; \ + else \ + echo "OK."; mkdir tmp; \ + fi + + # Create dir + mkdir -p tmp/vlc/share + # Copy relevant files + cp vlc tmp/vlc/ + cp AUTHORS COPYING ChangeLog ChangeLog.libdvdcss \ + README README.libdvdcss FAQ TODO tmp/vlc/ + for file in default8x16.psf default8x9.psf ; \ + do cp share/$$file tmp/vlc/share/ ; done + # Create package + mv tmp/vlc tmp/vlc-${VLC_QUICKVERSION} + (cd tmp ; find vlc-${VLC_QUICKVERSION} | \ + zip -9 -@ vlc-${VLC_QUICKVERSION}-beos.zip ) + mv tmp/vlc-${VLC_QUICKVERSION}-beos.zip . + # Clean up + rm -Rf tmp + libdvdcss-snapshot: snapshot-common # Remove vlc sources and icons, doc, debian directory... rm -Rf tmp/vlc/src tmp/vlc/share tmp/vlc/plugins tmp/vlc/doc - rm -Rf tmp/vlc/extras/GNUgetopt tmp/vlc/extras/MacOSX_app + rm -Rf tmp/vlc/extras/GNUgetopt tmp/vlc/extras/MacOSX rm -Rf tmp/vlc/debian + rm -Rf tmp/vlc/ipkg # Remove useless headers rm -f tmp/vlc/include/* for file in defs.h.in config.h.in common.h int_types.h ; \ @@ -319,13 +458,11 @@ gnome-vlc gvlc kvlc qvlc: vlc vlc.app: Makefile.opts ifneq (,$(findstring darwin,$(SYS))) rm -Rf vlc.app - mkdir -p vlc.app/Contents/Resources - mkdir -p vlc.app/Contents/MacOS/lib - mkdir -p vlc.app/Contents/MacOS/share - $(INSTALL) -m 644 extras/MacOSX_app/Contents/Info.plist vlc.app/Contents/ - $(INSTALL) -m 644 extras/MacOSX_app/Contents/PkgInfo vlc.app/Contents/ + cd extras/MacOSX ; pbxbuild | grep -v '^ ' | grep -v '^\t' + cp -r extras/MacOSX/build/vlc.bundle ./vlc.app + $(INSTALL) -d vlc.app/Contents/MacOS/share + $(INSTALL) -d vlc.app/Contents/MacOS/plugins $(INSTALL) vlc vlc.app/Contents/MacOS/ - $(INSTALL) share/vlc.icns vlc.app/Contents/Resources/ ifneq (,$(PLUGINS)) $(INSTALL) $(PLUGINS:%=plugins/%.so) vlc.app/Contents/MacOS/plugins endif @@ -363,12 +500,12 @@ endif $(C_OBJ): %.o: Makefile.opts Makefile.dep Makefile $(C_OBJ): %.o: .dep/%.d $(C_OBJ): %.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) $(CFLAGS_VLC) -c -o $@ $< $(CPP_OBJ): %.o: Makefile.opts Makefile.dep Makefile $(CPP_OBJ): %.o: .dep/%.dpp $(CPP_OBJ): %.o: %.cpp - $(CC) $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) $(CFLAGS_VLC) -c -o $@ $< $(RESOURCE_OBJ): %.o: Makefile.dep Makefile ifneq (,(findstring mingw32,$(SYS))) @@ -379,8 +516,8 @@ endif # # Main application target # -vlc: Makefile.opts Makefile.dep Makefile $(H_OBJ) $(C_OBJ) $(CPP_OBJ) $(BUILTIN_OBJ) $(RESOURCE_OBJ) plugins - $(CC) $(CFLAGS) -o $@ $(C_OBJ) $(CPP_OBJ) $(BUILTIN_OBJ) $(RESOURCE_OBJ) $(LCFLAGS) +vlc: Makefile.opts Makefile.dep Makefile $(H_OBJ) $(VLC_OBJ) $(BUILTIN_OBJ) plugins + $(CC) $(CFLAGS) -o $@ $(VLC_OBJ) $(BUILTIN_OBJ) $(LCFLAGS) ifeq ($(SYS),beos) xres -o $@ ./share/vlc_beos.rsrc mimeset -f $@ @@ -406,3 +543,9 @@ $(BUILTIN_OBJ): FORCE libdvdcss: Makefile.opts cd extras/libdvdcss && $(MAKE) +# +# libdvdread target +# +libdvdread: Makefile.opts + cd extras/libdvdread && $(MAKE) +