#
# Crude Makefile for flipclockC
#
DESTDIR=/

DESTDIR=/

# define a list of pkg-config packages we want to use
#pkg_packages := glib-2.0 gconf-2.0 libosso libalarm gtk+-2.0 gstreamer-0.10 hildon-fm-2
pkg_packages := $(if $(shell pkg-config --libs --silence-errors libosso), glib-2.0 gconf-2.0 libosso gtk+-2.0 gstreamer-0.10 hildon-fm-2, glib-2.0 gconf-2.0 gtk+-2.0 gstreamer-0.10)

#alarm packages for Maemo 4.x
libAlarmName := $(if $(shell pkg-config --libs --silence-errors libalarm), libalarm, alarm)
alarmD2 := $(if $(shell pkg-config --libs --silence-errors alarm), -DALARMD2=1,)

#alarmSync_packages := $(if $(shell pkg-config --libs --silence-errors libalarm), glib-2.0 libosso libalarm, glib-2.0)
#test for Maemo 5
alarmSync_packages := $(if $(shell pkg-config --libs --silence-errors $(libAlarmName)), glib-2.0 libosso $(libAlarmName), glib-2.0)


fmRadio_packages := $(if $(shell pkg-config --libs --silence-errors libosso), glib-2.0 libosso, glib-2.0)

THEMEPATH := /usr/share/flipclockC/themes/
MEDIAPATH := /usr/share/flipclockC/media/

PKG_CFLAGS  := $(shell pkg-config --cflags $(pkg_packages))
PKG_LDFLAGS := $(shell pkg-config --libs $(pkg_packages))

PKG_AS_CFLAGS := $(shell pkg-config --cflags $(alarmSync_packages))
PKG_AS_LDFLAGS := $(shell pkg-config --libs $(alarmSync_packages))

PKG_FM_CFLAGS := $(shell pkg-config --cflags $(fmRadio_packages))
PKG_FM_LDFLAGS := $(shell pkg-config --libs $(fmRadio_packages))

# Add warnings and debugging info
ADD_CFLAGS := -g -Wall `sdl-config --cflags`
ADD_LFLAGS := `sdl-config --libs`

#Add other libraries that aren't available from pkg-config
ADD_LIBS := -lSDL_image -lSDL_ttf -lSDL_gfx

ADD_HEADER := $(if $(shell pkg-config --libs --silence-errors libosso), -DHAS_OSSO=\"1\",)


# Combine
CFLAGS  := $(PKG_CFLAGS) $(ADD_CFLAGS) $(CFLAGS)
LDFLAGS := $(PKG_LDFLAGS) $(ADD_LFLAGS) $(LDFLAGS)

#targets = flipclock flipAlarmSync flipFMRadio
targets = $(if $(shell pkg-config --libs --silence-errors libosso), flipclock flipAlarmSync flipFMRadio, flipclock)

all: $(targets)

# For simple one-file programs, combining both compiling and linking
# makes sense.
#
# PROGNAME = name of program to prefix to all printout in program
# ProgName = name of program to use for LibOSSO registration and user
#            visible dialogs/infoprints.
flipclock: fc4.c

	$(CC) $(CFLAGS) -DPROGNAME=\"$@\" -DPROGVERSION=\"2.0\" \
	 -DDEBUGENABLED=1 -DMEDIAPATH=\"$(MEDIAPATH)\" \
	-DTHEMESPATH=\"$(THEMEPATH)\" \
	-DPREFSPATH=\"/home/user/\"  $(ADD_HEADER) \
          $< -o $@ $(LDFLAGS) $(ADD_LIBS) 

flipAlarmSync: fcAlarmSync.c
	$(CC) $(PKG_AS_CFLAGS) -DPREFSPATH=\"/home/user/\" $(alarmD2) \
 	$< -o $@ $(PKG_AS_LDFLAGS) 

flipFMRadio: fcFMRadio.c
	$(CC) $(PKG_FM_CFLAGS) $< -o $@ $(PKG_FM_LDFLAGS)

.PHONY: clean all
clean:
	$(RM) $(targets)

install:
	mkdir -p $(DESTDIR)/usr/bin
	mkdir -p $(DESTDIR)/usr/sbin
	mkdir -p $(DESTDIR)/usr/share/flipclockC
	mkdir -p $(DESTDIR)/usr/share/applications/hildon
	mkdir -p $(DESTDIR)/usr/share/dbus-1/services
	mkdir -p $(DESTDIR)/usr/share/icons/hicolor/40x40/hildon
	mkdir -p $(DESTDIR)/usr/share/icons/hicolor/scalable/hildon
	mkdir -p $(DESTDIR)$(MEDIAPATH)
	mkdir -p $(DESTDIR)$(THEMEPATH)
	#cp -rf media/* $(DESTDIR)$(MEDIAPATH)
	#cp -rf themes/* $(DESTDIR)$(THEMEPATH)

	cp -rf bin/* $(DESTDIR)/usr/bin
	cp -rf shareSrc/* $(DESTDIR)/usr/share 
	install $(targets) $(DESTDIR)/usr/sbin 
	
