mirror of
https://github.com/videolan/vlc.git
synced 2025-01-27 01:56:19 +08:00
338 lines
7.0 KiB
Makefile
338 lines
7.0 KiB
Makefile
###############################################################################
|
|
# vlc (VideoLAN Client) options Makefile
|
|
# (c)1998 VideoLAN
|
|
###############################################################################
|
|
|
|
HAVE_MAKEFILE_OPTS = 1
|
|
|
|
###############################################################################
|
|
# Configuration
|
|
###############################################################################
|
|
|
|
#
|
|
# Plugins to build
|
|
# WARNING: if you do not have a dynamic loader on your platform, remove
|
|
# the plugins in this line and put them as built-ins, otherwise your
|
|
# application won't be able to load them.
|
|
#
|
|
PLUGINS :=@PLUGINS@
|
|
|
|
#
|
|
# Built-in modules to build
|
|
# WARNING: do NOT put gtk and gnome together in this rule.
|
|
#
|
|
BUILTINS :=@BUILTINS@
|
|
|
|
#
|
|
# Additional build options
|
|
#
|
|
SYS = @SYS@
|
|
ALIASES =@ALIASES@
|
|
INSTALL = @INSTALL@
|
|
ARCH = @ARCH@
|
|
|
|
#
|
|
# Compilation options
|
|
#
|
|
DEBUG = @DEBUG@
|
|
CPROF = @CPROF@
|
|
GPROF = @GPROF@
|
|
OPTIMS = @OPTIMS@
|
|
TUNING = @TUNING@
|
|
RELEASE = @RELEASE@
|
|
|
|
#
|
|
# Build environment
|
|
#
|
|
CC = @CC@
|
|
CFLAGS = @CFLAGS@
|
|
SHELL = @SHELL@
|
|
RANLIB = @RANLIB@
|
|
WINDRES = @WINDRES@
|
|
MOC = @MOC@
|
|
DLL_PATH = @DLL_PATH@
|
|
|
|
#
|
|
# Installation environment
|
|
#
|
|
exec_prefix = @exec_prefix@
|
|
prefix = @prefix@
|
|
bindir = @bindir@
|
|
datadir = @datadir@
|
|
libdir = @libdir@
|
|
includedir = @includedir@
|
|
|
|
#
|
|
# Libraries for special cases
|
|
#
|
|
LIB_ALSA = @LIB_ALSA@
|
|
LIB_ARTS = @LIB_ARTS@
|
|
LIB_BEOS = @LIB_BEOS@
|
|
LIB_DARWIN = @LIB_DARWIN@
|
|
LIB_DIRECTX = @LIB_DIRECTX@
|
|
LIB_DSP = @LIB_DSP@
|
|
LIB_DVD = @LIB_DVD@
|
|
LIB_DVDREAD = @LIB_DVDREAD@
|
|
LIB_ESD = @LIB_ESD@
|
|
LIB_FILTER_DISTORT = @LIB_FILTER_DISTORT@
|
|
LIB_GGI = @LIB_GGI@
|
|
LIB_GLIDE = @LIB_GLIDE@
|
|
LIB_GNOME = @LIB_GNOME@
|
|
LIB_GTK = @LIB_GTK@
|
|
LIB_IDCTALTIVEC = @LIB_IDCTALTIVEC@
|
|
LIB_IMDCT = @LIB_IMDCT@
|
|
LIB_IMDCT3DN = @LIB_IMDCT3DN@
|
|
LIB_IMDCTSSE = @LIB_IMDCTSSE@
|
|
LIB_IPV4 = @LIB_IPV4@
|
|
LIB_IPV6 = @LIB_IPV6@
|
|
LIB_KDE = @LIB_KDE@
|
|
LIB_A52 = @LIB_A52@
|
|
LIB_LIBDVDCSS = @LIB_LIBDVDCSS@
|
|
LIB_LIBDVDREAD = @LIB_LIBDVDREAD@
|
|
LIB_LIRC = @LIB_LIRC@
|
|
LIB_MACOSX = @LIB_MACOSX@
|
|
LIB_MAD = @LIB_MAD@
|
|
LIB_MOTIONALTIVEC = @LIB_MOTIONALTIVEC@
|
|
LIB_MPEG_TS = @LIB_MPEG_TS@
|
|
LIB_NCURSES = @LIB_NCURSES@
|
|
LIB_QNX = @LIB_QNX@
|
|
LIB_QT = @LIB_QT@
|
|
LIB_RC = @LIB_RC@
|
|
LIB_SDL = @LIB_SDL@
|
|
LIB_VCD = @LIB_VCD@
|
|
LIB_WAVEOUT = @LIB_WAVEOUT@
|
|
LIB_WIN32 = @LIB_WIN32@
|
|
LIB_X11 = @LIB_X11@
|
|
LIB_XVIDEO = @LIB_XVIDEO@
|
|
|
|
#
|
|
# CFLAGS for special cases
|
|
#
|
|
CFLAGS_VLC = @CFLAGS_VLC@
|
|
CFLAGS_ARTS = @CFLAGS_ARTS@
|
|
CFLAGS_DVD = @CFLAGS_DVD@
|
|
CFLAGS_DVDREAD = @CFLAGS_DVDREAD@
|
|
CFLAGS_ESD = @CFLAGS_ESD@
|
|
CFLAGS_GLIDE = @CFLAGS_GLIDE@
|
|
CFLAGS_GNOME = @CFLAGS_GNOME@
|
|
CFLAGS_GTK = @CFLAGS_GTK@
|
|
CFLAGS_KDE = @CFLAGS_KDE@
|
|
CFLAGS_IDCTALTIVEC = @CFLAGS_IDCTALTIVEC@
|
|
CFLAGS_LIBDVDCSS = @CFLAGS_LIBDVDCSS@
|
|
CFLAGS_MACOSX = @CFLAGS_MACOSX@
|
|
CFLAGS_MAD = @CFLAGS_MAD@
|
|
CFLAGS_MOTIONALTIVEC = @CFLAGS_MOTIONALTIVEC@
|
|
CFLAGS_QT = @CFLAGS_QT@
|
|
CFLAGS_SDL = @CFLAGS_SDL@
|
|
CFLAGS_WIN32 = @CFLAGS_WIN32@
|
|
CFLAGS_X11 = @CFLAGS_X11@
|
|
CFLAGS_XVIDEO = @CFLAGS_XVIDEO@
|
|
|
|
#
|
|
# Additional objects
|
|
#
|
|
SRC_DVD_EXTRA = @SRC_DVD_EXTRA@
|
|
SRC_DVDCSS_EXTRA = @SRC_DVDCSS_EXTRA@
|
|
|
|
#
|
|
# Other special cases
|
|
#
|
|
NEED_GETOPT = @NEED_GETOPT@
|
|
NEED_LIBDVDCSS = @NEED_LIBDVDCSS@
|
|
|
|
###############################################################################
|
|
# Configuration pre-processing
|
|
###############################################################################
|
|
|
|
# PROGRAM_OPTIONS is an identification string of the compilation options
|
|
PROGRAM_OPTIONS = $(SYS) $(ARCH)
|
|
ifeq ($(DEBUG),1)
|
|
PROGRAM_OPTIONS += DEBUG
|
|
DEFINE += -DDEBUG
|
|
endif
|
|
ifeq ($(CPROF),1)
|
|
PROGRAM_OPTIONS += CPROF
|
|
DEFINE += -DCPROF
|
|
endif
|
|
ifeq ($(GPROF),1)
|
|
PROGRAM_OPTIONS += GPROF
|
|
DEFINE += -DGPROF
|
|
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)
|
|
ifeq ($(SYS),beos)
|
|
# XXX: beos does not support hostname (how lame...)
|
|
PROGRAM_BUILD = `date` $(USER)
|
|
else
|
|
PROGRAM_BUILD = `date` $(USER)@`hostname`
|
|
endif
|
|
|
|
# PROGRAM_VERSION is the current vlc version
|
|
PROGRAM_VERSION=@VLC_VERSION@
|
|
LIBDVDCSS_VERSION=@LIBDVDCSS_VERSION@
|
|
|
|
# DEFINE will contain some of the constants definitions decided in Makefile,
|
|
# including SYS_xx. It will be passed to C compiler.
|
|
DEFINE_SYS := -DSYS_$(shell echo $(SYS) | sed -e 's/-.*//' | tr '[a-z].' '[A-Z]_')
|
|
DEFINE += $(DEFINE_SYS)
|
|
|
|
# On Linux and Solaris, activate 64-bit off_t (by default under BSD)
|
|
DEFINE += -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE
|
|
|
|
# Gettext support
|
|
DEFINE += -DLOCALEDIR=\"$(datadir)/locale\"
|
|
|
|
# Data and plugin location
|
|
DEFINE += -DDATA_PATH=\"@prefix@/share/videolan\"
|
|
DEFINE += -DPLUGIN_PATH=\"@prefix@/lib/videolan/vlc\"
|
|
|
|
###############################################################################
|
|
# Tuning and other variables - do not change anything except if you know
|
|
# exactly what you are doing
|
|
###############################################################################
|
|
|
|
#
|
|
# C headers directories
|
|
#
|
|
INCLUDE += @INCLUDE@
|
|
INCLUDE += -Iinclude -Iextras
|
|
|
|
#
|
|
# Libraries needed by built-in modules
|
|
#
|
|
LIB_BUILTINS := $(patsubst %,$$LIB_%,$(shell echo $(BUILTINS) | tr '[a-z]' '[A-Z]'))
|
|
LIB += $(LIB_BUILTINS)
|
|
|
|
#
|
|
# Libraries
|
|
#
|
|
ifneq (,$(findstring mingw32,$(SYS)))
|
|
LIB += -lws2_32 -lnetapi32
|
|
endif
|
|
|
|
LIB += @LIB@
|
|
|
|
#
|
|
# C compiler flags: mainstream compilation
|
|
#
|
|
CFLAGS += $(DEFINE) $(INCLUDE)
|
|
CFLAGS += -D_REENTRANT
|
|
CFLAGS += -D_GNU_SOURCE
|
|
|
|
ifeq ($(RELEASE),1)
|
|
CFLAGS += -DHAVE_RELEASE
|
|
endif
|
|
|
|
# flags needed for clean beos compilation
|
|
ifeq ($(SYS),beos)
|
|
CFLAGS += -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual
|
|
endif
|
|
|
|
ifneq (,$(findstring darwin,$(SYS)))
|
|
CFLAGS += -no-cpp-precomp
|
|
endif
|
|
|
|
ifneq (,$(findstring mingw32,$(SYS)))
|
|
CFLAGS += -fnative-struct -D_OFF_T_ -D_off_t=long
|
|
endif
|
|
|
|
ifneq (,$(findstring bsd,$(SYS)))
|
|
CFLAGS += -pthread
|
|
endif
|
|
|
|
# Optimizations : don't compile debug versions with them
|
|
ifeq ($(OPTIMS),1)
|
|
CFLAGS += @CFLAGS_OPTIM@
|
|
ifneq ($(DEBUG),1)
|
|
ifneq ($(GPROF),1)
|
|
ifneq ($(CPROF),1)
|
|
CFLAGS += @CFLAGS_OPTIM_NODEBUG@
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(findstring powerpc,$(ARCH)))
|
|
# Optimizations for PowerPC
|
|
CFLAGS += -mmultiple -mhard-float -mstring -mcpu=powerpc
|
|
ifneq (,$(TUNING))
|
|
CFLAGS += -mtune=$(TUNING)
|
|
endif
|
|
else
|
|
ifneq (,$(findstring sparc,$(ARCH)))
|
|
# Optimizations for Sparc
|
|
CFLAGS += -mhard-float
|
|
ifneq (,$(TUNING))
|
|
CFLAGS += -mcpu=$(TUNING)
|
|
endif
|
|
else
|
|
# Generic optimizations
|
|
ifneq (,$(TUNING))
|
|
CFLAGS += -mcpu=$(TUNING)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
#end of optimisations
|
|
endif
|
|
|
|
#
|
|
# C compiler flags: dependancies
|
|
#
|
|
DCFLAGS += $(INCLUDE)
|
|
DCFLAGS += -M
|
|
|
|
#
|
|
# C compiler flags: linking
|
|
#
|
|
LDFLAGS += @LDFLAGS@
|
|
LDFLAGS += $(LIB)
|
|
LDFLAGS += -Wall
|
|
ifneq ($(DEBUG),1)
|
|
ifneq ($(GPROF),1)
|
|
ifneq ($(CPROF),1)
|
|
#LDFLAGS += -s
|
|
endif
|
|
endif
|
|
endif
|
|
ifneq (,$(findstring mingw32,$(SYS)))
|
|
LDFLAGS += -mwindows -Xlinker --force-exe-suffix
|
|
endif
|
|
|
|
#
|
|
# C compiler and linker flags: setting soname
|
|
#
|
|
SOFLAGS = @SOFLAGS@
|
|
|
|
#
|
|
# C compiler flags: plugin compilation
|
|
#
|
|
ifneq (,$(findstring mingw32,$(SYS)))
|
|
PCFLAGS += -fnative-struct
|
|
else
|
|
PCFLAGS += -fPIC
|
|
endif
|
|
|
|
#
|
|
# C compiler flags: plugin linking
|
|
#
|
|
PLDFLAGS += @PLDFLAGS@
|
|
|
|
#
|
|
# Debugging and profiling support
|
|
#
|
|
ifeq ($(DEBUG),1)
|
|
CFLAGS += -g
|
|
endif
|
|
|
|
ifeq ($(CPROF),1)
|
|
CFLAGS += -finstrument-functions
|
|
endif
|
|
|
|
ifeq ($(GPROF),1)
|
|
CFLAGS += -pg
|
|
endif
|
|
|
|
|