1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-16 16:02:54 +02:00
vlc/Makefile.opts.in
2001-11-06 17:12:02 +00:00

314 lines
6.3 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@
TRACE = @TRACE@
CPROF = @CPROF@
GPROF = @GPROF@
OPTIMS = @OPTIMS@
TUNING = @TUNING@
RELEASE = @RELEASE@
#
# Build environment
#
CC = @CC@
CFLAGS = @CFLAGS@
SHELL = @SHELL@
RANLIB = @RANLIB@
WINDRES = @WINDRES@
MOC = @MOC@
#
# 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_ALTIVEC = @LIB_ALTIVEC@
LIB_BEOS = @LIB_BEOS@
LIB_DARWIN = @LIB_DARWIN@
LIB_DVD = @LIB_DVD@
LIB_DVD_PLUGIN = @LIB_DVD_PLUGIN@
LIB_ESD = @LIB_ESD@
LIB_GGI = @LIB_GGI@
LIB_GLIDE = @LIB_GLIDE@
LIB_GNOME = @LIB_GNOME@
LIB_GTK = @LIB_GTK@
LIB_LIBDVDCSS = @LIB_LIBDVDCSS@
LIB_KDE = @LIB_KDE@
LIB_MACOSX = @LIB_MACOSX@
LIB_QNX = @LIB_QNX@
LIB_NCURSES = @LIB_NCURSES@
LIB_QT = @LIB_QT@
LIB_TS = @LIB_TS@
LIB_SDL = @LIB_SDL@
LIB_DIRECTX = @LIB_DIRECTX@
LIB_X11 = @LIB_X11@
LIB_XVIDEO = @LIB_XVIDEO@
LIB_YUV = @LIB_YUV@
#
# CFLAGS for special cases
#
CFLAGS_ALTIVEC = @CFLAGS_ALTIVEC@
CFLAGS_DVD = @CFLAGS_DVD@
CFLAGS_LIBDVDCSS = @CFLAGS_LIBDVDCSS@
CFLAGS_GTK = @CFLAGS_GTK@
CFLAGS_SDL = @CFLAGS_SDL@
CFLAGS_X11 = @CFLAGS_X11@
#
# Additional objects
#
OBJ_DVD = @OBJ_DVD@
OBJ_LIBDVDCSS = @OBJ_LIBDVDCSS@
#
# 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 ($(TRACE),1)
PROGRAM_OPTIONS += TRACE
DEFINE += -DTRACE
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_CONSTANTS := -DSYS_$(shell echo $(SYS) | sed -e 's/-.*//' | tr '[a-z].' '[A-Z]_')
DEFINE += $(DEFINE_CONSTANTS)
# On Linux and Solaris, activate 64-bit off_t (by default under BSD)
DEFINE += -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98
###############################################################################
# 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
#
# Let's go for a crude hack !
LIB_MOTIONALTIVEC := $(LIB_ALTIVEC)
LIB_IDCTALTIVEC := $(LIB_ALTIVEC)
ifneq (,$(BUILTINS))
LIB_BUILTINS := $(shell for i in ${BUILTINS} ; do echo $$i | tr '[a-z]' '[A-Z]' | sed -e 's/.*/$$LIB_&/' ; done)
LIB += $(LIB_BUILTINS)
endif
#
# Libraries
#
ifneq (,$(findstring mingw32,$(SYS)))
LIB += -lws2_32 -lnetapi32
endif
LIB += @LIB@
#
# C compiler flags: mainstream compilation
#
DEFINE += @DEFINE@
CFLAGS += $(DEFINE) $(INCLUDE)
CFLAGS += -Wall -Winline
CFLAGS += -pipe
CFLAGS += -D_REENTRANT
CFLAGS += -D_GNU_SOURCE
ifeq ($(RELEASE),1)
CFLAGS += -DRELEASE
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 += -O3
CFLAGS += -ffast-math -funroll-loops
ifneq ($(DEBUG),1)
ifneq ($(GPROF),1)
ifneq ($(CPROF),1)
CFLAGS += -fomit-frame-pointer
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 += -MM
#
# C compiler flags: linking
#
LCFLAGS += @LCFLAGS@ $(LIB)
LCFLAGS += -Wall
ifneq ($(DEBUG),1)
ifneq ($(GPROF),1)
ifneq ($(CPROF),1)
#LCFLAGS += -s
endif
endif
endif
ifneq (,$(findstring mingw32,$(SYS)))
LCFLAGS += -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
#
PLCFLAGS += @PLCFLAGS@
#
# Debugging and profiling support
#
ifeq ($(DEBUG),1)
CFLAGS += -g
endif
ifeq ($(CPROF),1)
CFLAGS += -finstrument-functions
endif
ifeq ($(GPROF),1)
CFLAGS += -pg
endif