CC := $(CROSS_COMPILE)gcc

ACCOUNTS_CFLAGS := $(shell pkg-config --cflags rtcom-accounts-widgets)
ACCOUNTS_LIBS := $(shell pkg-config --libs rtcom-accounts-widgets)

GLADE_CFLAGS := $(shell pkg-config --cflags libglade-2.0)
GLADE_LIBS := $(shell pkg-config --libs libglade-2.0)

LONGCAT_CFLAGS := $(ACCOUNTS_CFLAGS) -I./src
LONGCAT_LIBS := $(ACCOUNTS_LIBS) -llongcat-pn -L.

CFLAGS := -O2 -ggdb -Wall

prefix := /usr

datadir := $(prefix)/share
libdir := $(prefix)/lib
plugindir := $(prefix)/lib/libaccounts-plugins

.PHONY: all clean

all:

# pretty print
V = @
Q = $(V:y=)
QUIET_CC    = $(Q:@=@echo '   CC         '$@;)
QUIET_LINK  = $(Q:@=@echo '   LINK       '$@;)
QUIET_CLEAN = $(Q:@=@echo '   CLEAN      '$@;)

D = $(DESTDIR)

target := liblongcat-pn.so
plugins :=

$(target): longcat.o
$(target): CFLAGS := $(CFLAGS) $(ACCOUNTS_CFLAGS) $(GLADE_CFLAGS) \
	-DGETTEXT_PACKAGE='"osso-applet-accounts"' -DPLUGIN_XML_DIR='"$(plugindir)/xml"'
$(target): LIBS := $(LIBS) $(ACCOUNTS_LIBS) $(GLADE_LIBS)
$(target): LDFLAGS := -Wl,--no-undefined

# ssl

plugin := libpecan-plugin.so

$(plugin): haze-plugin.o
$(plugin): CFLAGS := $(CFLAGS) $(LONGCAT_CFLAGS) \
	-DGETTEXT_PACKAGE='"osso-applet-accounts"'
$(plugin): LIBS := $(LIBS) $(LONGCAT_LIBS)
$(plugin): LDFLAGS := -Wl,--no-undefined -Wl,-rpath=$(plugindir)

plugins += $(plugin)

all: $(target) $(plugins)

install: $(target) $(plugins)
	# lib
	mkdir -p $(D)/$(plugindir)
	install -m 755 $(target) $(D)/$(plugindir)/$(target)
	# plugins
	mkdir -p $(D)/$(plugindir)
	install -m 755 $(plugins) $(D)/$(plugindir)
	# data
	mkdir -p $(D)/$(datadir)/osso-rtcom
	install -m 644 data/msn-pecan.profile $(D)/$(datadir)/osso-rtcom
	mkdir -p $(D)/$(datadir)/icons/hicolor/48x48/hildon
	install -m 644 data/im-msn-haze.png $(D)/$(datadir)/icons/hicolor/48x48/hildon/im-msn-pecan.png
	mkdir -p $(D)/$(plugindir)/xml
	install -m 644 data/longcat-advanced.glade $(D)/$(plugindir)/xml/longcat-pn-advanced.glade

%.o:: %.c
	$(QUIET_CC)$(CC) $(CFLAGS) -MMD -o $@ -c $<

%.so::
	$(QUIET_LINK)$(CC) $(LDFLAGS) -shared -o $@ $^ $(LIBS)

clean:
	$(QUIET_CLEAN)$(RM) $(target) $(plugins) *.o *.d

-include *.d
