
GUI_CONLER = conler-gui
CLI_CONLER = conler-cli

CC = gcc
CFLAGS = -Wall -std=c99
ifeq ($(DEBUG), 1)
  CFLAGS += -g3 -DDEBUG -DCONFIG_PATH=\"conler.xml\"

endif
CONLER_GUI_CFLAGS = -DCONLER_GUI

COMMON_PKGS = libxml-2.0 glib-2.0
GUI_PKGS = gtk+-2.0
ifeq ($(shell /bin/grep RX /etc/osso_software_version | /usr/bin/wc -l), 1)
	CFLAGS += -DMAEMO
	COMMON_PKGS += libosso
    GUI_PKGS += hildon-1
	CLI_PKGS = gconf-2.0
endif
COMMON_CFLAGS = $(shell /usr/bin/pkg-config --cflags $(COMMON_PKGS))
COMMON_LIBS = $(shell /usr/bin/pkg-config --libs $(COMMON_PKGS))
GUI_CFLAGS = $(shell /usr/bin/pkg-config --cflags $(GUI_PKGS))
GUI_LIBS = $(shell /usr/bin/pkg-config --libs $(GUI_PKGS))
CLI_CFLAGS = $(shell /usr/bin/pkg-config --cflags $(CLI_PKGS))
CLI_LIBS = $(shell /usr/bin/pkg-config --libs $(CLI_PKGS))

COMMON_OBJS=common.o types.o
GUI_OBJS=conler-gui.o ui.o slots.o cellrendererpixbuf.o ui-utils.o
CLI_OBJS=conler-cli.o

# TODO: temporary w/a to avoid problems with building of
# 		cli and gui versions together
all: 
	make cli
	make gui

build: all

INSTALL=/usr/bin/install
DST=$(PREFIX)/$(DESTDIR)
DST_BIN=$(DST)/usr/bin
DST_ICONS_26=$(DST)/usr/share/icons/hicolor/26x26/hildon
DST_ICONS_40=$(DST)/usr/share/icons/hicolor/40x40/hildon
DST_ICONS_S=$(DST)/usr/share/icons/hicolor/scalable/hildon
install: build
	$(INSTALL) -g root -o root conler-cli $(DST)/usr/bin
	$(INSTALL) -g root -o root conler-gui $(DST)/usr/bin
	$(INSTALL) -g root -o root -m 644 data/icons/26x26/conler.png $(DST_ICONS_26)
	$(INSTALL) -g root -o root -m 644 data/icons/40x40/conler.png $(DST_ICONS_40)
	$(INSTALL) -g root -o root -m 644 data/icons/scalable/conler.png $(DST_ICONS_S)
	$(INSTALL) -g root -o root -m 644 data/conler.desktop $(DST)/usr/share/applications/hildon
	$(INSTALL) -g root -o root -m 644 data/com.thekondor.conler.service $(DST)/usr/share/dbus-1/services

deb: BUILD_DIR=/tmp/conler-$(shell /bin/date +%s)
deb: DEB_CONTROL=$(strip $(BUILD_DIR))/debian/control
deb:
	@/bin/cp -r $(shell /bin/pwd) $(BUILD_DIR)
	@/bin/find $(BUILD_DIR) -type d | /bin/grep '.svn$$' | /bin/xargs rm -rdf
	@/bin/echo "XB-Maemo-Icon-26:" >> $(DEB_CONTROL)
	@/usr/bin/openssl base64 < data/icons/26x26/conler.png | /usr/bin/sed -e 's/^/ /' >> $(DEB_CONTROL)
	@cd $(BUILD_DIR); /usr/bin/dpkg-buildpackage -rfakeroot
	@echo
	@echo "*** INFO: Check /tmp out for the build .deb package"
	@/bin/rm -rdf $(BUILD_DIR)


.PHONY: cli
cli: $(COMMON_OBJS) $(CLI_OBJS)
	@$(CC) $(COMMON_LIBS) $(CLI_LIBS) $(COMMON_OBJS) $(CLI_OBJS) -o $(CLI_CONLER)

$(COMMON_OBJS): $(call sources, $(COMMON_OBJS)) $(call headers, $(COMMON_OBJS))
	@$(CC) $(CFLAGS) $(COMMON_CFLAGS) -c $(call sources, $@) -o $@

$(CLI_OBJS): $(call sources, $(CLI_OBJS))
	@$(CC) $(CFLAGS) $(CLI_CFLAGS) $(COMMON_CFLAGS) -c $(call sources, $@) -o $@

.PHONY: gui
gui: CFLAGS += $(CONLER_GUI_CFLAGS)
gui: _gui $(COMMON_OBJS) $(GUI_OBJS)
	@$(CC) $(COMMON_LIBS) $(GUI_LIBS) $(COMMON_OBJS) $(GUI_OBJS) -o $(GUI_CONLER)

_gui:
	@rm -f $(COMMON_OBJS)
	
$(GUI_OBJS): $(call sources, $(GUI_OBJS)) $(call headers, $(GUI_OBJS))
	@$(CC) $(CFLAGS) $(COMMON_CFLAGS) $(GUI_CFLAGS) -c $(call sources, $@) -o $@


.PHONY: clean
clean:
	@rm -f $(COMMON_OBJS) $(CLI_OBJS) $(GUI_OBJS) $(GUI_CONLER) $(CLI_CONLER) core


sources=$(foreach o, $(basename $(1)), $(o).c)
headers=$(foreach o, $(basename $(1)), $(o).h)



