+# -*- mode: Makefile; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*-
+#
# Conky, a system monitor, based on torsmo
#
# Any original torsmo code is licensed under the BSD license
# Please see COPYING for details
#
# Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
-# Copyright (c) 2005-2007 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
+# Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-INCLUDES = -DSYSTEM_CONFIG_FILE=\"$(sysconfdir)/conky/conky.conf\"
+INCLUDES = -DSYSTEM_CONFIG_FILE=\"$(sysconfdir)/conky/conky.conf\" -DPACKAGE_LIBDIR=\"$(pkglibdir)\"
bin_PROGRAMS = conky
+LIBS = ${conky_LIBS}
+
if BUILD_CONFIG_OUTPUT
config_output = defconfig.h
-if BUILD_FOR_FOPENCOOKIE
config_cookie = conf_cookie.c conf_cookie.h
+if BUILD_X11
+config_input = $(srcdir)/../data/conky.conf
+else
+config_input = $(srcdir)/../data/conky_no_x11.conf
endif
+
conky_DEPENDENCIES = $(config_output)
BUILT_SOURCES = $(config_output)
-CLEANFILES = $(config_output)
-$(config_output): ../doc/conky.conf
- sh ../text2c.sh $< $@ defconfig
-endif
-
-if BUILD_AUDACIOUS
+CLEANFILES = $(config_output) *.gcda *.gcno
+
+$(config_output): ${config_input}
+ sh $(srcdir)/../text2c.sh ${config_input} $@ defconfig
+endif # BUILD_CONFIG_OUTPUT
+
+# source files always needed for compiling
+mandatory_sources = colours.c colours.h combine.c combine.h common.c common.h \
+ conky.c conky.h core.c core.h diskio.c diskio.h entropy.c entropy.h \
+ exec.c exec.h fs.c fs.h logging.h mail.c mail.h mixer.c mixer.h net_stat.c \
+ net_stat.h template.c template.h timed_thread.c timed_thread.h mboxscan.c \
+ mboxscan.h read_tcp.c read_tcp.h scroll.c scroll.h specials.c \
+ specials.h tailhead.c tailhead.h temphelper.c temphelper.h \
+ text_object.c text_object.h timeinfo.c timeinfo.h algebra.c \
+ algebra.h proc.c proc.h user.c user.h top.c top.h
+
+# source files only needed when the apropriate option is enabled
audacious = audacious.c audacious.h
+bmpx = bmpx.c bmpx.h
+ibm = ibm.c ibm.h smapi.c smapi.h
+mpd = mpd.c mpd.h libmpdclient.c libmpdclient.h
+moc = moc.c moc.h
+xmms2 = xmms2.c xmms2.h
+linux = linux.c linux.h users.c sony.c sony.h i8k.c i8k.h
+solaris = solaris.c
+freebsd = freebsd.c freebsd.h
+netbsd = netbsd.c netbsd.h
+openbsd = openbsd.c openbsd.h
+port_monitors = libtcp-portmon.c libtcp-portmon.h \
+ tcp-portmon.c tcp-portmon.h
+x11 = x11.c x11.h fonts.c fonts.h
+hddtemp = hddtemp.c hddtemp.h
+eve = eve.c eve.h
+ccurl_thread = ccurl_thread.c ccurl_thread.h
+rss = rss.c rss.h prss.c prss.h
+weather = weather.c weather.h
+lua = llua.c llua.h
+nvidia = nvidia.c nvidia.h
+imlib2 = imlib2.c imlib2.h
+apcupsd = apcupsd.c apcupsd.h
+iconv = iconv_tools.c iconv_tools.h
+
+# make sure the files from above are always included in the distfile
+EXTRA_DIST = $(audacious) $(bmpx) $(ibm) $(mpd) $(moc) $(xmms2) $(linux) \
+ $(solaris) $(freebsd) $(netbsd) $(openbsd) $(port_monitors) \
+ $(x11) $(hddtemp) $(eve) $(ccurl_thread) $(rss) $(weather) \
+ $(lua) $(nvidia) $(imlib2) $(apcupsd)
+
+# collect all selected optional sources
+optional_sources =
+if BUILD_AUDACIOUS
+optional_sources += $(audacious)
endif
-
if BUILD_BMPX
-bmpx = bmpx.c
+optional_sources += $(bmpx)
+endif
+if BUILD_IBM
+optional_sources += $(ibm)
endif
-
if BUILD_MPD
-mpd = mpd.c libmpdclient.c
+optional_sources += $(mpd)
endif
-
if BUILD_MOC
-moc = moc.c
+optional_sources += $(moc)
endif
-
if BUILD_XMMS2
-xmms2 = xmms2.c
+optional_sources += $(xmms2)
endif
-
if BUILD_LINUX
-linux = linux.c top.c diskio.c users.c
-PTHREAD_LIBS = -lpthread
+optional_sources += $(linux)
endif
-
#if BUILD_SOLARIS
-#solaris = solaris.c
+#optional_sources += $(solaris)
#endif
-
if BUILD_FREEBSD
-freebsd = freebsd.c
-PTHREAD_LIBS = -pthread
+optional_sources += $(freebsd)
endif
-
#if BUILD_NETBSD
-#netbsd = netbsd.c
+#optional_sources += $(netbsd)
#endif
-
if BUILD_OPENBSD
-openbsd = openbsd.c
-PTHREAD_LIBS = -pthread
+optional_sources += $(openbsd)
endif
-
if BUILD_PORT_MONITORS
-port_monitors = libtcp-portmon.h libtcp-portmon.c \
- tcp-portmon.h tcp-portmon.c
+optional_sources += $(port_monitors)
endif
-
if BUILD_X11
-x11 = x11.c
+optional_sources += $(x11)
endif
-
if BUILD_HDDTEMP
-hddtemp = hddtemp.c
+optional_sources += $(hddtemp)
endif
-
if BUILD_EVE
-eve = eve.c eve.h
+optional_sources += $(eve)
+endif
+if BUILD_CURL
+optional_sources += $(ccurl_thread)
endif
-
if BUILD_RSS
-rss = rss.c prss.c prss.h
+optional_sources += $(rss)
endif
-
-if BUILD_SMAPI
-smapi = smapi.c smapi.h
+if BUILD_WEATHER
+optional_sources += $(weather)
+endif
+if BUILD_LUA
+optional_sources += $(lua)
endif
-
if BUILD_NVIDIA
-nvidia = nvidia.c nvidia.h
+optional_sources += $(nvidia)
+endif
+if BUILD_IMLIB2
+optional_sources += $(imlib2)
+endif
+if BUILD_APCUPSD
+optional_sources += $(apcupsd)
+endif
+if BUILD_ICONV
+optional_sources += $(iconv)
endif
-conky_SOURCES = \
- $(config_output) \
- $(config_cookie) \
- $(audacious) \
- $(bmpx) \
- common.c \
- conky.c \
- conky.h \
- $(freebsd) \
- fs.c \
- $(hddtemp) \
- $(linux) \
- logging.h \
- $(nvidia) \
- mail.c \
- mixer.c \
- $(mpd) \
- $(moc) \
- $(netbsd) \
- $(openbsd) \
- $(port_monitors) \
- $(eve) \
- $(rss) \
- $(solaris) \
- timed_thread.c \
- timed_thread.h \
- mboxscan.c \
- mboxscan.h \
- $(x11) \
- $(xmms2) \
- $(smapi) \
- temphelper.c \
- temphelper.h \
- text_object.h \
- text_object.c
-
-conky_LDFLAGS = \
- $(PTHREAD_LIBS) \
- -lm
+# linux takes the standard to the max
+if BUILD_LINUX
+PTHREAD_LIBS = -lpthread
+else
+PTHREAD_LIBS = -pthread
+endif
-EXTRA_DIST = \
- $(config_output) \
- $(config_cookie) \
- audacious.c \
- audacious.h \
- bmpx.c \
- common.h \
- freebsd.c \
- freebsd.h \
- fs.h \
- hddtemp.c \
- hddtemp.h \
- linux.c \
- linux.h \
- libmpdclient.c \
- libmpdclient.h \
- libtcp-portmon.c \
- libtcp-portmon.h \
- rss.h \
- mail.h \
- mixer.h \
- moc.h \
- moc.c \
- mpd.c \
- mpd.h \
- netbsd.c \
- nvidia.c \
- nvidia.h \
- openbsd.c \
- openbsd.h \
- solaris.c \
- top.h \
- diskio.h \
- x11.c \
- x11.h \
- xmms2.c \
- xmms2.h \
- smapi.c \
- users.c
+conky_LDFLAGS = $(PTHREAD_LIBS) -lm
+conky_SOURCES = $(config_output) $(config_cookie) \
+ $(optional_sources) $(mandatory_sources)
-# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
+# vi:set ts=4 sw=4 noet ai nocindent syntax=automake: