#######################################################################
#
#  Copyright (C) 2006 Novell, Inc.
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public
#  License as published by the Free Software Foundation; either
#  version 2 of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#  General Public License for more details.
#
#  You should have received a copy of the GNU General Public
#  License along with this program; if not, write to the Free
#  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################

if DEBUG
TARGET_CFG = Debug
CFLAGS += -v -w
else
TARGET_CFG = Release
endif

SUBDIRS =

DIST_SUBDIRS =

CASAROOT = ../../..

CASALIBDIR = $(CASAROOT)/$(LIB)

BUILD_VER = 1.1.1

# handle Mono secondary dependencies
export MONO_PATH := $(MONO_PATH)

PLATFORMINDEPENDENTSOURCEDIR =
PLATFORMDEPENDENTSOURCEDIR = .

MODULE_NAME = libad_gk
MODULE_EXT = so

CFILES = $(srcdir)/ad_gk.c 

LIBDIR = $(LIB)

CSFILES_CSC :=
INCLUDES = -I. -I.. -I$(CASAROOT)/include \
	-I/opt/gnome/include/gnome-keyring-1 \
	-I/opt/gnome/include/glib-2.0 \
	-I/opt/gnome/$(LIBDIR)/glib-2.0/include \
	-L/opt/gnome/$(LIBDIR) -lglib-2.0

RESOURCES =
EXTRA_CFLAGS = 
CFLAGS += $(INCLUDES) $(DEFINES) 
	
LIBS = -lpthread -ldl
LDFLAGS = -fno-exceptions -fno-check-new -Wl,-Bsymbolic -shared -pthread -O2 \
	-Wl,-rpath -Wl,/usr/$(LIBDIR) -Wl,-soname -Wl,libad_gk.so.1

EXTRA_LDFLAGS = -L/opt/gnome/$(LIBDIR) -lglib-2.0 -L/$(CASAROOT)/$(LIBDIR)

OBJDIR = ./$(TARGET_CFG)/$(LIBDIR)

OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o))

EXTRA_DIST = $(CFILES) *.h

CUR_DIR := $(shell pwd)

all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)

#
# Pattern based rules.
#
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)

$(OBJDIR)/%.o: %.c
	$(CC) -c $(CFLAGS) $(EXTRA_CFLAGS) -o $@ $<

$(OBJDIR)/%.o: %.cpp
	$(CC) -c $(CFLAGS) -o $@ $<

#$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS)
#	@echo [======== Linking $@ ========]
#	$(LINK) -o $@ $(LDFLAGS) $(EXTRA_LDFLAGS) $(OBJS) $(LIBS)
#	cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)

$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER): $(OBJDIR) $(OBJS)
	@echo [======== Linking $@ ========]
	c++ -o $@ $(LDFLAGS) $(EXTRA_LDFLAGS) $(OBJS) $(LIBS)
	cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)
	ln -sf  $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)  $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).1

$(OBJDIR):
	[ -d $(OBJDIR) ] || mkdir -p $(OBJDIR)
	[ -d $(CASALIBDIR) ] || mkdir -p $(CASALIBDIR)
	[ -d $(CASALIBDIR)/$(TARGET_CFG) ] || mkdir -p $(CASALIBDIR)/$(TARGET_CFG)


install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
	$(mkinstalldirs) $(DESTDIR)$(libdir)
	$(INSTALL_PROGRAM) $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(DESTDIR)$(libdir)/

uninstall-local:
	cd $(DESTDIR)$(libdir); rm -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
	rmdir $(DESTDIR)$(libdir)

#installcheck-local: install
#	$(mkinstalldirs) $(DESTDIR)$(libdir)
#	$(INSTALL_PROGRAM) $(DESTDIR)$(libdir)
#	cd $(DESTDIR)$(libdir); $(MONO)

clean-local:
	if [ -d $(TARGET_CFG) ]; then  rm -rf $(TARGET_CFG); fi

distclean-local:

maintainer-clean-local:
	rm -f Makefile.in