Merge branch 'documentation-build-system'
[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 # Unconditionally enable D-Bus on systemd installations
227         $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants
228         $(LN_S) ../dbus.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/dbus.socket
229         $(mkinstalldirs) $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants
230         $(LN_S) ../dbus.service $(DESTDIR)$(systemdsystemunitdir)/multi-user.target.wants/dbus.service
231 endif
232
233 #### Init scripts fun
234 SCRIPT_IN_FILES=messagebus.in \
235                 messagebus-config.in \
236                 rc.messagebus.in
237
238 ## Red Hat start
239 if DBUS_INIT_SCRIPTS_RED_HAT
240
241 initddir=$(sysconfdir)/rc.d/init.d
242
243 initd_SCRIPTS=  \
244         messagebus
245
246 endif
247  ## Red Hat end
248
249 ## Slackware start
250 if DBUS_INIT_SCRIPTS_SLACKWARE
251
252 initddir=$(sysconfdir)/rc.d/
253
254 initd_SCRIPTS=  \
255         rc.messagebus
256
257 endif
258 ## Slackware end
259
260 ## Cygwin start
261 if DBUS_INIT_SCRIPTS_CYGWIN
262
263 bin_SCRIPTS=    \
264         messagebus-config
265
266 endif
267 ## Cygwin end
268
269 if HAVE_SYSTEMD
270 SCRIPT_IN_FILES += \
271         dbus.service.in \
272         dbus.socket.in
273
274 systemdsystemunit_DATA = \
275         dbus.service \
276         dbus.socket
277 endif
278
279 #### Extra dist
280
281 EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES)