Merge branch 'dbus-1.2'
[platform/upstream/dbus.git] / bus / Makefile.am
1
2 configdir=$(sysconfdir)/dbus-1
3
4 INCLUDES=-I$(top_srcdir) $(DBUS_BUS_CFLAGS) @PIE_CFLAGS@                \
5         -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\"        \
6         -DDBUS_COMPILATION
7
8 EFENCE=
9
10 CONFIG_IN_FILES=                                \
11         session.conf.in                         \
12         system.conf.in
13
14 config_DATA=                                    \
15         session.conf                            \
16         system.conf
17
18 if DBUS_USE_LIBXML
19 XML_SOURCES=config-loader-libxml.c
20 endif
21 if DBUS_USE_EXPAT
22 XML_SOURCES=config-loader-expat.c
23 endif
24
25 if DBUS_BUS_ENABLE_KQUEUE
26 DIR_WATCH_SOURCE=dir-watch-kqueue.c
27 else
28 if DBUS_BUS_ENABLE_INOTIFY
29 DIR_WATCH_SOURCE=dir-watch-inotify.c
30 else
31 if DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX
32 DIR_WATCH_SOURCE=dir-watch-dnotify.c
33 else
34 DIR_WATCH_SOURCE=dir-watch-default.c
35 endif
36 endif
37 endif
38
39 BUS_SOURCES=                                    \
40         activation.c                            \
41         activation.h                            \
42         activation-exit-codes.h                 \
43         bus.c                                   \
44         bus.h                                   \
45         config-parser.c                         \
46         config-parser.h                         \
47         config-parser-common.c                  \
48         config-parser-common.h                  \
49         connection.c                            \
50         connection.h                            \
51         desktop-file.c                          \
52         desktop-file.h                          \
53         $(DIR_WATCH_SOURCE)                     \
54         dir-watch.h                             \
55         dispatch.c                              \
56         dispatch.h                              \
57         driver.c                                \
58         driver.h                                \
59         expirelist.c                            \
60         expirelist.h                            \
61         policy.c                                \
62         policy.h                                \
63         selinux.h                               \
64         selinux.c                               \
65         services.c                              \
66         services.h                              \
67         signals.c                               \
68         signals.h                               \
69         test.c                                  \
70         test.h                                  \
71         utils.c                                 \
72         utils.h                                 \
73         $(XML_SOURCES)
74
75 dbus_daemon_SOURCES=                            \
76         $(BUS_SOURCES)                          \
77         main.c
78
79 dbus_daemon_CPPFLAGS = -DDBUS_STATIC_BUILD
80 dbus_daemon_LDADD=                                      \
81         $(top_builddir)/dbus/libdbus-internal.la        \
82         $(EFENCE)                                       \
83         $(DBUS_BUS_LIBS)
84
85 dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ @PIE_LDFLAGS@
86
87 LAUNCH_HELPER_SOURCES=                          \
88         $(XML_SOURCES)                          \
89         config-parser-common.c                  \
90         config-parser-common.h                  \
91         config-parser-trivial.c                 \
92         config-parser-trivial.h                 \
93         desktop-file.c                          \
94         desktop-file.h                          \
95         utils.c                                 \
96         utils.h                                 \
97         activation-exit-codes.h                 \
98         activation-helper.h                     \
99         activation-helper.c
100
101 ## This is the installed launch helper with the setuid checks
102 dbus_daemon_launch_helper_SOURCES=              \
103         activation-helper-bin.c                 \
104         $(LAUNCH_HELPER_SOURCES)
105
106 dbus_daemon_launch_helper_CPPFLAGS = -DDBUS_STATIC_BUILD
107 dbus_daemon_launch_helper_LDADD=                \
108         $(top_builddir)/dbus/libdbus-internal.la \
109         $(DBUS_LAUNCHER_LIBS)
110
111 dbus_daemon_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@
112
113 ## we build another binary so we can do the launch testing without root privs.
114 ## DO NOT INSTALL THIS FILE
115 dbus_daemon_launch_helper_test_SOURCES=         \
116         activation-helper-bin.c                 \
117         $(LAUNCH_HELPER_SOURCES)
118
119 dbus_daemon_launch_helper_test_LDADD=           \
120         $(top_builddir)/dbus/libdbus-internal.la \
121         $(DBUS_LAUNCHER_LIBS)
122
123 dbus_daemon_launch_helper_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@
124 dbus_daemon_launch_helper_test_CPPFLAGS= -DDBUS_STATIC_BUILD    \
125         -DACTIVATION_LAUNCHER_TEST
126
127 ## we build yet another binary so we can do the OOM tests
128 ## DO NOT INSTALL THIS FILE
129 bus_test_launch_helper_SOURCES=         \
130         test-launch-helper.c            \
131         $(LAUNCH_HELPER_SOURCES)
132
133 bus_test_launch_helper_LDADD=           \
134         $(top_builddir)/dbus/libdbus-internal.la \
135         $(DBUS_LAUNCHER_LIBS)
136
137 bus_test_launch_helper_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@
138 bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD    \
139         -DACTIVATION_LAUNCHER_TEST      \
140         -DACTIVATION_LAUNCHER_DO_OOM
141
142 extra_tests=
143 extra_noinst_programs=
144 extra_inst_programs=
145 if DBUS_UNIX
146 extra_tests+=bus-test-launch-helper
147 extra_noinst_programs+=dbus-daemon-launch-helper dbus-daemon-launch-helper-test dbus-daemon
148 endif
149 if DBUS_WIN
150 extra_inst_programs+=dbus-daemon
151 endif
152
153 ## note that TESTS has special meaning (stuff to use in make check)
154 ## so if adding tests not to be run in make check, don't add them to
155 ## TESTS
156 if DBUS_BUILD_TESTS
157 TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus DBUS_FATAL_WARNINGS=1 DBUS_BLOCK_ON_ABORT=1
158 TESTS=bus-test bus-test-system $(extra_tests)
159 else
160 TESTS=
161 endif
162
163 ## we use noinst_PROGRAMS not check_PROGRAMS so that we build
164 ## even when not doing "make check"
165 noinst_PROGRAMS=$(TESTS) $(extra_noinst_programs)
166 bin_PROGRAMS=$(extra_inst_programs)
167
168 bus_test_system_SOURCES=                        \
169         $(XML_SOURCES)                          \
170         config-parser-common.c                  \
171         config-parser-common.h                  \
172         config-parser-trivial.c                 \
173         config-parser-trivial.h                 \
174         utils.c                                 \
175         utils.h                                 \
176         test-system.c
177
178 bus_test_system_CPPFLAGS = -DDBUS_STATIC_BUILD
179 bus_test_system_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_BUS_LIBS)
180 bus_test_system_LDFLAGS=@R_DYNAMIC_LDFLAG@
181
182 bus_test_SOURCES=                               \
183         $(BUS_SOURCES)                          \
184         test-main.c
185
186 bus_test_CPPFLAGS = -DDBUS_STATIC_BUILD
187 bus_test_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_BUS_LIBS)
188 bus_test_LDFLAGS=@R_DYNAMIC_LDFLAG@
189
190 ## mop up the gcov files
191 clean-local:
192         /bin/rm *.bb *.bbg *.da *.gcov || true
193
194 uninstall-hook:
195         rm -f $(DESTDIR)$(DBUS_DAEMONDIR)/dbus-daemon$(EXEEXT)
196         rm -f $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT)
197
198 install-data-hook:
199         $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
200         $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
201         $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d
202         $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
203         $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services
204 if DBUS_UNIX
205         if test '!' -d $(DESTDIR)$(DBUS_DAEMONDIR); then \
206                 $(mkinstalldirs) $(DESTDIR)$(DBUS_DAEMONDIR); \
207                 chmod 755 $(DESTDIR)$(DBUS_DAEMONDIR); \
208         fi
209         $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) dbus-daemon$(EXEEXT) $(DESTDIR)$(DBUS_DAEMONDIR)
210         $(mkinstalldirs) $(DESTDIR)$(libexecdir)/dbus-1
211         if test -f dbus-daemon-launch-helper$(EXEEXT) ; then \
212         $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) dbus-daemon-launch-helper$(EXEEXT) $(DESTDIR)$(libexecdir); \
213         if test `id -u` -eq 0; then \
214                 chown root:$(DBUS_USER) $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT); \
215                 chmod 4750 $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper$(EXEEXT); \
216         else \
217                 echo "Not installing $(DESTDIR)$(libexecdir)/dbus-daemon-launch-helper binary setuid!"; \
218                 echo "You'll need to manually set permissions to root:$(DBUS_USER) and permissions 4750"; \
219         fi \
220         fi
221 endif
222 if HAVE_SYSTEMD
223 # Install dbus.socket as default implementation of a D-Bus stack
224         $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants
225         $(LN_S) ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/dbus.target.wants/dbus.socket
226 endif
227
228 #### Init scripts fun
229 SCRIPT_IN_FILES=messagebus.in \
230                 messagebus-config.in \
231                 rc.messagebus.in
232
233 ## Red Hat start
234 if DBUS_INIT_SCRIPTS_RED_HAT
235
236 initddir=$(sysconfdir)/rc.d/init.d
237
238 initd_SCRIPTS=  \
239         messagebus
240
241 endif
242  ## Red Hat end
243
244 ## Slackware start
245 if DBUS_INIT_SCRIPTS_SLACKWARE
246
247 initddir=$(sysconfdir)/rc.d/
248
249 initd_SCRIPTS=  \
250         rc.messagebus
251
252 endif
253 ## Slackware end
254
255 ## Cygwin start
256 if DBUS_INIT_SCRIPTS_CYGWIN
257
258 bin_SCRIPTS=    \
259         messagebus-config
260
261 endif
262 ## Cygwin end
263
264 if HAVE_SYSTEMD
265 SCRIPT_IN_FILES += \
266         dbus.service.in \
267         dbus.socket.in
268
269 systemdsystemunit_DATA = \
270         dbus.service \
271         dbus.socket
272 endif
273
274 MAN_IN_FILES=dbus-daemon.1.in
275 man_MANS = dbus-daemon.1
276
277 #### Extra dist
278
279 EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES) $(man_MANS) $(MAN_IN_FILES)