X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.in;h=6925139d08b87e09ad1198c56642c48870bec34e;hb=647cca0ebb2e897a570018ba80483bb81a7d90c6;hp=89c64aa761434779cf6c439a287f81e661198e69;hpb=c5e3d5536b1b883c993cb494e0a570698855a6a1;p=vlc diff --git a/Makefile.in b/Makefile.in index 89c64aa761..6925139d08 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,3 @@ -# Generated automatically from Makefile.in by configure. ################################################################################ # vlc (VideoLAN Client) main makefile # (c)1998 VideoLAN @@ -10,61 +9,23 @@ # Configuration ################################################################################ -# Audio output settings -AOUT += dsp -#AOUT += esd -# Not yet supported -#AOUT += alsa -# Fallback method that should always work -AOUT += dummy - -# Video output settings -VOUT += x11 -#VOUT += fb -#VOUT += ggi -#VOUT += glide -# Not yet supported -VOUT += gnome -#VOUT += beos -#VOUT += dga -# Fallback method that should always work -VOUT += dummy - -# Interface settings -INTF += x11 -#INTF += fb -#INTF += ggi -#INTF += glide -# Not yet supported -INTF += gnome -#INTF += beos -#INTF += dga -# Fallback method that should always work -INTF += dummy - -# Target architecture -ARCH=X86 -#ARCH=PPC -#ARCH=SPARC - -# Target operating system -SYS=LINUX -#SYS=GNU -#SYS=BSD -#SYS=BEOS - -# For x86 architecture, choose MMX support -ARCH += MMX -# For x86 architecture, optimize for Pentium Pro -# (choose NO if you get `Invalid instruction' errors) -ARCH += PPRO - -# Decoder choice - ?? old decoder will be removed soon -#DECODER=old -DECODER=new - # Debugging mode on or off (set to 1 to activate) -DEBUG=0 +DEBUG=@DEBUG@ +STATS=@STATS@ +OPTIMS=@OPTIMS@ + +SYS=@SYS@ +PLUGINS=@PLUGINS@ +SNAPSHOTDIR=vlc-@VLC_VERSION@ +INSTALL=@INSTALL@ +ARCH=@ARCH@ +prefix=@prefix@ +CC=@CC@ +SHELL=@SHELL@ + +LIB_SDL=@LIB_SDL@ +LIB_GLIDE=@LIB_GLIDE@ +LIB_GGI=@LIB_GGI@ #----------------- do not change anything below this line ---------------------- @@ -76,6 +37,11 @@ DEBUG=0 PROGRAM_OPTIONS = $(SYS) $(ARCH) ifeq ($(DEBUG),1) PROGRAM_OPTIONS += DEBUG +DEFINE += -DDEBUG +endif +ifeq ($(STATS),1) +PROGRAM_OPTIONS += DEBUG +DEFINE += -DSTATS endif # PROGRAM_BUILD is a complete identification of the build @@ -86,15 +52,8 @@ PROGRAM_BUILD = `date` $(USER) #PROGRAM_BUILD = `date` $(USER)@`hostname` # DEFINE will contain some of the constants definitions decided in Makefile, -# including ARCH_xx and SYS_xx. It will be passed to C compiler. -DEFINE += -DARCH_$(shell echo $(ARCH) | cut -f1 -d' ') -DEFINE += -DSYS_$(SYS) -DEFINE += -DPLUGIN_PATH="\"$(PREFIX)/lib/videolan/vlc\"" -#DEFINE += -DPROGRAM_OPTIONS="\"$(shell echo $(PROGRAM_OPTIONS) | tr 'A-Z' 'a-z')\"" -#DEFINE += -DPROGRAM_BUILD="\"$(PROGRAM_BUILD)\"" -ifeq ($(DEBUG),1) -DEFINE += -DDEBUG -endif +# including SYS_xx. It will be passed to C compiler. +DEFINE += -DSYS_$(shell echo $(SYS) | sed 's/-.*//' | tr a-z. A-Z_) ################################################################################ # Tuning and other variables - do not change anything except if you know @@ -109,65 +68,88 @@ INCLUDE += -Iinclude -I/usr/local/include -I/usr/X11R6/include # # Libraries # - -ifeq ($(SYS),GNU) +ifeq ($(SYS),gnu) LIB += -lthreads -ldl endif -ifeq ($(SYS),BSD) +ifneq (,$(findstring bsd,$(SYS))) LIB += -pthread -lgnugetopt LIB += -L/usr/local/lib endif -ifeq ($(SYS),LINUX) +ifneq (,$(findstring linux,$(SYS))) LIB += -lpthread -ldl endif -ifeq ($SYS),BEOS) -LIB += -llibroot -llibgame -llibbe +ifneq (,$(findstring solaris,$(SYS))) +LIB += -ldl -lsocket -lnsl -lpthread endif +ifeq ($(SYS),beos) +LIB += -lbe -lroot -lgame +else LIB += -lm +endif # -# C compiler flags: compilation +# C compiler flags: mainstream compilation # -CCFLAGS += $(DEFINE) $(INCLUDE) -CCFLAGS += -Wall -CCFLAGS += -D_REENTRANT -CCFLAGS += -D_GNU_SOURCE +CFLAGS += $(DEFINE) $(INCLUDE) +CFLAGS += -Wall -Winline +CFLAGS += -D_REENTRANT +CFLAGS += -D_GNU_SOURCE + +# flags needed for clean beos compilation +ifeq ($(SYS),beos) +CFLAGS += -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual +endif # Optimizations : don't compile debug versions with them -CCFLAGS += -O6 -CCFLAGS += -ffast-math -funroll-loops -fargument-noalias-global -CCFLAGS += -fomit-frame-pointer +ifeq ($(OPTIMS),1) +CFLAGS += -O6 +CFLAGS += -ffast-math -funroll-loops -funroll-all-loops +CFLAGS += -fomit-frame-pointer +CFLAGS += @BIZARRE_OPTIMS@ # Optimizations for x86 familiy -ifneq (,$(findstring X86,$(ARCH))) -CCFLAGS += -malign-double -#CCFLAGS += -march=pentium -# Eventual Pentium Pro optimizations -ifneq (,$(findstring PPRO,$(ARCH))) -ifneq ($(SYS), BSD) -CCFLAGS += -march=pentiumpro -endif -endif -# Eventual MMX optimizations for x86 -ifneq (,$(findstring MMX,$(ARCH))) -CFLAGS += -DHAVE_MMX +ifneq (,$(findstring 86,$(ARCH))) +CFLAGS += -malign-double +# Optional Pentium Pro optimizations +ifneq (,$(findstring ppro,$(ARCH))) +CFLAGS += -march=pentiumpro -mcpu=pentiumpro +else +CFLAGS += -march=pentium -mcpu=pentium endif endif # Optimizations for PowerPC -ifneq (,$(findstring PPC,$(ARCH))) -CCFLAGS += -mcpu=604e -mmultiple -mhard-float -mstring +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 endif # Optimizations for Sparc -ifneq (,$(findstring SPARC,$(ARCH))) -CCFLAGS += -mhard-float +ifneq (,$(findstring sparc,$(ARCH))) +CFLAGS += -mhard-float +endif + +#end of optimisations +endif + +# Optional MMX optimizations for x86 +ifneq (,$(findstring mmx,$(ARCH))) +CFLAGS += -DHAVE_MMX endif +# +# C compiler flags: plugin compilation +# +PCFLAGS += -fPIC + # # C compiler flags: dependancies # @@ -182,13 +164,10 @@ LCFLAGS += -Wall #LCFLAGS += -s # -# Additionnal debugging flags +# Debugging and profiling support (unless optimisations are active) # - -# Debugging support -ifeq ($(DEBUG),1) +ifneq ($(OPTIMS),1) CFLAGS += -g -#CFLAGS += -pg endif ################################################################################# @@ -198,123 +177,225 @@ endif # # C Objects # -interface_obj = interface/main.o \ - interface/interface.o \ - interface/intf_msg.o \ - interface/intf_cmd.o \ - interface/intf_ctrl.o \ - interface/intf_console.o - -input_obj = input/input_vlan.o \ - input/input_file.o \ - input/input_netlist.o \ - input/input_network.o \ - input/input_ctrl.o \ - input/input_pcr.o \ - input/input_psi.o \ - input/input.o - -audio_output_obj = audio_output/audio_output.o - -video_output_obj = video_output/video_output.o \ - video_output/video_text.o \ - video_output/video_yuv.o - -ac3_decoder_obj = ac3_decoder/ac3_decoder_thread.o \ - ac3_decoder/ac3_decoder.o \ - ac3_decoder/ac3_parse.o \ - ac3_decoder/ac3_exponent.o \ - ac3_decoder/ac3_bit_allocate.o \ - ac3_decoder/ac3_mantissa.o \ - ac3_decoder/ac3_rematrix.o \ - ac3_decoder/ac3_imdct.o \ - ac3_decoder/ac3_downmix.o - -audio_decoder_obj = audio_decoder/audio_decoder_thread.o \ - audio_decoder/audio_decoder.o \ - audio_decoder/audio_math.o - -spu_decoder_obj = spu_decoder/spu_decoder.o - -#??generic_decoder_obj = generic_decoder/generic_decoder.o -# remeber to add it to OBJ - -ifeq ($(DECODER),old) -CFLAGS += -DOLD_DECODER -video_decoder_obj = video_decoder_ref/video_decoder.o \ - video_decoder_ref/display.o \ - video_decoder_ref/getblk.o \ - video_decoder_ref/gethdr.o \ - video_decoder_ref/getpic.o \ - video_decoder_ref/getvlc.o \ - video_decoder_ref/idct.o \ - video_decoder_ref/motion.o \ - video_decoder_ref/mpeg2dec.o \ - video_decoder_ref/recon.o \ - video_decoder_ref/spatscal.o -else -video_parser_obj = video_parser/video_parser.o \ - video_parser/vpar_headers.o \ - video_parser/vpar_blocks.o \ - video_parser/vpar_synchro.o \ - video_parser/video_fifo.o - -video_decoder_obj = video_decoder/video_decoder.o \ - video_decoder/vdec_motion.o \ - video_decoder/vdec_motion_inner.o \ - video_decoder/vdec_idct.o -endif +INTERFACE = src/interface/main.o \ + src/interface/interface.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/input/input_dec.o \ + src/input/input_programs.o \ + src/input/input_netlist.o \ + src/input/input.o + +AUDIO_OUTPUT = src/audio_output/audio_output.o + +VIDEO_OUTPUT = src/video_output/video_output.o \ + src/video_output/video_text.o \ + src/video_output/video_spu.o \ + src/video_output/video_yuv.o + +AC3_DECODER = src/ac3_decoder/ac3_decoder_thread.o \ + src/ac3_decoder/ac3_decoder.o \ + src/ac3_decoder/ac3_parse.o \ + src/ac3_decoder/ac3_exponent.o \ + src/ac3_decoder/ac3_bit_allocate.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 + +LPCM_DECODER = src/lpcm_decoder/lpcm_decoder_thread.o \ + src/lpcm_decoder/lpcm_decoder.o + +AUDIO_DECODER = src/audio_decoder/audio_decoder.o \ + src/audio_decoder/adec_generic.o \ + src/audio_decoder/adec_layer1.o \ + src/audio_decoder/adec_layer2.o \ + src/audio_decoder/adec_math.o + +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 + +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 + + +C_OBJ = $(INTERFACE) \ + $(INPUT) \ + $(VIDEO_OUTPUT) \ + $(AUDIO_OUTPUT) \ + $(AC3_DECODER) \ + $(LPCM_DECODER) \ + $(AUDIO_DECODER) \ + $(SPU_DECODER) \ + $(GEN_DECODER) \ + $(VIDEO_PARSER) \ + $(VIDEO_DECODER) \ + $(MISC) -misc_obj = misc/mtime.o \ - misc/rsc_files.o \ - misc/netutils.o \ - misc/plugins.o \ - misc/decoder_fifo.o - -C_OBJ = $(interface_obj) \ - $(input_obj) \ - $(audio_output_obj) \ - $(video_output_obj) \ - $(ac3_decoder_obj) \ - $(audio_decoder_obj) \ - $(spu_decoder_obj) \ - $(generic_decoder_obj) \ - $(video_parser_obj) \ - $(video_decoder_obj) \ - $(vlan_obj) \ - $(misc_obj) # -# Assembler Objects +# CPP Objects # -ifneq (,$(findstring X86,$(ARCH))) -ifneq (,$(findstring MMX,$(ARCH))) -ifeq ($(DECODER),new) -ASM_OBJ = video_decoder/vdec_idctmmx.o \ - video_output/video_yuv_mmx.o -else -ASM_OBJ = video_decoder_ref/vdec_idctmmx.o \ - video_output/video_yuv_mmx.o +ifeq ($(SYS),beos) +CPP_OBJ = src/misc/beos_specific.o endif + +# +# Assembler Objects +# +ifneq (,$(findstring 86,$(ARCH))) +ifneq (,$(findstring mmx,$(ARCH))) +ASM_OBJ = +STD_PLUGIN_ASM = endif endif # # Plugins # -intf_plugin = $(INTF:%=plugins/intf/intf_%.so) -aout_plugin = $(AOUT:%=plugins/aout/aout_%.so) -vout_plugin = $(VOUT:%=plugins/vout/vout_%.so) - -PLUGIN_OBJ = $(intf_plugin) $(aout_plugin) $(vout_plugin) +PLUGIN_BEOS = plugins/beos/beos.o \ + plugins/beos/aout_beos.o \ + plugins/beos/intf_beos.o \ + plugins/beos/vout_beos.o + +PLUGIN_DSP = plugins/dsp/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_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/aout_sdl.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 + +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_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 + +PLUGIN_MOTION = plugins/motion/motion.o \ + plugins/motion/vdec_motion_common.o \ + plugins/motion/vdec_motion_inner.o + +PLUGIN_MOTIONMMX = plugins/motion/motionmmx.o \ + plugins/motion/vdec_motion_common.o \ + plugins/motion/vdec_motion_inner_mmx.o + +PLUGIN_MOTIONMMXEXT = plugins/motion/motionmmxext.o \ + plugins/motion/vdec_motion_common.o \ + plugins/motion/vdec_motion_inner_mmxext.o + +PLUGIN_IDCT = plugins/idct/idct.o \ + plugins/idct/idct_common.o + +PLUGIN_IDCTCLASSIC = plugins/idct/idctclassic.o \ + plugins/idct/idct_common.o + +PLUGIN_IDCTMMX = plugins/idct/idctmmx.o \ + plugins/idct/idct_common.o + +PLUGIN_IDCTMMXEXT = plugins/idct/idctmmxext.o \ + plugins/idct/idct_common.o + +PLUGIN_ALSA = plugins/alsa/alsa.o \ + plugins/alsa/aout_alsa.o + +STD_PLUGIN_OBJ =$(PLUGIN_BEOS) \ + $(PLUGIN_DSP) \ + $(PLUGIN_DUMMY) \ + $(PLUGIN_ESD) \ + $(PLUGIN_FB) \ + $(PLUGIN_GGI) \ + $(PLUGIN_MGA) \ + $(PLUGIN_X11) \ + $(PLUGIN_YUV) \ + $(PLUGIN_YUVMMX) \ + $(PLUGIN_MOTION) \ + $(PLUGIN_MOTIONMMX) \ + $(PLUGIN_MOTIONMMXEXT) \ + $(PLUGIN_IDCT) \ + $(PLUGIN_IDCTCLASSIC) \ + $(PLUGIN_IDCTMMX) \ + $(PLUGIN_IDCTMMXEXT) \ + $(PLUGIN_SDL) \ + $(PLUGIN_ALSA) \ + $(PLUGIN_NULL) + +# list duplicates +STD_PLUGIN_COMMON = plugins/idct/idct_common.o \ + plugins/motion/vdec_motion_common.o + +# filter out duplicates from the plugin object lists +STD_PLUGIN_OBJ := $(filter-out $(STD_PLUGIN_COMMON) $(STD_PLUGIN_ASM), \ + $(STD_PLUGIN_OBJ)) $(STD_PLUGIN_COMMON) # # Other lists of files # -C_OBJ := $(C_OBJ:%.o=src/%.o) -ASM_OBJ := $(ASM_OBJ:%.o=src/%.o) -sources := $(C_OBJ:%.o=%.c) $(PLUGIN_OBJ:%.so=%.c) -dependancies := $(sources:%.c=.dep/%.d) +objects := $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ) $(STD_PLUGIN_ASM) +dependancies := $(objects:%.o=.dep/%.d) # All symbols must be exported export @@ -326,36 +407,67 @@ export # # Virtual targets # -all: vlc +all: vlc @ALIASES@ plugins clean: - rm -f $(C_OBJ) $(ASM_OBJ) $(PLUGIN_OBJ) + rm -f $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ) + rm -f plugins/*/*.o src/*/*.o lib/*.so + rm -f vlc @ALIASES@ distclean: clean - rm -f **/*.o **/*.so **/*~ *.log - rm -f Makefile include/defs.h config.cache config.log - rm -f vlc gmon.out core + rm -f src/*/*.o plugins/*/*.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 install: - $(INSTALL) vlc $(PREFIX)/bin - mkdir -p $(PREFIX)/lib/videolan/vlc - $(INSTALL) $(PLUGIN_OBJ) $(PREFIX)/lib/videolan/vlc + mkdir -p $(prefix)/bin + $(INSTALL) vlc $(prefix)/bin +# 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 show: - @echo "Command line for C objects:" - @echo $(CC) $(CCFLAGS) $(CFLAGS) -c -o "" "" - @echo - @echo "Command line for assembler objects:" - @echo $(CC) $(CFLAGS) -c -o "" "" + @echo CC: $(CC) + @echo CFLAGS: $(CFLAGS) + @echo DCFLAGS: $(DCFLAGS) + @echo LCFLAGS: $(LCFLAGS) + @echo STD_PLUGIN_OBJ: $(STD_PLUGIN_OBJ) + +# 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]" + +plugins: $(PLUGINS:%=lib/%.so) FORCE: # -# Real targets +# Gnome and Framebuffer aliases - don't add new aliases which could bloat +# the namespace # -vlc: $(C_OBJ) $(ASM_OBJ) $(PLUGIN_OBJ) - $(CC) $(CCFLAGS) $(LCFLAGS) $(CFLAGS) --export-dynamic -rdynamic -o $@ $(C_OBJ) $(ASM_OBJ) +gvlc fbvlc: vlc + rm -f $@ && ln -s vlc $@ + # # Generic rules (see below) @@ -366,64 +478,153 @@ $(dependancies): %.d: FORCE $(C_OBJ): %.o: Makefile.dep $(C_OBJ): %.o: .dep/%.d $(C_OBJ): %.o: %.c - @echo "compiling $*.o from $*.c" - @$(CC) $(CCFLAGS) $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< + +$(CPP_OBJ): %.o: %.cpp + $(CC) $(CFLAGS) -c -o $@ $< $(ASM_OBJ): %.o: Makefile.dep $(ASM_OBJ): %.o: %.S - @echo "assembling $*.o from $*.S" - @$(CC) $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< -$(PLUGIN_OBJ): %.so: Makefile.dep -$(PLUGIN_OBJ): %.so: .dep/%.d +$(STD_PLUGIN_OBJ): %.o: Makefile.dep +$(STD_PLUGIN_OBJ): %.o: .dep/%.d +$(STD_PLUGIN_OBJ): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $< -# audio plugins -plugins/aout/aout_dummy.so plugins/aout/aout_dsp.so: %.so: %.c - @echo "compiling $*.so from $*.c" -ifeq ($(SYS), BEOS) - @$(CC) $(CCFLAGS) $(CFLAGS) -nostart -o $@ $< +$(STD_PLUGIN_ASM): %.o: Makefile.dep +$(STD_PLUGIN_ASM): %.o: %.S + $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $< + +$(PLUGIN_GNOME): %.o: Makefile.dep +$(PLUGIN_GNOME): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) `gnome-config --cflags gnomeui` -c -o $@ $< + +$(PLUGIN_GLIDE): %.o: Makefile.dep +$(PLUGIN_GLIDE): %.o: %.c + $(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/glide -c -o $@ $< + +# +# Main application target +# + +vlc: $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) +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) $(CCFLAGS) $(CFLAGS) -shared -o $@ $< + $(CC) $(CFLAGS) $(LCFLAGS) --export-dynamic @DYNAMIC_FLAG@ -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) endif -plugins/aout/aout_esd.so: %.so: %.c - @echo "compiling $*.so from $*.c" -ifeq ($(SYS), BSD) - @$(CC) $(CCFLAGS) $(CFLAGS) -lesd -shared -o $@ $< +# +# Plugin targets +# + +lib/beos.so: $(PLUGIN_BEOS) + $(CC) $(PCFLAGS) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/esd.so: $(PLUGIN_ESD) +ifneq (,$(findstring bsd,$(SYS))) + $(CC) $(PCFLAGS) -shared -o $@ $^ -lesd else - @$(CC) $(CCFLAGS) $(CFLAGS) -laudiofile -lesd -shared -o $@ $< + $(CC) $(PCFLAGS) -shared -o $@ $^ -laudiofile -lesd endif -# video plugins -plugins/intf/intf_dummy.so plugins/vout/vout_dummy.so \ - plugins/intf/intf_fb.so plugins/vout/vout_fb.so: %.so: %.c - @echo "compiling $*.so from $*.c" -ifeq ($(SYS), BEOS) - @$(CC) $(CCFLAGS) $(CFLAGS) -nostart -o $@ $< +lib/dsp.so: $(PLUGIN_DSP) + $(CC) $(PCFLAGS) -shared -o $@ $^ + +lib/alsa.so: $(PLUGIN_ALSA) + $(CC) $(PCFLAGS) -shared -o $@ $^ -lasound + +lib/fb.so: $(PLUGIN_FB) + $(CC) $(PCFLAGS) -shared -o $@ $^ + +lib/x11.so: $(PLUGIN_X11) + $(CC) $(PCFLAGS) -shared -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext + +lib/mga.so: $(PLUGIN_MGA) + $(CC) $(PCFLAGS) -shared -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext + +lib/gnome.so: $(PLUGIN_GNOME) + $(CC) $(PCFLAGS) -shared -o $@ $^ `gnome-config --libs gnomeui | sed 's,-rdynamic,,'` + +lib/glide.so: $(PLUGIN_GLIDE) + $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_GLIDE) + +lib/ggi.so: $(PLUGIN_GGI) + $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_GGI) + +lib/sdl.so: $(PLUGIN_SDL) + $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_SDL) + +ifeq ($(SYS),beos) +lib/null.so: $(PLUGIN_NULL) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/dummy.so: $(PLUGIN_DUMMY) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/yuv.so: $(PLUGIN_YUV) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/yuvmmx.so: $(PLUGIN_YUVMMX) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/motion.so: $(PLUGIN_MOTION) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/motionmmx.so: $(PLUGIN_MOTIONMMX) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/idct.so: $(PLUGIN_IDCT) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/idctmmx.so: $(PLUGIN_IDCTMMX) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ + +lib/idctmmxext.so: $(PLUGIN_IDCTMMXEXT) + $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ else - @$(CC) $(CCFLAGS) $(CFLAGS) -shared -o $@ $< -endif +lib/null.so: $(PLUGIN_NULL) + $(CC) $(PCFLAGS) -shared -o $@ $^ + +lib/dummy.so: $(PLUGIN_DUMMY) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_x11.so plugins/vout/vout_x11.so: %.so: %.c - @echo "compiling $*.so from $*.c" - @$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $< +lib/yuv.so: $(PLUGIN_YUV) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_gnome.so: %.so: %.c - @echo "compiling $*.so from $*.c" - @$(CC) $(CCFLAGS) $(CFLAGS) $(LCFLAGS) `gnome-config --libs --cflags gnomeui` -shared -o $@ $< plugins/intf/intf_gnome_callbacks.c plugins/intf/intf_gnome_interface.c plugins/intf/intf_gnome_support.c +lib/yuvmmx.so: $(PLUGIN_YUVMMX) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/vout/vout_gnome.so: %.so: %.c - @echo "compiling $*.so from $*.c" - @$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $< +lib/motion.so: $(PLUGIN_MOTION) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_glide.so plugins/vout/vout_glide.so: %.so: %.c - @echo "compiling $*.so from $*.c" - @$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/include/glide -lglide2x -shared -o $@ $< +lib/motionmmx.so: $(PLUGIN_MOTIONMMX) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_ggi.so plugins/vout/vout_ggi.so: %.so: %.c - @echo "compiling $*.so from $*.c" - @$(CC) $(CCFLAGS) $(CFLAGS) -lggi -shared -o $@ $< +lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) + $(CC) $(PCFLAGS) -shared -o $@ $^ +lib/idct.so: $(PLUGIN_IDCT) + $(CC) $(PCFLAGS) -shared -o $@ $^ + +lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) + $(CC) $(PCFLAGS) -shared -o $@ $^ + +lib/idctmmx.so: $(PLUGIN_IDCTMMX) + $(CC) $(PCFLAGS) -shared -o $@ $^ + +lib/idctmmxext.so: $(PLUGIN_IDCTMMXEXT) + $(CC) $(PCFLAGS) -shared -o $@ $^ +endif ################################################################################ # Note on generic rules and dependancies