#
# $Id$
#
# Part of Equinox Desktop Environment (EDE).
# Copyright (c) 2000-2007 EDE Authors.
#
# This program is licensed under terms of the 
# GNU General Public License version 2 or newer.
# See COPYING for details.

# directories
prefix      ?= "@prefix@" ;
exec_prefix ?= "@exec_prefix@" ;
datarootdir ?= "@datarootdir@" ;
bindir      ?= "@bindir@" ;
datadir     ?= "@datadir@" ;
docdir      ?= "@datadir@/doc" ;
includedir  ?= "@includedir@" ;
libdir      ?= "@libdir@" ;
mandir      ?= "@mandir@" ;
srcdir      ?= "@abs_srcdir@" ;
sysconfdir  ?= "@sysconfdir@" ;

# compiler
CC           = @CC@ ;
C++          = @CXX@ ;
LINK         = $(CC) ;

# tools used by jam rules
XGETTEXT     ?= @XGETTEXT@ ;
MSGFMT       ?= @MSGFMT@ ;
PYTHON       ?= @PYTHON@ ;
RMDIR_UNSAFE ?= $(RM) -Rf ;
RMDIR_SAFE   ?= rmdir ;
CP           ?= cp ;
COPYDIR      ?= "cp -R" ;
MV           ?= mv ;
MKDIRS       ?= "mkdir -p" ;
LINKCMD      ?= "ln -s" ;

EDE_VERSION ?= "@EDE_VERSION@" ;

# subdirectory in usual XDG paths; this directory is marked
# as 'prefix' in some edelib classes, like Resource or Theme
EDE_PREFIX_SUBDIR ?= "ede" ;

# directories used by build system
PREFIX                ?= "$(prefix)" ;
EDE_BIN_DIR           ?= "$(bindir)" ;
EDE_DATA_DIR          ?= "$(datadir)" ;
EDE_CONFIG_DIR        ?= "$(sysconfdir)/xdg/$(EDE_PREFIX_SUBDIR)" ;
EDE_MENU_DIR          ?= "$(sysconfdir)/xdg/menus" ; # use XDG default for menu dir
EDE_ICON_DIR          ?= "$(EDE_DATA_DIR)/icons" ;
EDE_MIME_DIR          ?= "$(EDE_DATA_DIR)/mime" ; # use XDG mime path
EDE_DOC_DIR           ?= "$(docdir)/ede-$(EDE_VERSION)" ;
EDE_THEMES_DIR        ?= "$(EDE_DATA_DIR)/$(EDE_PREFIX_SUBDIR)/themes" ;
EDE_TIPS_DIR          ?= "$(EDE_DATA_DIR)/$(EDE_PREFIX_SUBDIR)/tips" ;
EDE_PANEL_APPLETS_DIR ?= "$(EDE_DATA_DIR)/$(EDE_PREFIX_SUBDIR)/panel-applets" ;

DBUS_SERVICE_DIR      ?= "$(datarootdir)/dbus-1/services" ;
XSESSIONS_DIR         ?= "$(datarootdir)/xsessions" ;

PEKWM_CONFIG_DIR      ?= "$(sysconfdir)/pekwm" ;
PEKWM_DATA_DIR        ?= "$(datadir)/pekwm" ;
PEKWM_CXXFLAGS        ?= "@PEKWM_CXXFLAGS@" ;
PEKWM_LIBS            ?= "@PEKWM_LIBS@" ;

OPTIMFLAGS     ?= @EDE_OPTIM_FLAGS@ ;
DEBUGFLAGS     ?= @EDE_DEBUG_FLAGS@ ;
LARGEFILEFLAGS ?= @LARGEFILE@ ;

# FIXME: a quick hack to work everything on SunStudio
if $(SUN_COMPILER) {
	WALL          ?= "+w2" ;
	PEDANTIC      ?= ;
	WNO_LONG_LONG ?= ;
} else {
	# gcc assumed
	WALL          ?= "-Wall" ;
	# by default we do not use -pedantic; programs that use C libraries (HAL older versions) and eFLTK will fail 
	# to compile with it
	PEDANTIC      ?= ;
	WNO_LONG_LONG ?= "-Wno-long-long" ;
}

# global flags used to be passed to every target
GLOBALFLAGS ?= $(WALL) $(PEDANTIC) -DHAVE_CONFIG_H -I$(TOP) $(OPTIMFLAGS) $(DEBUGFLAGS) $(LARGEFILEFLAGS) ;
STDLIB      ?= -lstdc++ ;
LIBM        ?= -lm ;

# Note that REMOVE_UNUSED_DEPENDENCIES_TRICK _does not_ works when
# edelib is compiled as shared library (or when is linked with some shared library)
#REMOVE_UNUSED_DEPENDENCIES_TRICK = 1 ;

# edelib libraries path
EDELIBINCLUDE                ?= @EDELIB_CFLAGS@ ;
EDELIBLIB                    ?= @EDELIB_LIBS@ ;
EDELIB_GUI_INCLUDE           ?= @EDELIB_GUI_CFLAGS@ ;
EDELIB_GUI_LIB               ?= @EDELIB_GUI_LIBS@ ;
EDELIB_GUI_NO_IMAGES_INCLUDE ?= @EDELIB_GUI_NO_IMAGES_CFLAGS@ ;
EDELIB_GUI_NO_IMAGES_LIB     ?= @EDELIB_GUI_NO_IMAGES_LIBS@ ;
EDELIB_DBUS_INCLUDE          ?= @EDELIB_DBUS_CFLAGS@ ;
EDELIB_DBUS_LIB              ?= @EDELIB_DBUS_LIBS@ ;

# fltk libraries path
FLTKINCLUDE      ?= @FLTK_CFLAGS@ ;
FLTKLIB          ?= @FLTK_LIBS@ ;
FLTKLIB_NOIMAGES ?= @FLTK_LIBS_NOIMAGES@ ;

# Xcomposite
COMPOSITEINCLUDE ?= @COMPOSITE_CFLAGS@ ;
COMPOSITELIB     ?= @COMPOSITE_LIBS@ ;

# HAL
HALINCLUDE ?= @HAL_CFLAGS@ ;
HALLIB     ?= @HAL_LIBS@ ;

# startup-notification
STARTUP_NOTIFICATION_INCLUDE ?= @LIBSTARTUP_NOTIFICATION_CFLAGS@ ;
STARTUP_NOTIFICATION_LIB     ?= @LIBSTARTUP_NOTIFICATION_LIBS@ ;

# X libraries (could be empty if are on standard paths)
X_CFLAGS     ?= @X_CFLAGS@ ;
X_LIBS       ?= @X_LIBS@ ;
X_PRE_LIBS   ?= @X_PRE_LIBS@ ;
X_EXTRA_LIBS ?= @X_EXTRA_LIBS@ ;

# solo XKB extension library
XKB_LIBS ?= @XKB_LIBS@ ;

# curl libraries
CURL_CFLAGS  ?= @CURL_CFLAGS@ ;
CURL_LIBS    ?= @CURL_LIBS@ ;

# platform specific pthread flags
# FIXME: a quick hack to work everything on SunStudio
if $(SUN_COMPILER) {
	PTHREAD_CFLAGS ?= ;
	PTHREAD_LIBS   ?= -lpthread ;
} else {
	PTHREAD_CFLAGS ?= @PTHREAD_CFLAGS@ ;
	PTHREAD_LIBS   ?= @PTHREAD_LIBS@ ;
}

# do not touch this
JAMCONFIG_READ = "yes" ;
