###############################################################################
# vlc (VideoLAN Client) options Makefile
# (c)1998 VideoLAN
###############################################################################

HAVE_MAKEFILE_OPTS = 1

###############################################################################
# Configuration
###############################################################################

# 
# 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@
STRIP = @STRIP@
MOC = @MOC@
WINDRES = @WINDRES@
BCBUILDER = @BCBUILDER@

# 
# Installation environment
# 
exec_prefix = @exec_prefix@
prefix = @prefix@
bindir = @bindir@
datadir = @datadir@
libdir = @libdir@
includedir = @includedir@

#
# CFLAGS for special cases
#
vlc_CFLAGS = @vlc_CFLAGS@
plugins_CFLAGS := @plugins_CFLAGS@
builtins_CFLAGS := @builtins_CFLAGS@

a52_CFLAGS = @a52_CFLAGS@
arts_CFLAGS = @arts_CFLAGS@
chroma_i420_yuy2_mmx_CFLAGS = @chroma_i420_yuy2_mmx_CFLAGS@
directx_CFLAGS = @directx_CFLAGS@
dvd_CFLAGS = @dvd_CFLAGS@
dvdread_CFLAGS = @dvdread_CFLAGS@
esd_CFLAGS = @esd_CFLAGS@
ffmpeg_CFLAGS = @ffmpeg_CFLAGS@
glide_CFLAGS = @glide_CFLAGS@
gnome_CFLAGS = @gnome_CFLAGS@
gtk_CFLAGS = @gtk_CFLAGS@
idctaltivec_CFLAGS = @idctaltivec_CFLAGS@
kde_CFLAGS = @kde_CFLAGS@
mad_CFLAGS = @mad_CFLAGS@
memcpyaltivec_CFLAGS = @memcpyaltivec_CFLAGS@
motionaltivec_CFLAGS = @motionaltivec_CFLAGS@
mpeg_ts_dvbpsi_CFLAGS = @mpeg_ts_dvbpsi_CFLAGS@
qt_CFLAGS = @qt_CFLAGS@
sdl_CFLAGS = @sdl_CFLAGS@
x11_CFLAGS = @x11_CFLAGS@
xvideo_CFLAGS = @xvideo_CFLAGS@

#
# Libraries for special cases
#
vlc_LDFLAGS = @vlc_LDFLAGS@
plugins_LDFLAGS += @plugins_LDFLAGS@
builtins_LDFLAGS += @builtins_LDFLAGS@

a52_LDFLAGS = @a52_LDFLAGS@
aa_LDFLAGS = @aa_LDFLAGS@
alsa_LDFLAGS = @alsa_LDFLAGS@
arts_LDFLAGS = @arts_LDFLAGS@
beos_LDFLAGS = @beos_LDFLAGS@
chroma_i420_rgb_LDFLAGS = @chroma_i420_rgb_LDFLAGS@
directx_LDFLAGS = @directx_LDFLAGS@
dsp_LDFLAGS = @dsp_LDFLAGS@
dvd_LDFLAGS = @dvd_LDFLAGS@
dvdread_LDFLAGS = @dvdread_LDFLAGS@
esd_LDFLAGS = @esd_LDFLAGS@
filter_distort_LDFLAGS = @filter_distort_LDFLAGS@
ffmpeg_LDFLAGS = @ffmpeg_LDFLAGS@
ggi_LDFLAGS = @ggi_LDFLAGS@
glide_LDFLAGS = @glide_LDFLAGS@
gnome_LDFLAGS = @gnome_LDFLAGS@
gtk_LDFLAGS = @gtk_LDFLAGS@
http_LDFLAGS = @http_LDFLAGS@
idctaltivec_LDFLAGS = @idctaltivec_LDFLAGS@
imdct_LDFLAGS = @imdct_LDFLAGS@
imdct3dn_LDFLAGS = @imdct3dn_LDFLAGS@
imdctsse_LDFLAGS = @imdctsse_LDFLAGS@
ipv4_LDFLAGS = @ipv4_LDFLAGS@
ipv6_LDFLAGS = @ipv6_LDFLAGS@
kde_LDFLAGS = @kde_LDFLAGS@
lirc_LDFLAGS = @lirc_LDFLAGS@
macosx_LDFLAGS = @macosx_LDFLAGS@
mad_LDFLAGS = @mad_LDFLAGS@
memcpyaltivec_LDFLAGS = @memcpyaltivec_LDFLAGS@
motionaltivec_LDFLAGS = @motionaltivec_LDFLAGS@
mpeg_ts_dvbpsi_LDFLAGS = @mpeg_ts_dvbpsi_LDFLAGS@
ncurses_LDFLAGS = @ncurses_LDFLAGS@
qnx_LDFLAGS = @qnx_LDFLAGS@
qt_LDFLAGS = @qt_LDFLAGS@
rc_LDFLAGS = @rc_LDFLAGS@
sdl_LDFLAGS = @sdl_LDFLAGS@
vcd_LDFLAGS = @vcd_LDFLAGS@
vorbis_LDFLAGS = @vorbis_LDFLAGS@
waveout_LDFLAGS = @waveout_LDFLAGS@
x11_LDFLAGS = @x11_LDFLAGS@
xosd_LDFLAGS = @xosd_LDFLAGS@
xvideo_LDFLAGS = @xvideo_LDFLAGS@

#
# Other special cases
#
NEED_GETOPT = @NEED_GETOPT@

###############################################################################
# Configuration pre-processing
###############################################################################

# PROGRAM_OPTIONS is an identification string of the compilation options
PROGRAM_OPTIONS = $(SYS) $(ARCH)
ifeq ($(DEBUG),1)
PROGRAM_OPTIONS += DEBUG
CFLAGS += -DDEBUG
endif
ifeq ($(CPROF),1)
PROGRAM_OPTIONS += CPROF
CFLAGS += -DCPROF
endif
ifeq ($(GPROF),1)
PROGRAM_OPTIONS += GPROF
CFLAGS += -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

# On Linux and Solaris, activate 64-bit off_t (by default under BSD)
CFLAGS += -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE

# Gettext support
CFLAGS += -DLOCALEDIR=\"$(datadir)/locale\"

# Data and plugin location
CFLAGS += -DDATA_PATH=\"@prefix@/share/vlc\"
CFLAGS += -DPLUGIN_PATH=\"@prefix@/lib/vlc\"

###############################################################################
# Tuning and other variables - do not change anything except if you know
# exactly what you are doing
###############################################################################

#
# C headers directories
#
CFLAGS += -Iinclude -Iextras

#
# C compiler flags: mainstream compilation
#
CFLAGS += -D_REENTRANT -D_THREAD_SAFE
CFLAGS += -D_GNU_SOURCE

ifeq ($(RELEASE),1)
CFLAGS += -DHAVE_RELEASE
endif

CFLAGS += -D__VLC__

# 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: linking
#
LDFLAGS += @LDFLAGS@
LDFLAGS += -Wall
ifneq ($(DEBUG),1)
ifneq ($(GPROF),1)
ifneq ($(CPROF),1)
#LDFLAGS += -s
endif
endif
endif

#
# C compiler flags: plugins and builtins compilation
#
plugins_CFLAGS += -D__PLUGIN__ -I../../include -I../../extras
builtins_CFLAGS += -D__BUILTIN__ -I../../include -I../../extras

#
# Linker flags: plugins and builtins linking
#
builtins_LDFLAGS += $(patsubst %,$$%_LDFLAGS,$(BUILTINS))

#
# Debugging and profiling support
#
ifeq ($(DEBUG),1)
CFLAGS += -g
endif

ifeq ($(CPROF),1)
CFLAGS += -finstrument-functions
endif

ifeq ($(GPROF),1)
CFLAGS += -pg
endif