view src/audacious/Makefile @ 2837:b6b8fe38e1e3 trunk

Fix handling of buildstamp rule.
author William Pitcock <nenolod@atheme.org>
date Fri, 15 Jun 2007 12:21:25 -0500
parents 7035e35d4067
children c2622a939e9e
line wrap: on
line source

include ../../mk/rules.mk
include ../../mk/init.mk
include ../../mk/objective.mk

SUBDIRS = widgets glade images ui

OBJECTIVE_BINS = audacious

LDFLAGS += $(AUDLDFLAGS)

LDADD = \
	-L.. $(LIBINTL) \
	$(samplerate_LIBS) \
	$(CHARDET_LIBS) \
	$(GTK_LIBS) \
	$(DBUS_LIBS) \
	$(MOWGLI_LIBS) \
	$(LIBMCS_LIBS) \
	$(LIBGLADE_LIBS) \
	$(REGEX_LIBS) \
	./widgets/libwidgets.a

CFLAGS += \
	$(MOWGLI_CFLAGS) \
	$(GTK_CFLAGS) \
	$(LIBGLADE_CFLAGS) \
	$(BEEP_DEFINES) \
	$(ARCH_DEFINES) \
	$(DBUS_CFLAGS) \
	$(samplerate_CFLAGS) \
	$(REGEX_CFLAGS) \
	$(LIBMCS_CFLAGS) \
	-D_AUDACIOUS_CORE \
	-I.. -I../.. \
	-I../intl

HEADERS = \
	auddrct.h \
	configdb.h \
	dbus.h \
	formatter.h \
	rcfile.h \
	i18n.h \
	input.h \
	hook.h \
	main.h \
	output.h \
	playlist.h \
	playlist_container.h \
	plugin.h \
	strings.h \
	titlestring.h \
	ui_fileinfopopup.h \
	ui_preferences.h \
	util.h \
	vfs.h \
	vfs_buffer.h \
	vfs_buffered_file.h \
	xconvert.h

SOURCES = \
	auddrct.c \
	build_stamp.c \
	configdb.c \
	dnd.c \
	dock.c \
	effect.c \
	fft.c \
	formatter.c \
	general.c \
	genevent.c \
	glade.c \
	hints.c \
	hook.c \
	iir.c \
	iir_cfs.c \
	iir_fpu.c \
	input.c \
	logger.c \
	main.c \
	memorypool.c \
	output.c \
	pixbuf_effects.c \
	playback.c \
	playlist.c \
	playlist_container.c \
	pluginenum.c \
	rcfile.c \
	signals.c \
	strings.c \
	titlestring.c \
	ui_about.c \
	ui_albumart.c \
	ui_credits.c \
	ui_equalizer.c \
	ui_fileinfo.c \
	ui_fileinfopopup.c \
	ui_fileopener.c \
	ui_jumptotrack.c \
	ui_main.c \
	ui_manager.c \
	ui_playlist.c \
	ui_playlist_manager.c \
	ui_preferences.c \
	ui_skinned_cursor.c \
	ui_skinned_window.c \
	ui_skinselector.c \
	ui_urlopener.c \
	urldecode.c \
	util.c \
	vfs.c \
	vfs_buffer.c \
	vfs_buffered_file.c \
	vfs_common.c \
	visualization.c \
	xconvert.c

LIBDEP = widgets/libwidgets.a ../libguess/libguess.a ../librcd/librcd.a

ifdef USE_DBUS
SOURCES += dbus.c
CFLAGS += -I../libaudclient
DBUS_BINDINGS = dbus-server-bindings.h dbus-client-bindings.h
OBJECTIVE_LIBS_NOINST += $(DBUS_BINDINGS)
LIBDEP += ../libaudclient/libaudclient.so
LDADD += -L../libaudclient -laudclient
endif

depend-prehook: $(DBUS_BINDINGS)
	if [ -d ../../.hg ]; then \
		revh=`hg tip --template 'const char *svn_stamp = "#rev#:#node|short#";\n' 2>/dev/null`; \
		[ -z "$$revh" ] || echo "$$revh" > build_stamp.c; \
		printf "%10s     %-20s\n" STAMP "build_stamp.c"; \
	fi

DBUS_BINDINGS_SOURCES = \
	objects.xml \
	mpris_root.xml \
	mpris_tracklist.xml \
	mpris_player.xml

OBJECTS = ${SOURCES:.c=.o}

desktop_DATA = audacious.desktop
desktopdir = $(datadir)/applications

audacious: $(OBJECTS) $(LIBDEP)
	$(CXX) $(LDFLAGS) $(OBJECTS) $(LDADD) -o $@ 
	@printf "%10s     %-20s\n" LINK $@

dbus-server-bindings.h: $(DBUS_BINDINGS_SOURCES)
	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=audacious_rc objects.xml > $@
	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_root mpris_root.xml >> $@
	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_tracklist mpris_tracklist.xml >> $@
	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_player mpris_player.xml >> $@
	@printf "%10s     %-20s\n" DBUS-BIND $@

dbus-client-bindings.h: $(DBUS_BINDINGS_SOURCES)
	$(DBUS_BINDING_TOOL) --mode=glib-client --prefix=audacious_rc objects.xml > $@
	@printf "%10s     %-20s\n" DBUS-BIND $@

OBJECTIVE_DATA = audacious.desktop:$(datadir)/applications