X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.in;h=6925139d08b87e09ad1198c56642c48870bec34e;hb=647cca0ebb2e897a570018ba80483bb81a7d90c6;hp=22991ccc3947ccc08cfc82faff0fc71f6633e3ca;hpb=0eba28c2c9f2b84a54d42103226ab74e69434020;p=vlc diff --git a/Makefile.in b/Makefile.in index 22991ccc39..6925139d08 100644 --- a/Makefile.in +++ b/Makefile.in @@ -10,16 +10,22 @@ ################################################################################ # Debugging mode on or off (set to 1 to activate) -DEBUG=0 +DEBUG=@DEBUG@ +STATS=@STATS@ +OPTIMS=@OPTIMS@ SYS=@SYS@ -ARCH=@ARCH@ -AOUT=@AOUT@ -VOUT=@VOUT@ -INTF=@VOUT@ +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 ---------------------- @@ -31,6 +37,11 @@ prefix=@prefix@ 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 @@ -42,14 +53,7 @@ PROGRAM_BUILD = `date` $(USER) # 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 += -DPLUGIN_PATH="\"$(prefix)/lib/videolan/vlc\"" -DEFINE += -DDATA_PATH="\"$(prefix)/share/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 +DEFINE += -DSYS_$(shell echo $(SYS) | sed 's/-.*//' | tr a-z. A-Z_) ################################################################################ # Tuning and other variables - do not change anything except if you know @@ -64,7 +68,6 @@ INCLUDE += -Iinclude -I/usr/local/include -I/usr/X11R6/include # # Libraries # - ifeq ($(SYS),gnu) LIB += -lthreads -ldl endif @@ -78,6 +81,10 @@ ifneq (,$(findstring linux,$(SYS))) LIB += -lpthread -ldl endif +ifneq (,$(findstring solaris,$(SYS))) +LIB += -ldl -lsocket -lnsl -lpthread +endif + ifeq ($(SYS),beos) LIB += -lbe -lroot -lgame else @@ -85,47 +92,64 @@ 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 -CCFLAGS += -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual +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 86,$(ARCH))) -CCFLAGS += -malign-double -#CCFLAGS += -march=pentium -# Eventual Pentium Pro optimizations -ifneq (,$(findstring pentiumpro,$(ARCH))) -ifneq ($(SYS), BSD) -CCFLAGS += -march=pentiumpro -endif -endif -# Eventual MMX optimizations for x86 -ifneq (,$(findstring mmx,$(ARCH))) -CFLAGS += -DHAVE_MMX +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 +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 # @@ -140,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 ################################################################################# @@ -156,85 +177,90 @@ 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_spu.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 - -lpcm_decoder_obj = lpcm_decoder/lpcm_decoder_thread.o \ - lpcm_decoder/lpcm_decoder.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 - -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 - -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) \ - $(lpcm_decoder_obj) \ - $(audio_decoder_obj) \ - $(spu_decoder_obj) \ - $(generic_decoder_obj) \ - $(video_parser_obj) \ - $(video_decoder_obj) \ - $(vlan_obj) \ - $(misc_obj) +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) + +# +# CPP Objects +# ifeq ($(SYS),beos) -CPP_OBJ = misc/beos_specific.o +CPP_OBJ = src/misc/beos_specific.o endif # @@ -242,28 +268,134 @@ endif # ifneq (,$(findstring 86,$(ARCH))) ifneq (,$(findstring mmx,$(ARCH))) -ASM_OBJ = video_decoder/vdec_idctmmx.o \ - video_output/video_yuv_mmx.o +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) -CPP_OBJ := $(CPP_OBJ:%.o=src/%.o) -ASM_OBJ := $(ASM_OBJ:%.o=src/%.o) -sources_c := $(C_OBJ:%.o=%.c) -dependancies := $(sources_c:%.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 @@ -275,31 +407,37 @@ export # # Virtual targets # -all: vlc plugins +all: vlc @ALIASES@ plugins clean: - rm -f $(C_OBJ) $(CPP_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 src/*/*.o plugins/*/*.o **/*~ *.log rm -f Makefile include/defs.h include/config.h rm -f config.status config.cache config.log - rm -f vlc gmon.out core + rm -f gmon.out core build-stamp rm -rf .dep install: + 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) $(PLUGIN_OBJ) $(prefix)/lib/videolan/vlc - $(INSTALL) share/*.psf $(prefix)/share/videolan/vlc - $(INSTALL) share/*.png $(prefix)/share/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: @@ -310,26 +448,26 @@ snapshot: 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 czvf ${SNAPSHOTDIR}.tar.gz ${SNAPSHOTDIR} ; \ + tar cIvf ${SNAPSHOTDIR}.tar.bz2 ${SNAPSHOTDIR} ) rm -rf /tmp/${SNAPSHOTDIR} mv /tmp/${SNAPSHOTDIR}.tar.gz .. - @echo "Sources are in ../${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) $(CPP_OBJ) $(ASM_OBJ) -ifeq ($(SYS),beos) - $(CC) $(CCFLAGS) $(LCFLAGS) $(CFLAGS) -Xlinker -soname=_APP_ -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) -# ln -s ../vlc ./plugins/_APP_ -else - $(CC) $(CCFLAGS) $(LCFLAGS) $(CFLAGS) --export-dynamic -rdynamic -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) -endif +gvlc fbvlc: vlc + rm -f $@ && ln -s vlc $@ -plugins: $(PLUGIN_OBJ) # # Generic rules (see below) @@ -340,66 +478,153 @@ $(dependancies): %.d: FORCE $(C_OBJ): %.o: Makefile.dep $(C_OBJ): %.o: .dep/%.d $(C_OBJ): %.o: %.c - $(CC) $(CCFLAGS) $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< $(CPP_OBJ): %.o: %.cpp - $(CC) $(CCFLAGS) $(CFLAGS) -c -o $@ $< + $(CC) $(CFLAGS) -c -o $@ $< $(ASM_OBJ): %.o: Makefile.dep $(ASM_OBJ): %.o: %.S $(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 $@ $< + +$(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 $@ $< -# audio plugins -plugins/aout/aout_dummy.so plugins/aout/aout_dsp.so: %.so: %.c +$(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) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_ + $(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 +# +# 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) $(CCFLAGS) $(CFLAGS) -lesd -shared -o $@ $< + $(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 +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) - $(CC) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_ +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 - $(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_mga.so plugins/vout/vout_mga.so: %.so: %.c - $(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $< +lib/yuvmmx.so: $(PLUGIN_YUVMMX) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_gnome.so: %.so: %.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/motion.so: $(PLUGIN_MOTION) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/vout/vout_gnome.so: %.so: %.c - $(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $< +lib/motionmmx.so: $(PLUGIN_MOTIONMMX) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_glide.so plugins/vout/vout_glide.so: %.so: %.c - $(CC) $(CCFLAGS) $(CFLAGS) -I/usr/include/glide -lglide2x -shared -o $@ $< +lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_ggi.so plugins/vout/vout_ggi.so: %.so: %.c - $(CC) $(CCFLAGS) $(CFLAGS) -lggi -shared -o $@ $< +lib/idct.so: $(PLUGIN_IDCT) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/intf/intf_beos.so: %.so: %.cpp - $(CC) $(LCFLAGS) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_ +lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC) + $(CC) $(PCFLAGS) -shared -o $@ $^ -plugins/vout/vout_beos.so: %.so: %.cpp - $(CC) $(LCFLAGS) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_ - +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