#Makefile for building hildon control panel library 
#to load pppoe-dialer python script
#taken from Tom Swindell's media-im-updater-0.2 source package

####### Compiler, tools and options

CC            = gcc
CXX           = g++
DEFINES       = -DQT_GL_NO_SCISSOR_TEST -DQT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH=1024 -DMAEMO_CHANGES -DMAEMO_GTK -DOSSO_PLUGIN_EXEC_LOADER_DEBUG
CFLAGS        = -pipe -g -Wall -W -fPIC $(DEFINES)
CXXFLAGS      = -pipe -g -Wall -W -fPIC $(DEFINES)
INCPATH       = -I../../NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-1014-slim/usr/share/qt4/mkspecs/linux-g++-maemo5 -I. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/hildon-1 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
LINK          = g++
LFLAGS        = -Wl,-rpath-link,/usr/lib -Wl,-rpath,/usr/lib -shared
LIBS          = $(SUBLIBS)   -lglib-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lgtk-x11-2.0 -losso 
AR            = ar cqs
RANLIB        = 
TAR           = tar -cf
COMPRESS      = gzip -9f
COPY          = cp -f
SED           = sed
COPY_FILE     = $(COPY)
COPY_DIR      = $(COPY) -r
STRIP         = strip
INSTALL_FILE  = install -m 644 -p
INSTALL_DIR   = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p

####### Output directory

OBJECTS_DIR   = build/

####### Files

SOURCES       = src/osso-plugin-exec-loader.c 
OBJECTS       = build/osso-plugin-exec-loader.o
DESTDIR       = build/
TARGET        = pppoe-dialer.so
TARGETD       = pppoe-dialer.so

first: all
####### Implicit rules

.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"

####### Build rules

all: Makefile  build/$(TARGET)

build/$(TARGET):  $(OBJECTS) $(SUBLIBS) $(OBJCOMP)  
	$(MKDIR) build/ 
	-$(DEL_FILE) $(TARGET)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
	-$(MOVE) $(TARGET) build/

clean:
	$(DEL_FILE) $(OBJECTS)
	$(DEL_FILE) *~ core *.core
	$(DEL_FILE) build/$(TARGET)


####### Compile

build/osso-plugin-exec-loader.o: src/osso-plugin-exec-loader.c 
	$(MKDIR) build
	$(CC) -c $(CFLAGS) $(INCPATH) -o build/osso-plugin-exec-loader.o src/osso-plugin-exec-loader.c

####### Install

install_target: first FORCE
	$(MKDIR) $(INSTALL_ROOT)/usr/lib/hildon-control-panel/
	$(INSTALL_PROGRAM) build/$(TARGET) $(INSTALL_ROOT)/usr/lib/hildon-control-panel/$(TARGET)
	$(MKDIR) $(INSTALL_ROOT)/usr/share/applications/hildon-control-panel/ 
	$(INSTALL_FILE) pppoe-dialer.desktop $(INSTALL_ROOT)/usr/share/applications/hildon-control-panel/pppoe-dialer.desktop
	$(MKDIR) $(INSTALL_ROOT)/usr/share/pixmaps/
	$(INSTALL_FILE) pppoe-dialer.png $(INSTALL_ROOT)/usr/share/pixmaps/pppoe-dialer.png
	$(MKDIR) $(INSTALL_ROOT)/opt/pppoe-dialer/
	$(INSTALL_FILE) pppoe-dialer-status.png $(INSTALL_ROOT)/opt/pppoe-dialer/pppoe-dialer-status.png
	$(INSTALL_FILE) pppoe-dialling-status.png $(INSTALL_ROOT)/opt/pppoe-dialer/pppoe-dialling-status.png
	$(INSTALL_PROGRAM) src/pppoemgrui.py $(INSTALL_ROOT)/opt/pppoe-dialer/pppoemgrui.py
	$(INSTALL_PROGRAM) src/about.py $(INSTALL_ROOT)/opt/pppoe-dialer/about.py
	$(INSTALL_PROGRAM) src/pppoe-dialer $(INSTALL_ROOT)/opt/pppoe-dialer/pppoe-dialer
	$(INSTALL_PROGRAM) src/pppoe-dialer-functions $(INSTALL_ROOT)/opt/pppoe-dialer/pppoe-dialer-functions
	$(MKDIR) $(INSTALL_ROOT)/usr/lib/hildon-desktop/
	$(INSTALL_PROGRAM) src/pppoe-dialer-applet.py $(INSTALL_ROOT)/usr/lib/hildon-desktop/pppoe-dialer-applet.py
	$(MKDIR) $(INSTALL_ROOT)/usr/share/applications/hildon-status-menu/
	$(INSTALL_PROGRAM) pppoe-dialer-applet.desktop $(INSTALL_ROOT)/usr/share/applications/hildon-status-menu/pppoe-dialer-applet.desktop
	$(MKDIR) $(INSTALL_ROOT)/etc/ppp/
	$(INSTALL_FILE) pppoe.conf.template $(INSTALL_ROOT)/etc/ppp/pppoe.conf.template
	$(MKDIR) $(INSTALL_ROOT)/etc/sudoers.d/
	$(INSTALL_FILE) pppoe-dialer.sudoers $(INSTALL_ROOT)/etc/sudoers.d/pppoe-dialer.sudoers

uninstall_target:  FORCE
	-$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/hildon-control-panel/$(TARGET)"
	-$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/hildon-control-panel/ 


install:  install_target  FORCE

uninstall: uninstall_target   FORCE

FORCE:

