X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.in;h=132c444230e7d9502c1a99faf8e9250e2f0e74ad;hb=326e86d5c934e86fe037259acf8c2ec577b8dfe2;hp=17167cfaf6d366065d155ade959b2bd944d4dcc8;hpb=a9729877b79918b02b8beb2f21328b5eee869e74;p=vlc diff --git a/Makefile.in b/Makefile.in index 17167cfaf6..132c444230 100644 --- a/Makefile.in +++ b/Makefile.in @@ -16,17 +16,18 @@ OPTIMS=@OPTIMS@ SYS=@SYS@ PLUGINS=@PLUGINS@ -SNAPSHOTDIR=vlc-@VLC_VERSION@ INSTALL=@INSTALL@ ARCH=@ARCH@ + +exec_prefix=@exec_prefix@ prefix=@prefix@ +bindir=@bindir@ +datadir=@datadir@ +libdir=@libdir@ + CC=@CC@ SHELL=@SHELL@ -LIB_SDL=@LIB_SDL@ -LIB_GLIDE=@LIB_GLIDE@ -LIB_GGI=@LIB_GGI@ - #----------------- do not change anything below this line ---------------------- ################################################################################ @@ -45,15 +46,23 @@ DEFINE += -DSTATS endif # PROGRAM_BUILD is a complete identification of the build -# ( we can't use fancy options with date since OSes like Solaris -# or FreeBSD have strange date implementations ) +# (we can't use fancy options with date since OSes like Solaris +# or FreeBSD have strange date implementations) +ifeq ($(SYS),beos) +# XXX: beos does not support hostname (how lame...) PROGRAM_BUILD = `date` $(USER) -# XXX: beos does not support hostname -#PROGRAM_BUILD = `date` $(USER)@`hostname` +else +PROGRAM_BUILD = `date` $(USER)@`hostname` +endif # DEFINE will contain some of the constants definitions decided in Makefile, # including SYS_xx. It will be passed to C compiler. -DEFINE += -DSYS_$(shell echo $(SYS) | sed 's/-.*//' | tr a-z. A-Z_) +DEFINE += -DSYS_$(shell echo $(SYS) | sed 's/-.*//' | tr '[a-z].' '[A-Z]_') + +# On Linux activate 64-bit off_t (by default under BSD) +ifneq (,$(findstring linux,$(SYS))) +DEFINE += -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 +endif ################################################################################ # Tuning and other variables - do not change anything except if you know @@ -63,27 +72,13 @@ DEFINE += -DSYS_$(shell echo $(SYS) | sed 's/-.*//' | tr a-z. A-Z_) # # C headers directories # -INCLUDE += -Iinclude -I/usr/local/include -I/usr/X11R6/include +INCLUDE += @INCLUDE@ +INCLUDE += -Iinclude -Iextras -I/usr/local/include # # Libraries # -ifeq ($(SYS),gnu) -LIB += -lthreads -ldl -endif - -ifneq (,$(findstring bsd,$(SYS))) -LIB += -pthread -lgnugetopt -LIB += -L/usr/local/lib -endif - -ifneq (,$(findstring linux,$(SYS))) -LIB += -lpthread -ldl -endif - -ifneq (,$(findstring solaris,$(SYS))) -LIB += -ldl -lsocket -lnsl -lpthread -endif +LIB = @LIB@ -L/usr/local/lib ifeq ($(SYS),beos) LIB += -lbe -lroot -lgame @@ -104,16 +99,18 @@ ifeq ($(SYS),beos) CFLAGS += -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual endif +ifneq (,$(findstring darwin,$(SYS))) +CFLAGS += -traditional-cpp +endif + # Optimizations : don't compile debug versions with them ifeq ($(OPTIMS),1) -CFLAGS += -O6 -CFLAGS += -ffast-math -funroll-loops -funroll-all-loops +CFLAGS += -O3 +CFLAGS += -ffast-math -funroll-loops CFLAGS += -fomit-frame-pointer -CFLAGS += @BIZARRE_OPTIMS@ # Optimizations for x86 familiy ifneq (,$(findstring 86,$(ARCH))) -CFLAGS += -malign-double # Optional Pentium Pro optimizations ifneq (,$(findstring ppro,$(ARCH))) CFLAGS += -march=pentiumpro -mcpu=pentiumpro @@ -124,12 +121,7 @@ endif # Optimizations for PowerPC ifneq (,$(findstring powerpc,$(ARCH))) -# 604e -CFLAGS += -mcpu=604e -mmultiple -mhard-float -mstring -# G3 -#CFLAGS += -mcpu=750 -mmultiple -mhard-float -mstring -# G4 -#CFLAGS += -mcpu=7400 -mmultiple -mhard-float -mstring +CFLAGS += -mmultiple -mhard-float -mstring endif # Optimizations for Sparc @@ -150,6 +142,19 @@ endif # PCFLAGS += -fPIC +# +# C compiler flags: plugin linking +# +ifneq (,$(findstring darwin,$(SYS))) +PLCFLAGS += -bundle -undefined suppress +else +ifeq ($(SYS),beos) +PLCFLAGS += -nostart plugins/_APP_ +else +PLCFLAGS += -shared +endif +endif + # # C compiler flags: dependancies # @@ -159,10 +164,24 @@ DCFLAGS += -MM # # C compiler flags: linking # -LCFLAGS += $(LIB) +LCFLAGS += @LCFLAGS@ $(LIB) LCFLAGS += -Wall #LCFLAGS += -s +ifeq ($(SYS),beos) +LCFLAGS += -Xlinker -soname=_APP_ +else +ifneq (,$(findstring qnx,$(SYS))) +LCFLAGS += -Xlinker -export-dynamic +else +ifneq (,$(findstring darwin,$(SYS))) +LCFLAGS += -dyn +else +LCFLAGS += --export-dynamic +endif +endif +endif + # # Debugging and profiling support (unless optimisations are active) # @@ -182,20 +201,26 @@ INTERFACE = src/interface/main.o \ src/interface/intf_msg.o \ src/interface/intf_cmd.o \ src/interface/intf_ctrl.o \ - src/interface/intf_console.o - -INPUT = src/input/input_ps.o \ - src/input/input_ts.o \ - src/input/dvd_ifo.o \ - src/input/input_dvd.o \ - src/input/mpeg_system.o \ - src/input/input_ext-dec.o \ + src/interface/intf_playlist.o \ + src/interface/intf_channels.o \ + src/interface/intf_console.o \ + src/interface/intf_urldecode.o \ + +INPUT = src/input/input_ext-dec.o \ + src/input/input_ext-intf.o \ src/input/input_dec.o \ src/input/input_programs.o \ src/input/input_netlist.o \ - src/input/input.o + src/input/input_clock.o \ + src/input/input.o \ + src/input/mpeg_system.o -AUDIO_OUTPUT = src/audio_output/audio_output.o +AUDIO_OUTPUT = src/audio_output/audio_output.o \ + src/audio_output/aout_fifo.o \ + src/audio_output/aout_u8.o \ + src/audio_output/aout_s8.o \ + src/audio_output/aout_u16.o \ + src/audio_output/aout_s16.o VIDEO_OUTPUT = src/video_output/video_output.o \ src/video_output/video_text.o \ @@ -210,7 +235,8 @@ AC3_DECODER = src/ac3_decoder/ac3_decoder_thread.o \ src/ac3_decoder/ac3_mantissa.o \ src/ac3_decoder/ac3_rematrix.o \ src/ac3_decoder/ac3_imdct.o \ - src/ac3_decoder/ac3_downmix.o + src/ac3_decoder/ac3_downmix.o \ + src/ac3_decoder/ac3_downmix_c.o LPCM_DECODER = src/lpcm_decoder/lpcm_decoder_thread.o \ src/lpcm_decoder/lpcm_decoder.o @@ -225,31 +251,19 @@ SPU_DECODER = src/spu_decoder/spu_decoder.o #GEN_DECODER = src/generic_decoder/generic_decoder.o - VIDEO_PARSER = src/video_parser/video_parser.o \ src/video_parser/vpar_headers.o \ src/video_parser/vpar_blocks.o \ src/video_parser/vpar_synchro.o \ src/video_parser/video_fifo.o -ifneq (,$(findstring mmx,$(ARCH))) - vdec_motion_inner = src/video_decoder/vdec_motion_inner_mmx.o -else - vdec_motion_inner = src/video_decoder/vdec_motion_inner.o -endif - -VIDEO_DECODER = src/video_decoder/video_decoder.o \ - src/video_decoder/vdec_motion.o \ - $(vdec_motion_inner) +VIDEO_DECODER = src/video_decoder/video_decoder.o MISC = src/misc/mtime.o \ src/misc/tests.o \ src/misc/rsc_files.o \ src/misc/modules.o \ - src/misc/netutils.o \ - src/misc/playlist.o \ - src/misc/plugins.o - + src/misc/netutils.o C_OBJ = $(INTERFACE) \ $(INPUT) \ @@ -262,7 +276,8 @@ C_OBJ = $(INTERFACE) \ $(GEN_DECODER) \ $(VIDEO_PARSER) \ $(VIDEO_DECODER) \ - $(MISC) + $(MISC) \ + @GETOPT@ # @@ -277,121 +292,180 @@ endif # ifneq (,$(findstring 86,$(ARCH))) ifneq (,$(findstring mmx,$(ARCH))) -ASM_OBJ = src/video_output/video_yuv_mmx.o -PLUGIN_IDCTMMX_ASM = plugins/idct/idctmmx_asm.o +ASM_OBJ = endif endif # # Plugins # +PLUGIN_ALSA = plugins/alsa/alsa.o \ + plugins/alsa/aout_alsa.o + PLUGIN_BEOS = plugins/beos/beos.o \ plugins/beos/aout_beos.o \ plugins/beos/intf_beos.o \ - plugins/beos/vout_beos.o + plugins/beos/vout_beos.o \ + plugins/beos/DrawingTidbits.o \ + plugins/beos/TransportButton.o + +PLUGIN_DARWIN = plugins/darwin/darwin.o PLUGIN_DSP = plugins/dsp/dsp.o \ - plugins/dsp/aout_dsp.o \ + plugins/dsp/aout_dsp.o PLUGIN_DUMMY = plugins/dummy/dummy.o \ plugins/dummy/aout_dummy.o \ plugins/dummy/intf_dummy.o \ plugins/dummy/vout_dummy.o +PLUGIN_DVD = plugins/dvd/dvd.o \ + plugins/dvd/input_dvd.o \ + plugins/dvd/dvd_netlist.o \ + plugins/dvd/dvd_ioctl.o \ + plugins/dvd/dvd_ifo.o \ + plugins/dvd/dvd_udf.o \ + plugins/dvd/dvd_css.o + PLUGIN_ESD = plugins/esd/esd.o \ plugins/esd/aout_esd.o PLUGIN_FB = plugins/fb/fb.o \ - plugins/fb/intf_fb.o \ plugins/fb/vout_fb.o PLUGIN_GGI = plugins/ggi/ggi.o \ - plugins/ggi/intf_ggi.o \ plugins/ggi/vout_ggi.o -PLUGIN_SDL = plugins/sdl/sdl.o \ - plugins/sdl/intf_sdl.o \ - plugins/sdl/vout_sdl.o -# plugins/sdl/video_yuv.o \ -# plugins/sdl/video_yuvall.o - -PLUGIN_NULL = plugins/null/null.o - PLUGIN_GLIDE = plugins/glide/glide.o \ - plugins/glide/intf_glide.o \ plugins/glide/vout_glide.o PLUGIN_GNOME = plugins/gnome/gnome.o \ plugins/gnome/intf_gnome.o \ - plugins/gnome/intf_gnome_callbacks.o \ - plugins/gnome/intf_gnome_interface.o \ - plugins/gnome/intf_gnome_support.o \ - plugins/gnome/vout_gnome.o + plugins/gnome/gnome_callbacks.o \ + plugins/gnome/gnome_interface.o \ + plugins/gnome/gnome_support.o + +PLUGIN_GTK = plugins/gtk/gtk.o \ + plugins/gtk/intf_gtk.o \ + plugins/gtk/gtk_callbacks.o \ + plugins/gtk/gtk_interface.o \ + plugins/gtk/gtk_support.o \ + plugins/gtk/gtk_playlist.o + +PLUGIN_IDCT = plugins/idct/idct.o + +PLUGIN_IDCTCLASSIC = plugins/idct/idctclassic.o + +PLUGIN_IDCTMMX = plugins/idct/idctmmx.o + +PLUGIN_IDCTMMXEXT = plugins/idct/idctmmxext.o + +PLUGIN_IDCTALTIVEC = plugins/idct/idctaltivec.o + +PLUGIN_IDCTCOMMON = plugins/idct/idct_common.o + +PLUGIN_KDE = plugins/kde/kde.o \ + plugins/kde/intf_kde.o + +PLUGIN_MACOSX = plugins/macosx/macosx.o \ + plugins/macosx/intf_macosx.o \ + plugins/macosx/aout_macosx.o \ + plugins/macosx/vout_macosx.o PLUGIN_MGA = plugins/mga/mga.o \ - plugins/mga/intf_mga.o \ plugins/mga/vout_mga.o -PLUGIN_X11= plugins/x11/x11.o \ - plugins/x11/intf_x11.o \ - plugins/x11/vout_x11.o +PLUGIN_MOTION = plugins/motion/motion.o \ + plugins/motion/vdec_motion_inner.o -PLUGIN_YUV = plugins/yuv/yuv.o \ - plugins/yuv/video_yuv.o \ - plugins/yuv/video_yuv8.o \ - plugins/yuv/video_yuv15.o \ - plugins/yuv/video_yuv16.o \ - plugins/yuv/video_yuv24.o \ - plugins/yuv/video_yuv32.o +PLUGIN_MOTIONMMX = plugins/motion/motionmmx.o \ + plugins/motion/vdec_motion_inner_mmx.o -PLUGIN_YUVMMX = plugins/yuvmmx/yuvmmx.o \ - plugins/yuvmmx/video_yuv.o \ - plugins/yuvmmx/video_yuv8.o \ - plugins/yuvmmx/video_yuv15.o \ - plugins/yuvmmx/video_yuv16.o \ - plugins/yuvmmx/video_yuv24.o \ - plugins/yuvmmx/video_yuv32.o +PLUGIN_MOTIONMMXEXT = plugins/motion/motionmmxext.o \ + plugins/motion/vdec_motion_inner_mmxext.o -PLUGIN_IDCT = plugins/idct/idct.o \ - plugins/idct/idct_common.o +PLUGIN_MOTIONCOMMON = plugins/motion/vdec_motion_common.o -PLUGIN_IDCTCLASSIC = plugins/idct/idctclassic.o \ - plugins/idct/idct_common.o +PLUGIN_NCURSES = plugins/text/ncurses.o \ + plugins/text/intf_ncurses.o -PLUGIN_IDCTMMX = plugins/idct/idctmmx.o \ - plugins/idct/idct_common.o +PLUGIN_NULL = plugins/null/null.o -PLUGIN_ALSA = plugins/alsa/alsa.o \ - plugins/alsa/aout_alsa.o +PLUGIN_PS = plugins/mpeg/ps.o \ + plugins/mpeg/input_ps.o + +PLUGIN_QT = plugins/qt/qt.o \ + plugins/qt/intf_qt.o + +PLUGIN_SDL = plugins/sdl/sdl.o \ + plugins/sdl/vout_sdl.o \ + plugins/sdl/aout_sdl.o + +PLUGIN_TS = plugins/mpeg/ts.o \ + plugins/mpeg/input_ts.o + +PLUGIN_XVIDEO = plugins/x11/xvideo.o \ + plugins/x11/vout_xvideo.o + +PLUGIN_X11 = plugins/x11/x11.o \ + plugins/x11/vout_x11.o + +PLUGIN_YUV = plugins/yuv/yuv.o \ + plugins/yuv/video_yuv.o \ + plugins/yuv/transforms_yuv.o + +PLUGIN_YUVMMX = plugins/yuv/yuvmmx.o \ + plugins/yuv/video_yuvmmx.o \ + plugins/yuv/transforms_yuvmmx.o -STD_PLUGIN_OBJ =$(PLUGIN_BEOS) \ +STD_PLUGIN_OBJ = \ + $(PLUGIN_ALSA) \ + $(PLUGIN_DARWIN) \ $(PLUGIN_DSP) \ $(PLUGIN_DUMMY) \ + $(PLUGIN_DVD) \ $(PLUGIN_ESD) \ $(PLUGIN_FB) \ $(PLUGIN_GGI) \ - $(PLUGIN_MGA) \ - $(PLUGIN_X11) \ - $(PLUGIN_YUV) \ - $(PLUGIN_YUVMMX) \ $(PLUGIN_IDCT) \ + $(PLUGIN_IDCTCLASSIC) \ $(PLUGIN_IDCTMMX) \ + $(PLUGIN_IDCTMMXEXT) \ + $(PLUGIN_IDCTCOMMON) \ + $(PLUGIN_MGA) \ + $(PLUGIN_MOTION) \ + $(PLUGIN_MOTIONMMX) \ + $(PLUGIN_MOTIONMMXEXT) \ + $(PLUGIN_MOTIONCOMMON) \ + $(PLUGIN_NCURSES) \ + $(PLUGIN_NULL) \ + $(PLUGIN_PS) \ $(PLUGIN_SDL) \ - $(PLUGIN_ALSA) \ - $(PLUGIN_NULL) - -STD_PLUGIN_ASM =$(PLUGIN_IDCTMMX_ASM) + $(PLUGIN_TS) \ + $(PLUGIN_YUV) \ + $(PLUGIN_YUVMMX) -STD_PLUGIN_COMMON = plugins/idct/idct_common.o -# filter out duplicates from the plugin object lists -STD_PLUGIN_OBJ := $(filter-out $(STD_PLUGIN_COMMON), $(STD_PLUGIN_OBJ)) \ - $(STD_PLUGIN_COMMON) +NONSTD_PLUGIN_OBJ = \ + $(PLUGIN_X11) \ + $(PLUGIN_XVIDEO) \ + $(PLUGIN_GLIDE) \ + $(PLUGIN_GTK) \ + $(PLUGIN_GNOME) \ + $(PLUGIN_MACOSX) \ + $(PLUGIN_IDCTALTIVEC) + +NONSTD_CPP_PLUGIN_OBJ = \ + $(PLUGIN_BEOS) \ + $(PLUGIN_QT) \ + $(PLUGIN_KDE) # # Other lists of files # -objects := $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ) $(STD_PLUGIN_ASM) -dependancies := $(objects:%.o=.dep/%.d) +objects := $(C_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ) $(NONSTD_PLUGIN_OBJ) +cdependancies := $(objects:%.o=.dep/%.d) +cppobjects := $(CPP_OBJ) $(NONSTD_CPP_PLUGIN_OBJ) +cppdependancies := $(cppobjects:%.o=.dep/%.dpp) # All symbols must be exported export @@ -407,73 +481,131 @@ all: vlc @ALIASES@ plugins clean: rm -f $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ) - rm -f vlc @ALIASES@ lib/*.so + rm -f plugins/*/*.o plugins/*/*.moc plugins/*/*.bak + rm -f src/*/*.o extras/*/*.o + rm -f lib/*.so vlc gvlc kvlc qvlc distclean: clean - rm -f src/*/*.o plugins/*/*.o **/*~ *.log + rm -f **/*.o **/*~ *.log rm -f Makefile include/defs.h include/config.h rm -f config.status config.cache config.log rm -f gmon.out core build-stamp - rm -rf .dep + rm -Rf .dep install: - mkdir -p $(prefix)/bin - $(INSTALL) vlc $(prefix)/bin + mkdir -p $(DESTDIR)$(bindir) + $(INSTALL) vlc $(DESTDIR)$(bindir) # ugly - for alias in "" @ALIASES@ ; do if test $$alias ; then rm -f $(prefix)/bin/$$alias && ln -s vlc $(prefix)/bin/$$alias ; fi ; done - mkdir -p $(prefix)/lib/videolan/vlc - $(INSTALL) -m 644 $(PLUGINS:%=lib/%.so) $(prefix)/lib/videolan/vlc - mkdir -p $(prefix)/share/videolan - $(INSTALL) -m 644 share/*.psf $(prefix)/share/videolan - $(INSTALL) -m 644 share/*.png $(prefix)/share/videolan + for alias in "" @ALIASES@ ; do if test $$alias ; then rm -f $(DESTDIR)$(bindir)/$$alias && ln -s vlc $(DESTDIR)$(bindir)/$$alias ; fi ; done + mkdir -p $(DESTDIR)$(libdir)/videolan/vlc + $(INSTALL) -m 644 $(PLUGINS:%=lib/%.so) $(DESTDIR)$(libdir)/videolan/vlc + mkdir -p $(DESTDIR)$(datadir)/videolan + $(INSTALL) -m 644 share/*.psf $(DESTDIR)$(datadir)/videolan + $(INSTALL) -m 644 share/*.png $(DESTDIR)$(datadir)/videolan + $(INSTALL) -m 644 share/*.xpm $(DESTDIR)$(datadir)/videolan + +ifneq (,$(findstring darwin,$(SYS))) +# XXX this should only be for MacOS X +#should the following be "$(DESTDIR)$(bindir)vlc.app/" or "$(DESTDIR)vlc.app/" ? + mkdir -p $(DESTDIR)$(bindir)vlc.app/Contents/MacOS + mkdir -p $(DESTDIR)$(bindir)vlc.app/Contents/MacOS/lib + mkdir -p $(DESTDIR)$(bindir)vlc.app/Contents/MacOS/share + $(INSTALL) -m 644 extras/MacOSX_app/Contents/Info.plist $(DESTDIR)$(bindir)vlc.app/Contents/ + $(INSTALL) -m 644 extras/MacOSX_app/Contents/PkgInfo $(DESTDIR)$(bindir)vlc.app/Contents/ + $(INSTALL) vlc $(DESTDIR)$(bindir)vlc.app/Contents/MacOS/ + $(INSTALL) $(PLUGINS:%=lib/%.so) $(DESTDIR)$(bindir)vlc.app/Contents/MacOS/lib + $(INSTALL) -m 644 share/*.psf $(DESTDIR)$(bindir)vlc.app/Contents/MacOS/share +endif show: @echo CC: $(CC) @echo CFLAGS: $(CFLAGS) @echo DCFLAGS: $(DCFLAGS) @echo LCFLAGS: $(LCFLAGS) + @echo C_OBJ: $(C_OBJ) + @echo CPP_OBJ: $(CPP_OBJ) + @echo STD_PLUGIN_OBJ: $(STD_PLUGIN_OBJ) + @echo NONSTD_PLUGIN_OBJ: $(NONSTD_PLUGIN_OBJ) + @echo NONSTD_CPP_PLUGIN_OBJ: $(NONSTD_CPP_PLUGIN_OBJ) + @echo objects: $(objects) + @echo cppobjects: $(cppobjects) # ugliest of all, but I have no time to do it -- sam snapshot: - rm -rf /tmp/${SNAPSHOTDIR} - mkdir /tmp/${SNAPSHOTDIR} - cp -a * /tmp/${SNAPSHOTDIR} - (cd /tmp/${SNAPSHOTDIR} ; \ - make distclean ; \ - find . -type d -name CVS | xargs rm -rf ; \ - find . -type f -name '.*.swp' | xargs rm -f ; \ - find . -type f -name '.cvsignore' | xargs rm -f ; \ - cd .. ; \ - tar czvf ${SNAPSHOTDIR}.tar.gz ${SNAPSHOTDIR} ; \ - tar cIvf ${SNAPSHOTDIR}.tar.bz2 ${SNAPSHOTDIR} ) - rm -rf /tmp/${SNAPSHOTDIR} - mv /tmp/${SNAPSHOTDIR}.tar.gz .. - mv /tmp/${SNAPSHOTDIR}.tar.bz2 .. - @echo "Sources are in ../${SNAPSHOTDIR}.tar.[gz,bz2]" + rm -Rf /tmp/vlc-@VLC_VERSION@* /tmp/vlc-@VLC_VERSION@nocss* + # copy archive in /tmp + find -type d | grep -v CVS | grep -v '\.dep' | while read i ; \ + do mkdir -p /tmp/vlc-@VLC_VERSION@/$$i ; \ + done + find debian -mindepth 1 -maxdepth 1 -type d | \ + while read i ; do rm -Rf /tmp/vlc-@VLC_VERSION@/$$i ; done + # .c .h .in .cpp + find include src plugins -type f -name '*.[chi]*' | while read i ; \ + do cp $$i /tmp/vlc-@VLC_VERSION@/$$i ; \ + done + # extra files + cp -a extras/* /tmp/vlc-@VLC_VERSION@/extras + cp -a doc/* /tmp/vlc-@VLC_VERSION@/doc + find /tmp/vlc-@VLC_VERSION@/extras /tmp/vlc-@VLC_VERSION@/doc \ + -type d -name CVS | while read i ; \ + do rm -Rf $$i ; \ + done + # copy misc files + cp vlc.spec AUTHORS COPYING ChangeLog INSTALL README TODO \ + Makefile.in Makefile.dep configure configure.in install-sh \ + config.sub config.guess todo.pl \ + /tmp/vlc-@VLC_VERSION@/ + for file in control control-css vlc-gtk.menu vlc.copyright vlc.docs \ + changelog changelog-css rules rules-css vlc.dirs \ + vlc.menu ; do \ + cp debian/$$file /tmp/vlc-@VLC_VERSION@/debian/ ; done + for file in default8x16.psf default8x9.psf gvlc.png vlc.png \ + gvlc.xpm vlc.xpm ; do \ + cp share/$$file /tmp/vlc-@VLC_VERSION@/share/ ; done + + # build css-enabled archives + (cd /tmp ; tar cf vlc-@VLC_VERSION@.tar vlc-@VLC_VERSION@ ; \ + bzip2 -f -9 < vlc-@VLC_VERSION@.tar \ + > vlc-@VLC_VERSION@.tar.bz2 ; \ + gzip -f -9 vlc-@VLC_VERSION@.tar ) + mv /tmp/vlc-@VLC_VERSION@.tar.gz /tmp/vlc-@VLC_VERSION@.tar.bz2 .. + + # clean up + rm -Rf /tmp/vlc-@VLC_VERSION@* plugins: $(PLUGINS:%=lib/%.so) FORCE: # -# Gnome and Framebuffer aliases - don't add new aliases which could bloat +# GTK/Gnome and Framebuffer aliases - don't add new aliases which could bloat # the namespace # -gvlc fbvlc: vlc +gvlc kvlc qvlc: vlc rm -f $@ && ln -s vlc $@ # # Generic rules (see below) # -$(dependancies): %.d: FORCE +$(cdependancies): %.d: FORCE + @$(MAKE) -s --no-print-directory -f Makefile.dep $@ + +$(cppdependancies): %.dpp: FORCE @$(MAKE) -s --no-print-directory -f Makefile.dep $@ $(C_OBJ): %.o: Makefile.dep $(C_OBJ): %.o: .dep/%.d $(C_OBJ): %.o: %.c +ifneq (,$(findstring darwin,$(SYS))) +#this is uglier of all + @if test "src/ac3_decoder/ac3_imdct.c" = "$<"; then $(CC) `echo $(CFLAGS) | sed -e 's/-O3/-O/'` -c -o $@ $<; echo "(CC) `echo $(CFLAGS) | sed -e 's/-O3/-O/'` -c -o $@ $<"; else $(CC) $(CFLAGS) -c -o $@ $<; echo "$(CC) $(CFLAGS) -c -o $@ $<"; fi +else $(CC) $(CFLAGS) -c -o $@ $< +endif +$(CPP_OBJ): %.o: Makefile.dep +$(CPP_OBJ): %.o: .dep/%.dpp $(CPP_OBJ): %.o: %.cpp $(CC) $(CFLAGS) -c -o $@ $< @@ -486,110 +618,204 @@ $(STD_PLUGIN_OBJ): %.o: .dep/%.d $(STD_PLUGIN_OBJ): %.o: %.c $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $< -$(STD_PLUGIN_ASM): %.o: Makefile.dep -$(STD_PLUGIN_ASM): %.o: %.S - $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $< +$(PLUGIN_XVIDEO): %.o: Makefile.dep +$(PLUGIN_XVIDEO): %.o: .dep/%.d +$(PLUGIN_XVIDEO): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/X11R6/include -c -o $@ $< + +$(PLUGIN_X11): %.o: Makefile.dep +$(PLUGIN_X11): %.o: .dep/%.d +$(PLUGIN_X11): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/X11R6/include -c -o $@ $< + +$(PLUGIN_GTK): %.o: Makefile.dep +$(PLUGIN_GTK): %.o: .dep/%.d +$(PLUGIN_GTK): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) `gtk-config --cflags gtk` -c -o $@ $< $(PLUGIN_GNOME): %.o: Makefile.dep +$(PLUGIN_GNOME): %.o: .dep/%.d $(PLUGIN_GNOME): %.o: %.c - $(CC) $(CFLAGS) $(PCFLAGS) `gnome-config --cflags gnomeui` -c -o $@ $< + $(CC) $(CFLAGS) $(PCFLAGS) `gnome-config --cflags gtk gnomeui` -c -o $@ $< $(PLUGIN_GLIDE): %.o: Makefile.dep +$(PLUGIN_GLIDE): %.o: .dep/%.d $(PLUGIN_GLIDE): %.o: %.c $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/glide -c -o $@ $< +$(PLUGIN_QT): %.o: Makefile.dep +$(PLUGIN_QT): %.o: .dep/%.dpp +$(PLUGIN_QT): %.o: %.moc + $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/qt -I${QTDIR}/include -c -o $@ $(<:%.moc=%.cpp) +$(PLUGIN_QT:%.o=%.moc): %.moc: %.cpp + moc -i $< -o $@ + +$(PLUGIN_KDE): %.o: Makefile.dep +$(PLUGIN_KDE): %.o: .dep/%.dpp +$(PLUGIN_KDE): %.o: %.cpp + $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/kde -I/usr/include/qt -fno-rtti -c -o $@ $< + +$(PLUGIN_BEOS): %.o: Makefile.dep +$(PLUGIN_BEOS): %.o: .dep/%.dpp +$(PLUGIN_BEOS): %.o: %.cpp + $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $< + +$(PLUGIN_IDCTALTIVEC): %.o: Makefile.dep +$(PLUGIN_IDCTALTIVEC): %.o: .dep/%.d +$(PLUGIN_IDCTALTIVEC): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) -faltivec -c -o $@ $< + +$(PLUGIN_MACOSX): %.o: Makefile.dep +$(PLUGIN_MACOSX): %.o: .dep/%.d +$(PLUGIN_MACOSX): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) -fpascal-strings -c -o $@ $< + # # Main application target # vlc: $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) + $(CC) $(CFLAGS) -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(LCFLAGS) ifeq ($(SYS),beos) - $(CC) $(CFLAGS) $(LCFLAGS) -Xlinker -soname=_APP_ -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) rm -f ./plugins/_APP_ ln -s ../vlc ./plugins/_APP_ -else - $(CC) $(CFLAGS) $(LCFLAGS) --export-dynamic @DYNAMIC_FLAG@ -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) +endif + +vlc.app: all +ifneq (,$(findstring darwin,$(SYS))) + mkdir -p vlc.app/Contents/MacOS + 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/ + $(INSTALL) vlc vlc.app/Contents/MacOS/ + $(INSTALL) $(PLUGINS:%=lib/%.so) vlc.app/Contents/MacOS/lib + $(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share endif # # Plugin targets # +lib/alsa.so: $(PLUGIN_ALSA) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lasound + lib/beos.so: $(PLUGIN_BEOS) - $(CC) $(PCFLAGS) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lbe -lgame -lroot -ltracker lib/esd.so: $(PLUGIN_ESD) ifneq (,$(findstring bsd,$(SYS))) - $(CC) $(PCFLAGS) -shared -o $@ $^ -lesd + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lesd else - $(CC) $(PCFLAGS) -shared -o $@ $^ -laudiofile -lesd + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -laudiofile -lesd endif -lib/dsp.so: $(PLUGIN_DSP) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/darwin.so: $(PLUGIN_DARWIN) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework CoreAudio -lib/alsa.so: $(PLUGIN_ALSA) - $(CC) $(PCFLAGS) -shared -o $@ $^ -lasound - -lib/null.so: $(PLUGIN_NULL) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/dsp.so: $(PLUGIN_DSP) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) lib/dummy.so: $(PLUGIN_DUMMY) - $(CC) $(PCFLAGS) -shared -o $@ $^ + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/dvd.so: $(PLUGIN_DVD) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) lib/fb.so: $(PLUGIN_FB) - $(CC) $(PCFLAGS) -shared -o $@ $^ + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lib/x11.so: $(PLUGIN_X11) - $(CC) $(PCFLAGS) -shared -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext +lib/ggi.so: $(PLUGIN_GGI) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) @LIB_GGI@ -lib/mga.so: $(PLUGIN_MGA) - $(CC) $(PCFLAGS) -shared -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext +lib/glide.so: $(PLUGIN_GLIDE) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) @LIB_GLIDE@ lib/gnome.so: $(PLUGIN_GNOME) - $(CC) $(PCFLAGS) -shared -o $@ $^ `gnome-config --libs gnomeui | sed 's,-rdynamic,,'` + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) `gnome-config --libs gnomeui | sed 's,-rdynamic,,'` -lib/glide.so: $(PLUGIN_GLIDE) - $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_GLIDE) +lib/gtk.so: $(PLUGIN_GTK) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) `gtk-config --libs gtk | sed 's,-rdynamic,,'` -lib/ggi.so: $(PLUGIN_GGI) - $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_GGI) +lib/idct.so: $(PLUGIN_IDCT) $(PLUGIN_IDCTCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lib/sdl.so: $(PLUGIN_SDL) - $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_SDL) +lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) $(PLUGIN_IDCTCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -ifeq ($(SYS),beos) -lib/idct.so: $(PLUGIN_IDCT) - $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ +lib/idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lib/yuv.so: $(PLUGIN_YUV) - $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ +lib/idctmmxext.so: $(PLUGIN_IDCTMMXEXT) $(PLUGIN_IDCTCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lib/yuvmmx.so: $(PLUGIN_YUVMMX) - $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ +lib/idctaltivec.so: $(PLUGIN_IDCTALTIVEC) $(PLUGIN_IDCTCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework vecLib -lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) - $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ +lib/kde.so: $(PLUGIN_KDE) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lkdeui -lkdecore -lqt -ldl -lib/idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTMMX_ASM) - $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ -else -lib/yuv.so: $(PLUGIN_YUV) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/macosx.so: $(PLUGIN_MACOSX) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework CoreAudio -framework Carbon -framework AGL -lib/yuvmmx.so: $(PLUGIN_YUVMMX) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/mga.so: $(PLUGIN_MGA) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext + +lib/motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/ncurses.so: $(PLUGIN_NCURSES) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lncurses -lib/idct.so: $(PLUGIN_IDCT) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/null.so: $(PLUGIN_NULL) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/ps.so: $(PLUGIN_PS) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/qt.so: $(PLUGIN_QT) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lqt -L${QTDIR}/lib + +lib/sdl.so: $(PLUGIN_SDL) +ifneq (,$(findstring darwin,$(SYS))) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) @LIB_SDL@ -framework Carbon -framework AGL +else + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) @LIB_SDL@ +endif + +lib/ts.so: $(PLUGIN_TS) +ifneq (,$(findstring darwin,$(SYS))) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework AGL -framework Carbon +else + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) +endif -lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/xvideo.so: $(PLUGIN_XVIDEO) +ifeq ($(SYS),nto-qnx) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext -lXv -lsocket +else + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext -lXv +endif -lib/idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTMMX_ASM) - $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/x11.so: $(PLUGIN_X11) +ifeq ($(SYS),nto-qnx) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext -lsocket +else + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext endif +lib/yuv.so: $(PLUGIN_YUV) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + +lib/yuvmmx.so: $(PLUGIN_YUVMMX) + $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) + ################################################################################ # Note on generic rules and dependancies ################################################################################