# 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)
-PROGRAM_BUILD = `date` $(USER)
+ifeq ($(SYS),beos)
# XXX: beos does not support hostname (how lame...)
-#PROGRAM_BUILD = `date` $(USER)@`hostname`
+PROGRAM_BUILD = `date` $(USER)
+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.
#
# 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
-
-ifneq (,$(findstring darwin,$(SYS)))
-LIB += -ldl
-endif
+LIB = @LIB@ -L/usr/local/lib
ifeq ($(SYS),beos)
LIB += -lbe -lroot -lgame
#
# C compiler flags: linking
#
-LCFLAGS += $(LIB)
+LCFLAGS += @LCFLAGS@ $(LIB)
LCFLAGS += -Wall
#LCFLAGS += -s
ifneq (,$(findstring darwin,$(SYS)))
LCFLAGS += -dyn
else
-LCFLAGS += --export-dynamic @DYNAMIC_FLAG@
+LCFLAGS += --export-dynamic
endif
endif
endif
src/misc/modules.o \
src/misc/netutils.o
-
C_OBJ = $(INTERFACE) \
$(INPUT) \
$(VIDEO_OUTPUT) \
$(GEN_DECODER) \
$(VIDEO_PARSER) \
$(VIDEO_DECODER) \
- $(MISC)
+ $(MISC) \
+ @GETOPT@
#
plugins/beos/DrawingTidbits.o \
plugins/beos/TransportButton.o
-PLUGIN_DARWIN = plugins/darwin/darwin.o \
- plugins/darwin/aout_darwin.o
+PLUGIN_DARWIN = plugins/darwin/darwin.o
PLUGIN_DSP = plugins/dsp/dsp.o \
plugins/dsp/aout_dsp.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 \
$(PLUGIN_IDCTMMX) \
$(PLUGIN_IDCTMMXEXT) \
$(PLUGIN_IDCTCOMMON) \
- $(PLUGIN_MACOSX) \
$(PLUGIN_MGA) \
$(PLUGIN_MOTION) \
$(PLUGIN_MOTIONMMX) \
$(PLUGIN_GLIDE) \
$(PLUGIN_GTK) \
$(PLUGIN_GNOME) \
+ $(PLUGIN_MACOSX) \
$(PLUGIN_IDCTALTIVEC)
NONSTD_CPP_PLUGIN_OBJ = \
clean:
rm -f $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ)
- rm -f plugins/*/*.o src/*/*.o lib/*.so
- rm -f vlc gvlc kvlc qvlc
+ 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 $(DESTDIR)$(bindir)
$(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)
# 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 | 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
+ 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.1 vlc.dirs \
+ 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 \
mv /tmp/vlc-@VLC_VERSION@.tar.gz /tmp/vlc-@VLC_VERSION@.tar.bz2 ..
# clean up
- rm -rf /tmp/vlc-@VLC_VERSION@*
+ rm -Rf /tmp/vlc-@VLC_VERSION@*
plugins: $(PLUGINS:%=lib/%.so)
$(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
$(PLUGIN_IDCTALTIVEC): %.o: Makefile.dep
$(PLUGIN_IDCTALTIVEC): %.o: .dep/%.d
$(PLUGIN_IDCTALTIVEC): %.o: %.c
- $(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $< -faltivec
+ $(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
ln -s ../vlc ./plugins/_APP_
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
#
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -lkdeui -lkdecore -lqt -ldl
lib/macosx.so: $(PLUGIN_MACOSX)
- $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
+ $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework CoreAudio -framework Carbon -framework AGL
lib/mga.so: $(PLUGIN_MGA)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext
$(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)
-ifeq ($(SYS),darwin)
+ifneq (,$(findstring darwin,$(SYS)))
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -framework AGL -framework Carbon
else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)