aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile.am
blob: aace163a8ecf735b4c56bc9da83937b1f7d4230d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
CLEANFILES = 
DISTCLEANFILES = 
BUILT_SOURCES = 
EXTRA_DIST = 

include $(top_srcdir)/Makefile.am.enum

##################################
# Indicator
##################################

customlibdir = $(INDICATORDIR)
customlib_LTLIBRARIES = libcustom.la
libcustom_la_SOURCES = \
	indicator-custom.c
libcustom_la_CFLAGS = $(INDICATOR_CFLAGS) \
	-Wall \
	-Wl,-Bsymbolic-functions \
	-Wl,-z,defs \
	-Wl,--as-needed \
	-Werror
libcustom_la_LIBADD = $(INDICATOR_LIBS)
libcustom_la_LDFLAGS = -module -avoid-version

##################################
# Service
##################################

libexec_PROGRAMS = indicator-custom-service

indicator_custom_service_SOURCES = \
	custom-service.c \
	notification-item-client.h \
	notification-watcher-server.h
indicator_custom_service_CFLAGS = \
	$(INDICATOR_CFLAGS) \
	-Wall -Werror
indicator_custom_service_LDADD = \
	$(INDICATOR_LIBS)

##################################
# Library
##################################

glib_enum_h = libcustomindicator/custom-indicator-enum-types.h
glib_enum_c = libcustomindicator/custom-indicator-enum-types.c
glib_enum_headers = $(libcustomindicator_headers)

lib_LTLIBRARIES = \
	libcustomindicator.la

libcustomindicatorincludedir=$(includedir)/libcustomindicator-0.1/libcustomindicator

libcustomindicator_headers = \
	$(srcdir)/libcustomindicator/custom-indicator.h

libcustomindicatorinclude_HEADERS = \
	$(libcustomindicator_headers) \
	$(glib_enum_h)

libcustomindicator_la_SOURCES = \
	$(libcustomindicator_headers) \
	$(glib_enum_c) \
	notification-watcher-client.h \
	notification-item-server.h \
	libcustomindicator/custom-indicator.c

libcustomindicator_la_LDFLAGS = \
	-version-info 0:0:0 \
	-no-undefined \
	-export-symbols-regex "^[^_d].*"

libcustomindicator_la_CFLAGS = \
	$(INDICATOR_CFLAGS) \
	-Wall -Werror

libcustomindicator_la_LIBADD = \
	$(INDICATOR_LIBS)

##################################
# DBus Specs
##################################

DBUS_SPECS = \
	custom-service.xml \
	notification-item.xml \
	notification-watcher.xml

%-client.h: %.xml
	dbus-binding-tool \
		--prefix=_$(subst -,_,$(<:.xml=))_client \
		--mode=glib-client \
		--output=$@ \
		$<

%-server.h: %.xml
	dbus-binding-tool \
		--prefix=_$(subst -,_,$(<:.xml=))_server \
		--mode=glib-server \
		--output=$@ \
		$<

BUILT_SOURCES += \
	$(DBUS_SPECS:.xml=-client.h) \
	$(DBUS_SPECS:.xml=-server.h)

CLEANFILES += $(BUILT_SOURCES)

EXTRA_DIST += $(DBUS_SPECS)