10
-include $(INTROSPECTION_MAKEFILE)
12
INTROSPECTION_SCANNER_ARGS = --warn-all --warn-error --add-include-path=$(srcdir)
13
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=$(MUTTER_TYPELIB_DIR)
15
typelibdir = $(pkglibdir)
16
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
18
CLEANFILES += $(gir_DATA) $(typelib_DATA)
20
bin_SCRIPTS += gnome-shell-extension-tool
21
bin_PROGRAMS = gnome-shell-real
23
if USE_JHBUILD_WRAPPER_SCRIPT
24
gnome_shell = gnome-shell-jhbuild
25
bin_SCRIPTS += gnome-shell-jhbuild
27
gnome_shell = gnome-shell-real
30
noinst_DATA = gnome-shell
31
gnome-shell: $(gnome_shell) Makefile
32
cp $< $@.tmp && mv $@.tmp $@
34
mv $(DESTDIR)$(bindir)/$(gnome_shell) $(DESTDIR)$(bindir)/gnome-shell
36
generated_script_substitutions = \
37
-e "s|@bindir[@]|$(bindir)|" \
38
-e "s|@datadir[@]|$(datadir)|" \
39
-e "s|@libexecdir[@]|$(libexecdir)|" \
40
-e "s|@libdir[@]|$(libdir)|" \
41
-e "s|@JHBUILD_TYPELIBDIR[@]|$(JHBUILD_TYPELIBDIR)|" \
42
-e "s|@pkgdatadir[@]|$(pkgdatadir)|" \
43
-e "s|@PYTHON[@]|$(PYTHON)|" \
44
-e "s|@VERSION[@]|$(VERSION)|" \
45
-e "s|@sysconfdir[@]|$(sysconfdir)|"
47
gnome-shell-jhbuild: gnome-shell-jhbuild.in gnome-shell-real Makefile
48
$(AM_V_GEN) sed $(generated_script_substitutions) $< > $@.tmp && mv $@.tmp $@ && chmod a+x $@
49
@# Regenerate libtool wrapper so Alt+F2 restart will work
50
@$(LIBTOOL) --mode=execute test -f gnome-shell-real
52
gnome-shell-extension-tool: gnome-shell-extension-tool.in Makefile
53
$(AM_V_GEN) sed $(generated_script_substitutions) $< > $@.tmp && mv $@.tmp $@ && chmod a+x $@
55
CLEANFILES += gnome-shell $(bin_SCRIPTS)
56
EXTRA_DIST += $(bin_SCRIPTS:=.in)
58
include Makefile-gdmuser.am
59
include Makefile-st.am
60
include Makefile-tray.am
61
include Makefile-gvc.am
62
include Makefile-calendar-server.am
64
gnome_shell_cflags = \
65
$(GNOME_SHELL_CFLAGS) \
67
-DVERSION=\"$(VERSION)\" \
68
-DLOCALEDIR=\"$(datadir)/locale\" \
69
-DDATADIR=\"$(datadir)\" \
70
-DGNOME_SHELL_LIBEXECDIR=\"$(libexecdir)\" \
71
-DGNOME_SHELL_DATADIR=\"$(pkgdatadir)\" \
72
-DGNOME_SHELL_PKGLIBDIR=\"$(pkglibdir)\" \
73
-DJSDIR=\"$(pkgdatadir)/js\"
75
privlibdir = $(pkglibdir)
76
privlib_LTLIBRARIES = libgnome-shell.la
78
shell_built_sources = \
84
BUILT_SOURCES += $(shell_built_sources)
85
EXTRA_DIST += shell-marshal.list
87
shell_public_headers_h = \
93
shell-embedded-window.h \
94
shell-generic-container.h \
97
shell-mobile-providers.h \
102
shell-tray-manager.h \
104
shell-window-tracker.h \
106
shell-xfixes-cursor.h
108
libgnome_shell_la_SOURCES = \
109
$(shell_built_sources) \
110
$(shell_public_headers_h) \
111
shell-app-private.h \
112
shell-embedded-window-private.h \
113
shell-global-private.h \
114
shell-jsapi-compat-private.h \
115
shell-window-tracker-private.h \
117
gnome-shell-plugin.c \
125
shell-embedded-window.c \
126
shell-generic-container.c \
129
shell-mobile-providers.c \
131
shell-polkit-authentication-agent.h \
132
shell-polkit-authentication-agent.c \
136
shell-tray-manager.c \
138
shell-window-tracker.c \
140
shell-xfixes-cursor.c
142
libgnome_shell_la_gir_sources = \
143
$(filter-out %-private.h $(shell_recorder_non_gir_sources), $(shell_public_headers_h) $(libgnome_shell_la_SOURCES))
145
gnome_shell_real_SOURCES = \
147
gnome_shell_real_CPPFLAGS = $(gnome_shell_cflags)
148
gnome_shell_real_LDADD = libgnome-shell.la $(libgnome_shell_la_LIBADD)
149
gnome_shell_real_DEPENDENCIES = libgnome-shell.la
151
########################################
153
shell_recorder_sources = \
157
# Custom element is an internal detail
158
shell_recorder_non_gir_sources = \
159
shell-recorder-src.c \
163
libgnome_shell_la_SOURCES += $(shell_recorder_sources) $(shell_recorder_non_gir_sources)
165
noinst_PROGRAMS += test-recorder
167
test_recorder_CPPFLAGS = $(TEST_SHELL_RECORDER_CFLAGS)
168
test_recorder_LDADD = $(TEST_SHELL_RECORDER_LIBS)
170
test_recorder_SOURCES = \
171
$(shell_recorder_sources) $(shell_recorder_non_gir_sources) \
175
########################################
177
libexec_PROGRAMS += gnome-shell-perf-helper
179
gnome_shell_perf_helper_SOURCES = shell-perf-helper.c
180
gnome_shell_perf_helper_CPPFLAGS = $(SHELL_PERF_HELPER_CFLAGS)
181
gnome_shell_perf_helper_LDADD = $(SHELL_PERF_HELPER_LIBS)
183
########################################
185
# In order to run the interactive tests for GUI components, we need to have
186
# an executable that exports the St components. Libtool doesn't have a way
187
# to include all the symbols from a convenience library into a executable
188
# so what we do is build a small uninstalled library that pulls in the
189
# St convenience library and link the test running program to that.
191
noinst_LTLIBRARIES += libjs-test.la
193
libjs_test_la_LDFLAGS = -rpath $(libdir)
194
libjs_test_la_CPPFLAGS = $(JS_TEST_CFLAGS)
195
libjs_test_la_LIBADD = $(JS_TEST_LIBS) libst-1.0.la
197
# The tests use or reference a couple of Shell classes
198
libjs_test_la_SOURCES = \
199
shell-generic-container.c \
202
noinst_PROGRAMS += run-js-test
204
run_js_test_CPPFLAGS = $(JS_TEST_CFLAGS)
205
run_js_test_LDADD = $(JS_TEST_LIBS) libjs-test.la
206
run_js_test_LDFLAGS = -export-dynamic
208
run_js_test_SOURCES = \
211
########################################
213
shell-marshal.h: stamp-shell-marshal.h
215
stamp-shell-marshal.h: Makefile shell-marshal.list
216
$(AM_V_GEN) $(GLIB_GENMARSHAL) \
217
--prefix=_shell_marshal \
219
$(srcdir)/shell-marshal.list > xgen-smh && \
220
(cmp -s xgen-smh shell-marshal.h || cp -f xgen-smh shell-marshal.h) && \
222
echo timestamp > $(@F)
223
CLEANFILES += stamp-shell-marshal.h
225
shell-marshal.c: Makefile shell-marshal.list
226
$(AM_V_GEN) (echo "#include \"shell-marshal.h\"" ; \
228
--prefix=_shell_marshal \
230
$(srcdir)/shell-marshal.list ) > xgen-smc && \
231
cp -f xgen-smc shell-marshal.c && \
235
shell-enum-types.h: stamp-shell-enum-types.h Makefile
237
stamp-shell-enum-types.h: $(srcdir)/shell-enum-types.h.in $(shell_public_headers_h)
238
$(AM_V_GEN) ( cd $(srcdir) && \
241
$(shell_public_headers_h) ) > $(@F).tmp && \
242
(cmp -s $(@F).tmp shell-enum-types.h || mv $(@F).tmp shell-enum-types.h) && \
244
echo timestamp > $(@F)
245
EXTRA_DIST += shell-enum-types.h.in
246
CLEANFILES += stamp-shell-enum-types.h
248
shell-enum-types.c: shell-enum-types.c.in stamp-shell-enum-types.h
249
$(AM_V_GEN) ( cd $(srcdir) && \
252
$(shell_public_headers_h) ) > $(@F).tmp && \
253
mv $(@F).tmp $(@F) && \
255
EXTRA_DIST += shell-enum-types.c.in
257
libgnome_shell_la_LDFLAGS = -avoid-version
258
libgnome_shell_la_LIBADD = \
260
$(GNOME_SHELL_LIBS) \
268
libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags)
270
Shell-0.1.gir: libgnome-shell.la St-1.0.gir
271
Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 TelepathyLogger-0.2
272
Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
273
Shell_0_1_gir_LIBS = libgnome-shell.la
274
Shell_0_1_gir_FILES = $(addprefix $(srcdir)/,$(libgnome_shell_la_gir_sources))
275
Shell_0_1_gir_SCANNERFLAGS = --include-uninstalled=$(builddir)/St-1.0.gir \
276
--add-include-path=$(MUTTER_GIR_DIR)
277
INTROSPECTION_GIRS += Shell-0.1.gir
278
CLEANFILES += Shell-0.1.gir
280
St-1.0.gir: libst-1.0.la
281
St_1_0_gir_INCLUDES = Clutter-1.0 Gtk-3.0
282
St_1_0_gir_CFLAGS = $(st_cflags) -DST_COMPILATION
283
St_1_0_gir_LIBS = libst-1.0.la
284
St_1_0_gir_FILES = $(filter-out %-private.h $(st_non_gir_sources), $(addprefix $(srcdir)/,$(st_source_h))) \
285
$(addprefix $(srcdir)/,$(st_source_c))
286
INTROSPECTION_GIRS += St-1.0.gir
287
CLEANFILES += St-1.0.gir
289
Gdm-1.0.gir: libgdmuser-1.0.la
290
Gdm_1_0_gir_INCLUDES = GObject-2.0 GdkPixbuf-2.0
291
Gdm_1_0_gir_CFLAGS = $(gdmuser_cflags)
292
Gdm_1_0_gir_LIBS = libgdmuser-1.0.la
293
Gdm_1_0_gir_FILES = $(filter-out %-private.h, $(addprefix $(srcdir)/,$(gdmuser_source_h))) \
294
$(addprefix $(srcdir)/,$(gdmuser_source_c))
295
INTROSPECTION_GIRS += Gdm-1.0.gir
296
CLEANFILES += Gdm-1.0.gir