Move constructor macros to an internal header and into generated code
[platform/upstream/glib.git] / gio / Makefile.am
1 include $(top_srcdir)/Makefile.decl
2
3 NULL =
4
5 SUBDIRS = gdbus-2.0/codegen
6
7 if OS_UNIX
8 SUBDIRS += xdgmime
9 endif
10
11 noinst_PROGRAMS = data-to-c
12
13 data_to_c_SOURCES = data-to-c.c
14 data_to_c_LDADD = $(top_builddir)/glib/libglib-2.0.la
15
16 if OS_WIN32_AND_DLL_COMPILATION
17 if MS_LIB_AVAILABLE
18 noinst_DATA = gio-2.0.lib
19
20 install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
21 uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
22 endif
23 endif
24
25 install-ms-lib:
26         $(install_ms_lib_cmd)
27
28 uninstall-ms-lib:
29         $(uninstall_ms_lib_cmd)
30
31 gio.def: gio.symbols
32         $(AM_V_GEN) (echo EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gio.symbols | sed -e '/^$$/d' -e 's/^/        /' -e 's/G_GNUC_[^ ]*//g' | sort) > gio.def.tmp && \
33           mv gio.def.tmp gio.def
34
35 if OS_LINUX
36 if HAVE_GNUC_VISIBILITY
37 TESTS = abicheck.sh
38 endif
39 endif
40
41 AM_CPPFLAGS = \
42         -DG_LOG_DOMAIN=\"GLib-GIO\"                     \
43         $(gmodule_INCLUDES)                             \
44         $(GLIB_DEBUG_FLAGS)                             \
45         -DGIO_COMPILATION                               \
46         -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\"  
47
48 lib_LTLIBRARIES = libgio-2.0.la
49
50 gdbus_headers =                         \
51         gdbusauthobserver.h             \
52         gcredentials.h                  \
53         gdbusutils.h                    \
54         gdbuserror.h                    \
55         gdbusaddress.h                  \
56         gdbusconnection.h               \
57         gdbusmessage.h                  \
58         gdbusnameowning.h               \
59         gdbusnamewatching.h             \
60         gdbusproxy.h                    \
61         gdbusintrospection.h            \
62         gdbusmethodinvocation.h         \
63         gdbusserver.h                   \
64         gdbusinterface.h                \
65         gdbusinterfaceskeleton.h        \
66         gdbusobject.h                   \
67         gdbusobjectskeleton.h           \
68         gdbusobjectproxy.h              \
69         gdbusobjectmanager.h            \
70         gdbusobjectmanagerclient.h      \
71         gdbusobjectmanagerserver.h      \
72         $(NULL)
73
74 gdbus_sources =                                                         \
75         gdbusutils.h                    gdbusutils.c                    \
76         gdbusaddress.h                  gdbusaddress.c                  \
77         gdbusauthobserver.h             gdbusauthobserver.c             \
78         gdbusauth.h                     gdbusauth.c                     \
79         gdbusauthmechanism.h            gdbusauthmechanism.c            \
80         gdbusauthmechanismanon.h        gdbusauthmechanismanon.c        \
81         gdbusauthmechanismexternal.h    gdbusauthmechanismexternal.c    \
82         gdbusauthmechanismsha1.h        gdbusauthmechanismsha1.c        \
83         gdbuserror.h                    gdbuserror.c                    \
84         gdbusconnection.h               gdbusconnection.c               \
85         gdbusmessage.h                  gdbusmessage.c                  \
86         gdbusnameowning.h               gdbusnameowning.c               \
87         gdbusnamewatching.h             gdbusnamewatching.c             \
88         gdbusproxy.h                    gdbusproxy.c                    \
89         gdbusprivate.h                  gdbusprivate.c                  \
90         gdbusintrospection.h            gdbusintrospection.c            \
91         gdbusmethodinvocation.h         gdbusmethodinvocation.c         \
92         gdbusserver.h                   gdbusserver.c                   \
93         gdbusinterface.h                gdbusinterface.c                \
94         gdbusinterfaceskeleton.h        gdbusinterfaceskeleton.c        \
95         gdbusobject.h                   gdbusobject.c                   \
96         gdbusobjectskeleton.h           gdbusobjectskeleton.c           \
97         gdbusobjectproxy.h              gdbusobjectproxy.c              \
98         gdbusobjectmanager.h            gdbusobjectmanager.c            \
99         gdbusobjectmanagerclient.h      gdbusobjectmanagerclient.c      \
100         gdbusobjectmanagerserver.h      gdbusobjectmanagerserver.c      \
101         $(NULL)
102
103 settings_headers = \
104         gsettingsbackend.h              \
105         gsettingsschema.h               \
106         gsettings.h
107
108 settings_sources = \
109         gvdb/gvdb-format.h              \
110         gvdb/gvdb-reader.h              \
111         gvdb/gvdb-reader.c              \
112         gdelayedsettingsbackend.h       \
113         gdelayedsettingsbackend.c       \
114         gkeyfilesettingsbackend.c       \
115         gmemorysettingsbackend.c        \
116         gnullsettingsbackend.c          \
117         gsettingsbackendinternal.h      \
118         gsettingsbackend.c              \
119         gsettingsschema.h               \
120         gsettingsschema-internal.h      \
121         gsettingsschema.c               \
122         gsettings-mapping.h             \
123         gsettings-mapping.c             \
124         gsettings.c
125
126 if OS_WIN32
127 settings_sources += \
128         gregistrysettingsbackend.h      \
129         gregistrysettingsbackend.c
130 endif
131
132 if OS_CARBON
133 AM_CPPFLAGS += -DG_OS_CARBON
134
135 settings_sources += \
136         gnextstepsettingsbackend.c
137 endif
138
139 application_headers = \
140         gapplication.h                  \
141         gapplicationcommandline.h       \
142                                         \
143         gactiongroup.h                  \
144         gactionmap.h                    \
145         gsimpleactiongroup.h            \
146         gremoteactiongroup.h            \
147         gactiongroupexporter.h          \
148         gdbusactiongroup.h              \
149         gaction.h                       \
150         gsimpleaction.h                 \
151                                         \
152         gmenumodel.h                    \
153         gmenu.h                         \
154         gmenuexporter.h                 \
155         gdbusmenumodel.h                \
156         $(NULL)
157
158 application_sources = \
159         gapplication.c                          \
160         gapplicationcommandline.c               \
161         gapplicationimpl-dbus.c                 \
162         gapplicationimpl.h                      \
163                                                 \
164         gactiongroup.c                          \
165         gactionmap.c                            \
166         gsimpleactiongroup.c                    \
167         gremoteactiongroup.c                    \
168         gactiongroupexporter.c                  \
169         gdbusactiongroup.c                      \
170         gaction.c                               \
171         gsimpleaction.c                         \
172                                                 \
173         gmenumodel.c                            \
174         gmenu.c                                 \
175         gmenuexporter.c                         \
176         gdbusmenumodel.c                        \
177         $(NULL)
178
179 local_sources = \
180         glocaldirectorymonitor.c        \
181         glocaldirectorymonitor.h        \
182         glocalfile.c                    \
183         glocalfile.h                    \
184         glocalfileenumerator.c          \
185         glocalfileenumerator.h          \
186         glocalfileinfo.c                \
187         glocalfileinfo.h                \
188         glocalfileinputstream.c         \
189         glocalfileinputstream.h         \
190         glocalfilemonitor.c             \
191         glocalfilemonitor.h             \
192         glocalfileoutputstream.c        \
193         glocalfileoutputstream.h        \
194         glocalfileiostream.c            \
195         glocalfileiostream.h            \
196         glocalvfs.c                     \
197         glocalvfs.h                     \
198         gsocks4proxy.c                  \
199         gsocks4proxy.h                  \
200         gsocks4aproxy.c                 \
201         gsocks4aproxy.h                 \
202         gsocks5proxy.c                  \
203         gsocks5proxy.h                  \
204         $(NULL)
205
206 platform_libadd =
207 platform_deps =
208 appinfo_sources =
209
210 if HAVE_INOTIFY
211 SUBDIRS += inotify
212 platform_libadd += inotify/libinotify.la
213 platform_deps += inotify/libinotify.la
214 endif
215
216 if HAVE_FEN
217 AM_CPPFLAGS += -DHAVE_FEN
218 SUBDIRS += fen
219 platform_libadd += fen/libfen.la
220 platform_deps += fen/libfen.la
221 endif
222
223 if OS_WIN32
224 SUBDIRS += win32
225 platform_libadd += win32/libgiowin32.la
226 platform_deps += win32/libgiowin32.la
227 endif
228
229 SUBDIRS += .
230
231 if HAVE_FAM
232 SUBDIRS += fam
233 endif
234
235 if OS_UNIX
236 appinfo_sources += gdesktopappinfo.c
237 platform_libadd += xdgmime/libxdgmime.la $(RESOLVER_LIBADD)
238 platform_deps += xdgmime/libxdgmime.la
239 unix_sources = \
240         gfiledescriptorbased.c  \
241         gunixconnection.c       \
242         gunixcredentialsmessage.c       \
243         gunixfdlist.c           \
244         gunixfdmessage.c        \
245         gunixmount.c            \
246         gunixmount.h            \
247         gunixmounts.c           \
248         gunixsocketaddress.c    \
249         gunixvolume.c           \
250         gunixvolume.h           \
251         gunixvolumemonitor.c    \
252         gunixvolumemonitor.h    \
253         gunixinputstream.c      \
254         gunixoutputstream.c     \
255         $(NULL)
256
257
258 giounixincludedir=$(includedir)/gio-unix-2.0/gio
259 giounixinclude_HEADERS = \
260         gdesktopappinfo.h       \
261         gfiledescriptorbased.h  \
262         gunixconnection.h       \
263         gunixcredentialsmessage.h       \
264         gunixmounts.h           \
265         gunixfdlist.h           \
266         gunixfdmessage.h        \
267         gunixinputstream.h      \
268         gunixoutputstream.h     \
269         gunixsocketaddress.h    \
270         $(NULL)
271
272 if HAVE_NETLINK
273 unix_sources +=                  \
274         gnetworkmonitornetlink.c \
275         gnetworkmonitornetlink.h \
276         $(NULL)
277 endif
278 endif
279
280 win32_actual_sources = \
281         gwin32mount.c \
282         gwin32mount.h \
283         gwin32volumemonitor.c \
284         gwin32volumemonitor.h \
285         gwin32inputstream.c \
286         gwin32outputstream.c \
287         gwin32outputstream.h \
288         $(NULL)
289
290 win32_more_sources_for_vcproj = \
291         gwin32appinfo.c \
292         gregistrysettingsbackend.c \
293         win32/gwin32directorymonitor.c \
294         win32/gwinhttpfile.c \
295         win32/gwinhttpfileinputstream.c \
296         win32/gwinhttpfileoutputstream.c \
297         win32/gwinhttpvfs.c
298
299 if OS_WIN32
300 appinfo_sources += gwin32appinfo.c gwin32appinfo.h
301 platform_libadd += -lshlwapi -lws2_32 -ldnsapi
302 win32_sources = $(win32_actual_sources)
303
304 giowin32includedir=$(includedir)/gio-win32-2.0/gio
305 giowin32include_HEADERS = \
306         gwin32inputstream.h \
307         gwin32outputstream.h \
308         $(NULL)
309
310 endif
311
312 SUBDIRS += tests
313
314 libgio_2_0_la_SOURCES =         \
315         gappinfo.c              \
316         gasynchelper.c          \
317         gasynchelper.h          \
318         gasyncinitable.c        \
319         gasyncresult.c          \
320         gbufferedinputstream.c  \
321         gbufferedoutputstream.c \
322         gcancellable.c          \
323         gcontenttype.c          \
324         gcontenttypeprivate.h   \
325         gcharsetconverter.c     \
326         gconverter.c            \
327         gconverterinputstream.c \
328         gconverteroutputstream.c        \
329         gcredentials.c          \
330         gdatainputstream.c      \
331         gdataoutputstream.c     \
332         gdrive.c                \
333         gdummyfile.h            \
334         gdummyfile.c            \
335         gdummyproxyresolver.c   \
336         gdummyproxyresolver.h   \
337         gdummytlsbackend.c      \
338         gdummytlsbackend.h      \
339         gemblem.h               \
340         gemblem.c               \
341         gemblemedicon.h         \
342         gemblemedicon.c         \
343         gfile.c                 \
344         gfileattribute.c        \
345         gfileattribute-priv.h   \
346         gfileenumerator.c       \
347         gfileicon.c             \
348         gfileinfo.c             \
349         gfileinfo-priv.h        \
350         gfileinputstream.c      \
351         gfilemonitor.c          \
352         gfilenamecompleter.c    \
353         gfileoutputstream.c     \
354         gfileiostream.c         \
355         gfilterinputstream.c    \
356         gfilteroutputstream.c   \
357         gicon.c                 \
358         ginetaddress.c          \
359         ginetaddressmask.c      \
360         ginetsocketaddress.c    \
361         ginitable.c             \
362         ginputstream.c          \
363         gioenums.h              \
364         gioerror.c              \
365         giomodule.c             \
366         giomodule-priv.h        \
367         gioscheduler.c          \
368         giostream.c             \
369         gloadableicon.c         \
370         gmount.c                \
371         gmemoryinputstream.c    \
372         gmemoryoutputstream.c   \
373         gmountoperation.c       \
374         gnativevolumemonitor.c  \
375         gnativevolumemonitor.h  \
376         gnetworkaddress.c       \
377         gnetworkingprivate.h    \
378         gnetworkmonitor.c       \
379         gnetworkmonitorbase.c   \
380         gnetworkmonitorbase.h   \
381         gnetworkservice.c       \
382         goutputstream.c         \
383         gpermission.c           \
384         gpollableinputstream.c  \
385         gpollableoutputstream.c \
386         gpollfilemonitor.c      \
387         gpollfilemonitor.h      \
388         gproxyresolver.c        \
389         gresolver.c             \
390         gresource.c             \
391         gresourcefile.c         \
392         gresourcefile.h         \
393         gseekable.c             \
394         gsimpleasyncresult.c    \
395         gsimplepermission.c     \
396         gsocket.c               \
397         gsocketaddress.c        \
398         gsocketaddressenumerator.c \
399         gsocketclient.c         \
400         gsocketconnectable.c    \
401         gsocketconnection.c     \
402         gsocketcontrolmessage.c \
403         gsocketinputstream.c    \
404         gsocketinputstream.h    \
405         gsocketlistener.c       \
406         gsocketoutputstream.c   \
407         gsocketoutputstream.h   \
408         gproxy.c                \
409         gproxyaddress.c         \
410         gproxyaddressenumerator.c \
411         gsocketservice.c        \
412         gsrvtarget.c            \
413         gtcpconnection.c        \
414         gtcpwrapperconnection.c \
415         gthreadedsocketservice.c\
416         gthemedicon.c           \
417         gthreadedresolver.c     \
418         gthreadedresolver.h     \
419         gtlsbackend.c           \
420         gtlscertificate.c       \
421         gtlsclientconnection.c  \
422         gtlsconnection.c        \
423         gtlsdatabase.c          \
424         gtlsfiledatabase.c      \
425         gtlsinteraction.c       \
426         gtlspassword.c          \
427         gtlsserverconnection.c  \
428         gunionvolumemonitor.c   \
429         gunionvolumemonitor.h   \
430         gvfs.c                  \
431         gvolume.c               \
432         gvolumemonitor.c        \
433         gzlibcompressor.c       \
434         gzlibdecompressor.c     \
435         gmountprivate.h         \
436         gioenumtypes.h          \
437         gioenumtypes.c          \
438         $(appinfo_sources)      \
439         $(unix_sources)         \
440         $(win32_sources)        \
441         $(application_sources)  \
442         $(settings_sources)     \
443         $(gdbus_sources)        \
444         $(local_sources)        \
445         $(NULL)
446
447 EXTRA_DIST += strinfo.c
448
449 libgio_2_0_la_LIBADD = \
450         $(top_builddir)/glib/libglib-2.0.la             \
451         $(top_builddir)/gobject/libgobject-2.0.la       \
452         $(top_builddir)/gmodule/libgmodule-2.0.la       \
453         $(platform_libadd)                              \
454         $(ZLIB_LIBS)                                    \
455         $(SELINUX_LIBS)                                 \
456         $(GLIB_LIBS)                                    \
457         $(XATTR_LIBS)                                   \
458         $(NETWORK_LIBS)                                 \
459         $(NULL)
460
461 libgio_2_0_la_CPPFLAGS = $(ZLIB_CFLAGS) $(AM_CPPFLAGS)
462
463 if OS_CARBON
464 libgio_2_0_la_CFLAGS = -xobjective-c
465 endif
466
467 if PLATFORM_WIN32
468 no_undefined = -no-undefined
469 endif
470
471 if OS_WIN32_AND_DLL_COMPILATION
472 export_symbols = -export-symbols gio.def
473 gio_def = gio.def
474
475 gio_win32_res = gio-win32-res.o
476 gio_win32_res_ldflag = -Wl,$(gio_win32_res)
477
478 install-def-file:
479         $(INSTALL) gio.def $(DESTDIR)$(libdir)/gio-2.0.def
480
481 uninstall-def-file:
482         -rm $(DESTDIR)$(libdir)/gio-2.0.def
483 else
484 install-def-file:
485 uninstall-def-file:
486
487 export_symbols = $(LIBTOOL_EXPORT_OPTIONS)
488 endif
489
490 install-data-local: install-ms-lib install-def-file
491         $(mkinstalldirs) $(DESTDIR)$(GIO_MODULE_DIR)
492
493 uninstall-local: uninstall-ms-lib uninstall-def-file
494
495 libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
496         $(gio_win32_res_ldflag) \
497         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
498         -export-dynamic $(no_undefined) $(export_symbols)
499
500 libgio_2_0_la_DEPENDENCIES = $(gio_win32_res) $(gio_def) $(platform_deps)
501
502 gio-win32-res.o: gio.rc
503         $(WINDRES) gio.rc $@
504
505 gio_headers =                   \
506         gappinfo.h              \
507         gasyncinitable.h        \
508         gasyncresult.h          \
509         gbufferedinputstream.h  \
510         gbufferedoutputstream.h \
511         gcancellable.h          \
512         gcontenttype.h          \
513         gcharsetconverter.h     \
514         gconverter.h            \
515         gconverterinputstream.h \
516         gconverteroutputstream.h        \
517         gdatainputstream.h      \
518         gdataoutputstream.h     \
519         gdrive.h                \
520         gemblem.h               \
521         gemblemedicon.h         \
522         gfile.h                 \
523         gfileattribute.h        \
524         gfileenumerator.h       \
525         gfileicon.h             \
526         gfileinfo.h             \
527         gfileinputstream.h      \
528         gfilemonitor.h          \
529         gfilenamecompleter.h    \
530         gfileoutputstream.h     \
531         gfileiostream.h         \
532         gfilterinputstream.h    \
533         gfilteroutputstream.h   \
534         gicon.h                 \
535         ginetaddress.h          \
536         ginetaddressmask.h      \
537         ginetsocketaddress.h    \
538         ginputstream.h          \
539         ginitable.h             \
540         gio.h                   \
541         giotypes.h              \
542         gioenums.h              \
543         gioerror.h              \
544         giomodule.h             \
545         gioscheduler.h          \
546         giostream.h             \
547         gloadableicon.h         \
548         gmount.h                \
549         gmemoryinputstream.h    \
550         gmemoryoutputstream.h   \
551         gmountoperation.h       \
552         gnativevolumemonitor.h  \
553         gnetworkaddress.h       \
554         gnetworkmonitor.h       \
555         gnetworkservice.h       \
556         goutputstream.h         \
557         gpermission.h           \
558         gpollableinputstream.h  \
559         gpollableoutputstream.h \
560         gproxyaddress.h         \
561         gproxy.h                \
562         gproxyaddressenumerator.h \
563         gproxyresolver.h        \
564         gresolver.h             \
565         gresource.h             \
566         gseekable.h             \
567         gsimpleasyncresult.h    \
568         gsimplepermission.h     \
569         gsocket.h               \
570         gsocketaddress.h        \
571         gsocketaddressenumerator.h \
572         gsocketclient.h         \
573         gsocketconnectable.h    \
574         gsocketconnection.h     \
575         gsocketcontrolmessage.h \
576         gsocketlistener.h       \
577         gsocketservice.h        \
578         gsrvtarget.h            \
579         gtcpconnection.h        \
580         gtcpwrapperconnection.h \
581         gthreadedsocketservice.h\
582         gthemedicon.h           \
583         gtlsbackend.h           \
584         gtlscertificate.h       \
585         gtlsclientconnection.h  \
586         gtlsconnection.h        \
587         gtlsdatabase.h          \
588         gtlsfiledatabase.h      \
589         gtlsinteraction.h       \
590         gtlspassword.h          \
591         gtlsserverconnection.h  \
592         gvfs.h                  \
593         gvolume.h               \
594         gvolumemonitor.h        \
595         gzlibcompressor.h       \
596         gzlibdecompressor.h     \
597         $(application_headers)  \
598         $(settings_headers)     \
599         $(gdbus_headers)        \
600         $(NULL)
601
602 gioincludedir=$(includedir)/glib-2.0/gio/
603 gioinclude_HEADERS =            \
604         $(gio_headers)          \
605         gioenumtypes.h
606
607 # these sources (also mentioned above) are generated.
608 BUILT_SOURCES =                 \
609         gconstructor_as_data.h  \
610         gioenumtypes.h          \
611         gioenumtypes.c          \
612         $(NULL)
613
614 EXTRA_DIST +=                   \
615         gio.symbols             \
616         gioenumtypes.h.template \
617         gioenumtypes.c.template \
618         makefile.msc            \
619         abicheck.sh             \
620         gio.rc.in               \
621         gschema.dtd             \
622         $(NULL)
623
624 BUILT_EXTRA_DIST =              \
625         gio.rc
626
627 # This is read by gobject-introspection/misc/ and gtk-doc
628 gio-public-headers.txt: Makefile
629         echo $(gioinclude_HEADERS) $(giowin32include_HEADERS) $(giounixinclude_HEADERS) > $@.tmp && mv $@.tmp $@
630
631 CLEANFILES = gio-public-headers.txt
632
633 all-local: gio-public-headers.txt
634
635 gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
636         $(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
637           cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \
638             gioenumtypes.h.tmp && mv gioenumtypes.h.tmp gioenumtypes.h
639
640 gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
641         $(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
642           cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.c.template $(gio_headers) ) > \
643             gioenumtypes.c.tmp && mv gioenumtypes.c.tmp gioenumtypes.c
644
645 gio-2.0.lib: libgio-2.0.la gio.def
646         lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:gio.def -out:$@
647
648 bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings
649
650 glib_compile_resources_LDADD = \
651         $(top_builddir)/glib/libglib-2.0.la \
652         $(top_builddir)/gobject/libgobject-2.0.la       \
653         libgio-2.0.la
654
655 glib_compile_resources_SOURCES = \
656         gvdb/gvdb-format.h              \
657         gvdb/gvdb-builder.h             \
658         gvdb/gvdb-builder.c             \
659         glib-compile-resources.c
660
661 gio_querymodules_SOURCES = gio-querymodules.c
662 gio_querymodules_LDADD   = \
663         $(top_builddir)/glib/libglib-2.0.la             \
664         $(top_builddir)/gobject/libgobject-2.0.la       \
665         $(top_builddir)/gmodule/libgmodule-2.0.la       \
666         libgio-2.0.la                                   \
667         $(NULL)
668
669 gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c$(EXEEXT)
670         ./data-to-c $(top_srcdir)/glib/gconstructor.h gconstructor_code > gconstructor_as_data.h
671
672 glib_compile_schemas_LDADD = $(top_builddir)/glib/libglib-2.0.la
673 glib_compile_schemas_SOURCES = \
674         gconstructor_as_data.h \
675         gvdb/gvdb-format.h              \
676         gvdb/gvdb-builder.h             \
677         gvdb/gvdb-builder.c             \
678         glib-compile-schemas.c
679
680 gsettings_LDADD = \
681         $(top_builddir)/glib/libglib-2.0.la             \
682         $(top_builddir)/gobject/libgobject-2.0.la       \
683         libgio-2.0.la
684 gsettings_SOURCES = gsettings-tool.c
685
686 schemadir = $(datadir)/glib-2.0/schemas
687 dist_schema_DATA = gschema.dtd
688
689 # ------------------------------------------------------------------------
690 # gdbus(1) tool
691
692 bin_PROGRAMS += gdbus
693 gdbus_SOURCES = gdbus-tool.c
694 gdbus_LDADD = libgio-2.0.la \
695         $(top_builddir)/glib/libglib-2.0.la             \
696         $(top_builddir)/gobject/libgobject-2.0.la
697
698 completiondir = $(sysconfdir)/bash_completion.d
699 completion_DATA = \
700         gdbus-bash-completion.sh                \
701         gsettings-bash-completion.sh            \
702         gresource-bash-completion.sh
703 EXTRA_DIST += $(completion_DATA)
704
705 # ------------------------------------------------------------------------
706 # gresource tool
707
708 bin_PROGRAMS += gresource
709 gresource_SOURCES = gresource-tool.c
710 gresource_LDADD = libgio-2.0.la \
711         $(top_builddir)/glib/libglib-2.0.la             \
712         $(top_builddir)/gobject/libgobject-2.0.la \
713         $(ELF_LIBS)
714
715 # ------------------------------------------------------------------------
716
717 dist-hook: $(BUILT_EXTRA_DIST) ../build/win32/vs9/gio.vcproj ../build/win32/vs10/gio.vcxproj ../build/win32/vs10/gio.vcxproj.filters
718         files='$(BUILT_EXTRA_DIST)'; \
719         for f in $$files; do \
720           if test -f $$f; then d=.; else d=$(srcdir); fi; \
721           cp $$d/$$f $(distdir) || exit 1; done
722
723 ../build/win32/vs9/gio.vcproj: $(top_srcdir)/build/win32/vs9/gio.vcprojin
724         for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_more_sources_for_vcproj) | tr '/' '\\'`; do \
725                 case $$F in \
726                 gunix*.c|gdesktopappinfo.c|gnetworkmonitornetlink.c) ;; \
727                 *.c) echo '   <File RelativePath="..\..\..\gio\'$$F'" />' \
728                      ;; \
729                 esac; \
730         done | sort -u >libgio.sourcefiles
731         $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gio.vcprojin >$@
732         rm libgio.sourcefiles
733
734 ../build/win32/vs10/gio.vcxproj: $(top_srcdir)/build/win32/vs10/gio.vcxprojin
735         for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_more_sources_for_vcproj) | tr '/' '\\'`; do \
736                 case $$F in \
737                 gunix*.c|gdesktopappinfo.c|gnetworkmonitornetlink.c) ;; \
738                 *.c) echo '    <ClCompile Include="..\..\..\gio\'$$F'" />' \
739                      ;; \
740                 esac; \
741         done | sort -u >libgio.vs10.sourcefiles
742         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gio.vcxprojin >$@
743         rm libgio.vs10.sourcefiles
744
745 ../build/win32/vs10/gio.vcxproj.filters: $(top_srcdir)/build/win32/vs10/gio.vcxproj.filtersin
746         for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_more_sources_for_vcproj) | tr '/' '\\'`; do \
747                 case $$F in \
748                 gunix*.c|gdesktopappinfo.c|gnetworkmonitornetlink.c) ;; \
749                 *.c) echo '    <ClCompile Include="..\..\..\gio\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
750                      ;; \
751                 esac; \
752         done | sort -u >libgio.vs10.sourcefiles.filters
753         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gio.vcxproj.filtersin >$@
754         rm libgio.vs10.sourcefiles.filters
755
756 if HAVE_GLIB_RUNTIME_LIBDIR
757 install-data-hook:
758         mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
759         mv $(DESTDIR)$(libdir)/libgio-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
760         mv $(DESTDIR)$(libdir)/libgio-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
761         rm -f $(DESTDIR)$(libdir)/libgio-2.0.so
762         ln -s $(GLIB_RUNTIME_LIBDIR)/libgio-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgio-2.0.so
763 endif