############################################################################### # 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_COMMON = @LIB_COMMON@ LIB_VLC = @LIB_VLC@ LIB_A52 = @LIB_A52@ LIB_AA = @LIB_AA@ 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_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_COMMON = @CFLAGS_COMMON@ 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]')) # # Libraries needed by the vlc executable # ifneq (,$(findstring mingw32,$(SYS))) LIB_VLC += -lws2_32 -lnetapi32 endif # # 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