]> git.sesse.net Git - vlc/blobdiff - Makefile.in
* vlc core compiles under QNX RTOS. Now if anyone feels like tidying
[vlc] / Makefile.in
index 9e9ac774e8ce0d0672b5f147525cea7b3afb6fad..ebd22f22344d675859b1fad29977248626b7d3da 100644 (file)
@@ -18,7 +18,13 @@ SYS=@SYS@
 PLUGINS=@PLUGINS@
 INSTALL=@INSTALL@
 ARCH=@ARCH@
+
+exec_prefix=@exec_prefix@
 prefix=@prefix@
+bindir=@bindir@
+datadir=@datadir@
+libdir=@libdir@
+
 CC=@CC@
 SHELL=@SHELL@
 
@@ -52,7 +58,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 += -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)))
@@ -67,7 +73,7 @@ endif
 #
 # C headers directories
 #
-INCLUDE += -Iinclude -I/usr/local/include -I/usr/X11R6/include
+INCLUDE += -Iinclude -I/usr/local/include
 
 #
 # Libraries
@@ -89,6 +95,10 @@ ifneq (,$(findstring solaris,$(SYS)))
 LIB += -ldl -lsocket -lnsl -lpthread
 endif
 
+ifneq (,$(findstring darwin,$(SYS)))
+LIB += -ldl -dyn
+endif
+
 ifeq ($(SYS),beos)
 LIB += -lbe -lroot -lgame
 else
@@ -108,6 +118,10 @@ 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 += -O3
@@ -126,12 +140,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,7 +159,12 @@ endif
 #
 # C compiler flags: plugin compilation
 #
+ifneq (,$(findstring darwin,$(SYS)))
+PCFLAGS += -bundle -undefined suppress
+else
 PCFLAGS += -fPIC
+PLCFLAGS += -shared
+endif
 
 #
 # C compiler flags: dependancies
@@ -184,9 +198,10 @@ INTERFACE =        src/interface/main.o \
                src/interface/intf_msg.o \
                src/interface/intf_cmd.o \
                src/interface/intf_ctrl.o \
-               src/interface/intf_plst.o \
+               src/interface/intf_playlist.o \
                src/interface/intf_channels.o \
-               src/interface/intf_console.o
+               src/interface/intf_console.o \
+               src/interface/intf_urldecode.o \
 
 INPUT =                src/input/input_ext-dec.o \
                src/input/input_ext-intf.o \
@@ -212,7 +227,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
@@ -281,7 +297,12 @@ PLUGIN_ALSA =      plugins/alsa/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 \
+               plugins/darwin/aout_darwin.o
 
 PLUGIN_DSP =   plugins/dsp/dsp.o \
                plugins/dsp/aout_dsp.o
@@ -293,31 +314,43 @@ PLUGIN_DUMMY =    plugins/dummy/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
+               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_GLIDE = plugins/glide/glide.o \
-               plugins/glide/intf_glide.o \
                plugins/glide/vout_glide.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_GNOME = plugins/gnome/gnome.o \
                plugins/gnome/intf_gnome.o \
                plugins/gnome/gnome_callbacks.o \
                plugins/gnome/gnome_interface.o \
                plugins/gnome/gnome_support.o
 
+PLUGIN_QT =    plugins/qt/qt.o \
+               plugins/qt/intf_qt.o
+
+PLUGIN_KDE =   plugins/kde/kde.o \
+               plugins/kde/intf_kde.o
+
 PLUGIN_IDCT =  plugins/idct/idct.o \
                plugins/idct/idct_common.o
 
@@ -330,8 +363,11 @@ PLUGIN_IDCTMMX =   plugins/idct/idctmmx.o \
 PLUGIN_IDCTMMXEXT =    plugins/idct/idctmmxext.o \
                        plugins/idct/idct_common.o
 
+PLUGIN_MACOSX =        plugins/macosx/macosx.o \
+               plugins/macosx/intf_macosx.o \
+               plugins/macosx/vout_macosx.o
+
 PLUGIN_MGA =   plugins/mga/mga.o \
-               plugins/mga/intf_mga.o \
                plugins/mga/vout_mga.o
 
 PLUGIN_MOTION =        plugins/motion/motion.o \
@@ -374,6 +410,7 @@ PLUGIN_YUVMMX =     plugins/yuv/yuvmmx.o \
 
 STD_PLUGIN_OBJ = \
                $(PLUGIN_ALSA) \
+               $(PLUGIN_DARWIN) \
                $(PLUGIN_DSP) \
                $(PLUGIN_DUMMY) \
                $(PLUGIN_DVD) \
@@ -384,6 +421,7 @@ STD_PLUGIN_OBJ = \
                $(PLUGIN_IDCTCLASSIC) \
                $(PLUGIN_IDCTMMX) \
                $(PLUGIN_IDCTMMXEXT) \
+               $(PLUGIN_MACOSX) \
                $(PLUGIN_MGA) \
                $(PLUGIN_MOTION) \
                $(PLUGIN_MOTIONMMX) \
@@ -393,7 +431,6 @@ STD_PLUGIN_OBJ = \
                $(PLUGIN_PS) \
                $(PLUGIN_SDL) \
                $(PLUGIN_TS) \
-               $(PLUGIN_X11) \
                $(PLUGIN_YUV) \
                $(PLUGIN_YUVMMX)
 
@@ -406,11 +443,15 @@ STD_PLUGIN_OBJ := $(filter-out $(STD_PLUGIN_COMMON), \
                                 $(STD_PLUGIN_OBJ)) $(STD_PLUGIN_COMMON)
 
 NONSTD_PLUGIN_OBJ = \
+               $(PLUGIN_X11) \
                $(PLUGIN_GLIDE) \
+               $(PLUGIN_GTK) \
                $(PLUGIN_GNOME)
 
 NONSTD_CPP_PLUGIN_OBJ = \
-               $(PLUGIN_BEOS)
+               $(PLUGIN_BEOS) \
+               $(PLUGIN_QT) \
+               $(PLUGIN_KDE)
 
 #
 # Other lists of files
@@ -435,7 +476,7 @@ all: vlc @ALIASES@ plugins
 clean:
        rm -f $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ)
        rm -f plugins/*/*.o src/*/*.o lib/*.so
-       rm -f vlc @ALIASES@
+       rm -f vlc gvlc kvlc qvlc
 
 distclean: clean
        rm -f src/*/*.o plugins/*/*.o **/*~ *.log
@@ -445,15 +486,16 @@ distclean: clean
        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
 
 show:
        @echo CC: $(CC)
@@ -470,17 +512,13 @@ show:
 
 # ugliest of all, but I have no time to do it -- sam
 snapshot:
-       rm -rf /tmp/vlc-@VLC_VERSION@ /tmp/vlc-@VLC_VERSION@nocss
+       rm -rf /tmp/vlc-@VLC_VERSION@* /tmp/vlc-@VLC_VERSION@nocss*
        # copy archive in /tmp
-       find -type d | while read i ; \
+       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 | grep -v CVS | \
+       find debian -mindepth 1 -maxdepth 1 -type d | \
                while read i ; do rm -rf /tmp/vlc-@VLC_VERSION@/$$i ; done
-       # CVS entries
-       find . -type f | grep CVS | while read i ; \
-               do cp $$i /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 ; \
@@ -490,11 +528,13 @@ snapshot:
                Makefile.in Makefile.dep configure configure.in install-sh \
                config.sub config.guess todo.pl \
                        /tmp/vlc-@VLC_VERSION@/
-       for file in control vlc-gnome.menu vlc.copyright vlc.docs changelog \
-               rules vlc.1 vlc.dirs vlc.menu ; do \
+       for file in control control-css vlc-gtk.menu vlc.copyright vlc.docs \
+               changelog changelog-css rules rules-css vlc.1 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 ; do \
-               cp share/$$file /tmp/vlc-@VLC_VERSION@/share/ ; 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@ ; \
@@ -503,29 +543,7 @@ snapshot:
                gzip -f -9 vlc-@VLC_VERSION@.tar )
        mv /tmp/vlc-@VLC_VERSION@.tar.gz /tmp/vlc-@VLC_VERSION@.tar.bz2 ..
 
-       # removing CSS stuff
-#      find /tmp/vlc-@VLC_VERSION@ -type f -name '*css*' | xargs rm -f
-#      for x in Makefile.in src/input/input_dvd.c src/input/input_dvd.h ; do \
-#      rm -f /tmp/vlc-@VLC_VERSION@/$$x ; \
-#      perl -ne 'if (/^#e(lse|ndif)/) { $$i=0; } \
-#                      if (/^#if.*DVD/) { $$i=1; print "#if 0\n"; } \
-#                      elsif (!$$i || /^#/) { print $$_; }' \
-#              < $$x | grep -vi css >| /tmp/vlc-@VLC_VERSION@/$$x ; \
-#      done
-#      rm -f /tmp/vlc-@VLC_VERSION@/debian/changelog
-#      sed 's/\(^vlc ([^-]*\)-/\1nocss-/' < debian/changelog \
-#              > /tmp/vlc-@VLC_VERSION@/debian/changelog
-#
-#      # build nocss archives
-#      (cd /tmp ; mv vlc-@VLC_VERSION@ vlc-@VLC_VERSION@nocss ; \
-#              tar cf vlc-@VLC_VERSION@nocss.tar vlc-@VLC_VERSION@nocss ; \
-#              bzip2 -f -9 < vlc-@VLC_VERSION@nocss.tar \
-#                      > vlc-@VLC_VERSION@nocss.tar.bz2 ; \
-#              gzip -f -9 vlc-@VLC_VERSION@nocss.tar )
-#      mv /tmp/vlc-@VLC_VERSION@nocss.tar.gz \
-#              /tmp/vlc-@VLC_VERSION@nocss.tar.bz2 ..
-#
-#      # clean up
+       # clean up
        rm -rf /tmp/vlc-@VLC_VERSION@*
 
 plugins: $(PLUGINS:%=lib/%.so)
@@ -533,10 +551,10 @@ 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 $@
 
 
@@ -568,16 +586,38 @@ $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
        $(CC) $(CFLAGS) $(PCFLAGS) -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 -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
@@ -592,53 +632,77 @@ 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
+ifeq ($(SYS),nto-qnx)
+       $(CC) $(CFLAGS) $(LCFLAGS) -Xlinker -export-dynamic -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ)
 else
        $(CC) $(CFLAGS) $(LCFLAGS) --export-dynamic @DYNAMIC_FLAG@ -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) 
 endif
+endif
 
 #
 # Plugin targets
 #
 
 lib/beos.so: $(PLUGIN_BEOS)
-       $(CC) $(PCFLAGS) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ -lbe -lgame -lroot
+       $(CC) $(PCFLAGS) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_ -lbe -lgame -lroot -ltracker
 
 lib/esd.so: $(PLUGIN_ESD)
 ifneq (,$(findstring bsd,$(SYS)))
-       $(CC) $(PCFLAGS) -shared -o $@ $^ -lesd
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -lesd
 else
-       $(CC) $(PCFLAGS) -shared -o $@ $^ -laudiofile -lesd
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -laudiofile -lesd
 endif
 
+lib/macosx.so: $(PLUGIN_MACOSX)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
+
+lib/darwin.so: $(PLUGIN_DARWIN)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
+
 lib/dsp.so: $(PLUGIN_DSP)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
+
+lib/qt.so: $(PLUGIN_QT)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -lqt
+
+lib/kde.so: $(PLUGIN_KDE)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -lkdeui -lkdecore -lqt -ldl
 
 lib/alsa.so: $(PLUGIN_ALSA)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ -lasound
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -lasound
 
 lib/fb.so: $(PLUGIN_FB)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
+ifeq ($(SYS),nto-qnx)
 lib/x11.so: $(PLUGIN_X11)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext -lsocket
+else
+lib/x11.so: $(PLUGIN_X11)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext
+endif
 
 lib/mga.so: $(PLUGIN_MGA)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -L/usr/X11R6/lib -lX11 -lXext
+
+lib/gtk.so: $(PLUGIN_GTK)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ `gtk-config --libs gtk | sed 's,-rdynamic,,'`
 
 lib/gnome.so: $(PLUGIN_GNOME)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ `gnome-config --libs gnomeui | sed 's,-rdynamic,,'`
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ `gnome-config --libs gnomeui | sed 's,-rdynamic,,'`
 
 lib/glide.so: $(PLUGIN_GLIDE)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_GLIDE)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ $(LIB_GLIDE)
 
 lib/ggi.so: $(PLUGIN_GGI)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_GGI)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ $(LIB_GGI)
 
 lib/sdl.so: $(PLUGIN_SDL)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ $(LIB_SDL)
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ $(LIB_SDL)
 
 lib/ncurses.so: $(PLUGIN_NCURSES)
-       $(CC) $(PCFLAGS) -shared -o $@ $^ -lcurses
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^ -lncurses
 
 ifeq ($(SYS),beos)
 lib/null.so: $(PLUGIN_NULL)
@@ -684,46 +748,46 @@ lib/idctmmxext.so: $(PLUGIN_IDCTMMXEXT)
        $(CC) -nostart -Xlinker -soname=$@ -o $@ $^ plugins/_APP_
 else
 lib/null.so: $(PLUGIN_NULL)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/ps.so: $(PLUGIN_PS)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/ts.so: $(PLUGIN_TS)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/dvd.so: $(PLUGIN_DVD)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/dummy.so: $(PLUGIN_DUMMY)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/yuv.so: $(PLUGIN_YUV)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/yuvmmx.so: $(PLUGIN_YUVMMX)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/motion.so: $(PLUGIN_MOTION)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/motionmmx.so: $(PLUGIN_MOTIONMMX)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/idct.so: $(PLUGIN_IDCT)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/idctclassic.so: $(PLUGIN_IDCTCLASSIC)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/idctmmx.so: $(PLUGIN_IDCTMMX)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 
 lib/idctmmxext.so: $(PLUGIN_IDCTMMXEXT)
-       $(CC) $(PCFLAGS) -shared -o $@ $^
+       $(CC) $(PCFLAGS) $(PLCFLAGS) -o $@ $^
 endif
 
 ################################################################################