## -*-mode: Makefile;-*-  ;; Have EMACS always use makefile-mode for this file. 
#
#   makeVar
#

# Don't change anything between the '####' lines!
###############################################################################
-include ${_DOT_DOT}makeRoot
ifneq "${MAKEROOT_DEFINED}" "TRUE"
  _DOT_DOT:= ../${_DOT_DOT}
  -include ${_DOT_DOT}makeVar
else

ifeq "${_DOT_DOT}" ""
_DOT_DOT=.
endif

SRC_ROOT=${_DOT_DOT}
PACKAGES=$(SRC_ROOT)/packages/
endif
###############################################################################

# Add here your project settings, plese specify each entry in a separated
# line (use backslash to continue the lines).

# Please specify here the name of the root project
# (! Very important for the install routine !)
PROJECT_ROOT_NAME:=ICL

# Please specify the current version subdivided in:
#   TARGET_MAJVERSION the major version number (e.g. 1 for version 1.0)
#   TARGET_MINVERSION the minor version number (e.g. 0 for version 1.0)
TARGET_MAJVERSION:= 3
TARGET_MINVERSION:= 0

# Please include here the inherited projects
# (e.g. include ${AGNI_GLOBAL_ROOT}/Basics/Base/1.0/packageVar)

# This variable sets the inclusion modality for packageVar
# Values are: DYNAMIC (for the inclusion of shared object) and
# STATIC (for the inclusion of static libraries)
AGNI_INHERIT_MODE:= DYNAMIC

# Please add here all the directories with absolute path
# (e.g. -I/usr/local/include) that contain include files needed by the sources.
ABS_INCLUDES:= ${ABS_INCLUDES}

# Please add here all the directories with relative path
# (e.g. -I../MyModule/src) that contain include files needed by the sources.
REL_INCLUDES:= $(REL_INCLUDES:-I%=-I../%)

# Please add here all the directories with absolute path
# (e.g. -L/usr/local/lib) and libraries (e.g. -lsvs) needed by the executables.
ABS_LIBRARIES:= ${ABS_LIBRARIES}

# Please add here all the directories with relative path
# (e.g. -L../MyLib/lib)
REL_LIBRARIES:= $(REL_LIBRARIES:-L%=-L../%)

# Please add here all the objects with absolute path
# that are needed by the executables.
ABS_OBJECTS:= ${ABS_OBJECTS}

# Please add here all the objects with relative path
# that are needed by the executables.
REL_OBJECTS:= $(REL_OBJECTS:%=../%)

# Debug status
# This variable takes two values: TRUE or FALSE
DEBUG_ON:=TRUE

# Debugging flags
DEBUG:=-O0 -g3
# Non-Debugging flags
NODEBUG:=-O4 -DNDEBUG -mfpmath=sse -march=pentium3

# Compilation defines for C (e.g. -DASSERT, -DEXCEPTION, -DREENTRANT)
CDEFINES:= ${CDEFINES} -DWITH_IPP_OPTIMIZATION

# Flags for C compiler
CFLAGS:= ${CFLAGS}

# Compilation defines for C++ (e.g. -DASSERT, -DEXCEPTION, -DREENTRANT)
CPPDEFINES:= ${CDEFINES}

# Flags for C++ compiler
CPPFLAGS:= ${CPPFLAGS}

# Flags for archive
ARFLAGS:= ${ARFLAGS}

# Flags for static library linker
LDFLAGS:= ${LDFLAGS}

# Flags for dynamic library linker
LDDYNFLAGS:= ${LDDYNFLAGS}

# Change the linker to g++
CMD_LD=g++


############################# check for IPP ############################
ifeq "$(wildcard $(IPP_ROOT)/5.1/sharedlib/libipp*.so)" ""
ifneq "$(findstring -DWITH_IPP_OPTIMIZATION,$(CDEFINES))" ""
ifeq "$(_WARN_IPP)" ""
_WARN_IPP=done # warn only once
export _WARN_IPP
$(warning "IPP 5.1 is not available. Its usage is switched off.")
endif
CDEFINES:=$(filter-out -DWITH_IPP_OPTIMIZATION, $(CDEFINES))
CPPDEFINES:=$(filter-out -DWITH_IPP_OPTIMIZATION, $(CPPDEFINES))
endif
endif

############################# check for QT 4 ############################
# try whether useful QTDIR is already set
ifeq "$(shell $(QTDIR)/bin/qmake --version 2>&1 | grep 'Using Qt version 4.')" ""
QTDIR=/vol/qt/4.2
endif
# try whether QTDIR contains QT 4 now
ifneq "$(shell $(QTDIR)/bin/qmake --version 2>&1 | grep 'Using Qt version 4.')" ""
HAVE_QT=TRUE
else
ifeq "$(_WARN_QT)" ""
_WARN_QT=done # warn only once
export _WARN_QT
$(warning "Qt version 4.2 is not available. Qt-specific targets are not built.")
endif
endif

############################# check for Firewire ########################
# try whether firewire lib is available
ifneq "$(wildcard /vol/video/lib/libdc1394*.so)" ""
HAVE_FIREWIRE=TRUE
else
ifeq "$(_WARN_FIREWIRE)" ""
_WARN_FIREWIRE=done # warn only once
export _WARN_FIREWIRE
$(warning "Firewire library is not available. Firewire specific targets are not built.")
endif
endif


# Set the priority level
DIR_PRIORITY:=ICLUtils ICLCore ICLCC
DIR_LOWPRIORITY:=examples
ifeq "$(HAVE_QT)" ""
SKIP_DIRECTORIES += ICLQt
endif

#Skip the following object files
ifeq "$(HAVE_FIREWIRE)" ""
SKIP_OBJECTS += FwGrabber.cpp
endif