mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
0ccd18bc83
Introduce an option to specify the runtime location for libraries via a relative path to libdir. Signed-off-by: David Zeuthen <davidz@redhat.com>
436 lines
9.6 KiB
Makefile
436 lines
9.6 KiB
Makefile
include $(top_srcdir)/Makefile.decl
|
|
|
|
NULL =
|
|
|
|
SUBDIRS=
|
|
|
|
if OS_UNIX
|
|
SUBDIRS += libasyncns xdgmime
|
|
endif
|
|
|
|
if OS_WIN32_AND_DLL_COMPILATION
|
|
if MS_LIB_AVAILABLE
|
|
noinst_DATA = gio-2.0.lib
|
|
|
|
install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
|
|
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
|
|
endif
|
|
endif
|
|
|
|
install-ms-lib:
|
|
$(install_ms_lib_cmd)
|
|
|
|
uninstall-ms-lib:
|
|
$(uninstall_ms_lib_cmd)
|
|
|
|
gio.def: gio.symbols
|
|
(echo -e 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 && \
|
|
mv gio.def.tmp gio.def
|
|
|
|
gioalias.h: gio.symbols
|
|
$(PERL) $(srcdir)/makegioalias.pl < $(srcdir)/gio.symbols > gioalias.h.tmp && \
|
|
mv gioalias.h.tmp gioalias.h
|
|
|
|
gioaliasdef.c: gio.symbols
|
|
$(PERL) $(srcdir)/makegioalias.pl -def < $(srcdir)/gio.symbols > gioaliasdef.c.tmp && \
|
|
mv gioaliasdef.c.tmp gioaliasdef.c
|
|
|
|
if OS_LINUX
|
|
if HAVE_GNUC_VISIBILITY
|
|
TESTS = abicheck.sh pltcheck.sh
|
|
endif
|
|
endif
|
|
|
|
AM_CPPFLAGS = \
|
|
-DG_LOG_DOMAIN=\"GLib-GIO\" \
|
|
-I$(top_builddir) \
|
|
-I$(top_srcdir) \
|
|
-I$(top_srcdir)/glib \
|
|
-I$(top_srcdir)/gmodule \
|
|
$(GLIB_DEBUG_FLAGS) \
|
|
-DG_DISABLE_DEPRECATED \
|
|
-DGIO_COMPILATION \
|
|
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\"
|
|
|
|
lib_LTLIBRARIES = libgio-2.0.la
|
|
|
|
marshal_sources = \
|
|
gio-marshal.h \
|
|
gio-marshal.c \
|
|
$(NULL)
|
|
|
|
if CROSS_COMPILING
|
|
glib_genmarshal=$(GLIB_GENMARSHAL)
|
|
else
|
|
glib_genmarshal=../gobject/glib-genmarshal
|
|
endif
|
|
|
|
gio-marshal.h: gio-marshal.list
|
|
$(glib_genmarshal) --prefix=_gio_marshal $(srcdir)/gio-marshal.list --header --internal > $@.tmp && \
|
|
mv $@.tmp $@
|
|
|
|
gio-marshal.c: gio-marshal.h gio-marshal.list
|
|
(echo "#include \"gio-marshal.h\""; \
|
|
$(glib_genmarshal) --prefix=_gio_marshal $(srcdir)/gio-marshal.list --body --internal) > $@.tmp && \
|
|
mv $@.tmp $@
|
|
|
|
local_sources = \
|
|
glocaldirectorymonitor.c \
|
|
glocaldirectorymonitor.h \
|
|
glocalfile.c \
|
|
glocalfile.h \
|
|
glocalfileenumerator.c \
|
|
glocalfileenumerator.h \
|
|
glocalfileinfo.c \
|
|
glocalfileinfo.h \
|
|
glocalfileinputstream.c \
|
|
glocalfileinputstream.h \
|
|
glocalfilemonitor.c \
|
|
glocalfilemonitor.h \
|
|
glocalfileoutputstream.c \
|
|
glocalfileoutputstream.h \
|
|
glocalfileiostream.c \
|
|
glocalfileiostream.h \
|
|
glocalvfs.c \
|
|
glocalvfs.h \
|
|
$(NULL)
|
|
|
|
platform_libadd =
|
|
platform_deps =
|
|
appinfo_sources =
|
|
|
|
if HAVE_INOTIFY
|
|
SUBDIRS += inotify
|
|
platform_libadd += inotify/libinotify.la
|
|
platform_deps += inotify/libinotify.la
|
|
endif
|
|
|
|
if HAVE_FEN
|
|
AM_CPPFLAGS += -DHAVE_FEN
|
|
SUBDIRS += fen
|
|
platform_libadd += fen/libfen.la
|
|
platform_deps += fen/libfen.la
|
|
endif
|
|
|
|
if OS_WIN32
|
|
SUBDIRS += win32
|
|
platform_libadd += win32/libgiowin32.la
|
|
platform_deps += win32/libgiowin32.la
|
|
endif
|
|
|
|
|
|
SUBDIRS += .
|
|
|
|
if HAVE_FAM
|
|
SUBDIRS += fam
|
|
endif
|
|
|
|
if OS_UNIX
|
|
appinfo_sources += gdesktopappinfo.c gdesktopappinfo.h
|
|
platform_libadd += libasyncns/libasyncns.la xdgmime/libxdgmime.la
|
|
platform_deps += libasyncns/libasyncns.la xdgmime/libxdgmime.la
|
|
unix_sources = \
|
|
gunixconnection.c \
|
|
gunixfdmessage.c \
|
|
gunixmount.c \
|
|
gunixmount.h \
|
|
gunixmounts.c \
|
|
gunixmounts.h \
|
|
gunixresolver.c \
|
|
gunixresolver.h \
|
|
gunixsocketaddress.c \
|
|
gunixvolume.c \
|
|
gunixvolume.h \
|
|
gunixvolumemonitor.c \
|
|
gunixvolumemonitor.h \
|
|
gunixinputstream.c \
|
|
gunixoutputstream.c \
|
|
$(NULL)
|
|
|
|
|
|
giounixincludedir=$(includedir)/gio-unix-2.0/gio
|
|
giounixinclude_HEADERS = \
|
|
gdesktopappinfo.h \
|
|
gunixconnection.h \
|
|
gunixmounts.h \
|
|
gunixfdmessage.h \
|
|
gunixinputstream.h \
|
|
gunixoutputstream.h \
|
|
gunixsocketaddress.h \
|
|
$(NULL)
|
|
endif
|
|
|
|
if OS_WIN32
|
|
appinfo_sources += gwin32appinfo.c gwin32appinfo.h
|
|
platform_libadd += -lshlwapi -lws2_32 -ldnsapi
|
|
win32_sources = \
|
|
gwin32mount.c \
|
|
gwin32mount.h \
|
|
gwin32resolver.c \
|
|
gwin32resolver.h \
|
|
gwin32volumemonitor.c \
|
|
gwin32volumemonitor.h \
|
|
$(NULL)
|
|
|
|
endif
|
|
|
|
SUBDIRS += tests
|
|
|
|
libgio_2_0_la_SOURCES = \
|
|
gappinfo.c \
|
|
gasynchelper.c \
|
|
gasynchelper.h \
|
|
gasyncinitable.c \
|
|
gasyncresult.c \
|
|
gbufferedinputstream.c \
|
|
gbufferedoutputstream.c \
|
|
gcancellable.c \
|
|
gcontenttype.c \
|
|
gcontenttypeprivate.h \
|
|
gdatainputstream.c \
|
|
gdataoutputstream.c \
|
|
gdrive.c \
|
|
gdummyfile.h \
|
|
gdummyfile.c \
|
|
gemblem.h \
|
|
gemblem.c \
|
|
gemblemedicon.h \
|
|
gemblemedicon.c \
|
|
gfile.c \
|
|
gfileattribute.c \
|
|
gfileattribute-priv.h \
|
|
gfileenumerator.c \
|
|
gfileicon.c \
|
|
gfileinfo.c \
|
|
gfileinputstream.c \
|
|
gfilemonitor.c \
|
|
gfilenamecompleter.c \
|
|
gfileoutputstream.c \
|
|
gfileiostream.c \
|
|
gfilterinputstream.c \
|
|
gfilteroutputstream.c \
|
|
gicon.c \
|
|
ginetaddress.c \
|
|
ginetsocketaddress.c \
|
|
ginitable.c \
|
|
ginputstream.c \
|
|
gioenums.h \
|
|
gioerror.c \
|
|
giomodule.c \
|
|
giomodule-priv.h \
|
|
gioscheduler.c \
|
|
giostream.c \
|
|
gloadableicon.c \
|
|
gmount.c \
|
|
gmemoryinputstream.c \
|
|
gmemoryoutputstream.c \
|
|
gmountoperation.c \
|
|
gnativevolumemonitor.c \
|
|
gnativevolumemonitor.h \
|
|
gnetworkaddress.c \
|
|
gnetworkingprivate.h \
|
|
gnetworkservice.c \
|
|
goutputstream.c \
|
|
gpollfilemonitor.c \
|
|
gpollfilemonitor.h \
|
|
gresolver.c \
|
|
gseekable.c \
|
|
gsimpleasyncresult.c \
|
|
gsocket.c \
|
|
gsocketaddress.c \
|
|
gsocketaddressenumerator.c \
|
|
gsocketclient.c \
|
|
gsocketconnectable.c \
|
|
gsocketconnection.c \
|
|
gsocketcontrolmessage.c \
|
|
gsocketinputstream.c \
|
|
gsocketinputstream.h \
|
|
gsocketlistener.c \
|
|
gsocketoutputstream.c \
|
|
gsocketoutputstream.h \
|
|
gsocketservice.c \
|
|
gsrvtarget.c \
|
|
gtcpconnection.c \
|
|
gthreadedsocketservice.c\
|
|
gthemedicon.c \
|
|
gthreadedresolver.c \
|
|
gthreadedresolver.h \
|
|
gunionvolumemonitor.c \
|
|
gunionvolumemonitor.h \
|
|
gvfs.c \
|
|
gvolume.c \
|
|
gvolumemonitor.c \
|
|
gmountprivate.h \
|
|
gioenumtypes.h \
|
|
gioenumtypes.c \
|
|
gioalias.h \
|
|
gioaliasdef.c \
|
|
$(appinfo_sources) \
|
|
$(unix_sources) \
|
|
$(win32_sources) \
|
|
$(local_sources) \
|
|
$(marshal_sources) \
|
|
$(NULL)
|
|
|
|
$(libgio_2_0_la_OBJECTS): $(marshal_sources)
|
|
|
|
libgio_2_0_la_LIBADD = \
|
|
$(top_builddir)/glib/libglib-2.0.la \
|
|
$(top_builddir)/gobject/libgobject-2.0.la \
|
|
$(top_builddir)/gmodule/libgmodule-2.0.la \
|
|
$(platform_libadd) \
|
|
$(SELINUX_LIBS) \
|
|
$(GLIB_LIBS) \
|
|
$(XATTR_LIBS) \
|
|
$(NULL)
|
|
|
|
if PLATFORM_WIN32
|
|
no_undefined = -no-undefined
|
|
endif
|
|
|
|
if OS_WIN32_AND_DLL_COMPILATION
|
|
export_symbols = -export-symbols gio.def
|
|
gio_def = gio.def
|
|
|
|
install-def-file:
|
|
$(INSTALL) gio.def $(DESTDIR)$(libdir)/gio-2.0.def
|
|
|
|
uninstall-def-file:
|
|
-rm $(DESTDIR)$(libdir)/gio-2.0.def
|
|
else
|
|
install-def-file:
|
|
uninstall-def-file:
|
|
|
|
export_symbols = -export-symbols-regex '^g_.*'
|
|
endif
|
|
|
|
install-data-local: install-ms-lib install-def-file
|
|
$(mkinstalldirs) $(DESTDIR)$(GIO_MODULE_DIR)
|
|
|
|
uninstall-local: uninstall-ms-lib uninstall-def-file
|
|
|
|
libgio_2_0_la_LDFLAGS = \
|
|
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
|
-export-dynamic $(no_undefined) $(export_symbols)
|
|
|
|
libgio_2_0_la_DEPENDENCIES = $(gio_def) $(platform_deps)
|
|
|
|
gio_headers = \
|
|
gappinfo.h \
|
|
gasyncinitable.h \
|
|
gasyncresult.h \
|
|
gbufferedinputstream.h \
|
|
gbufferedoutputstream.h \
|
|
gcancellable.h \
|
|
gcontenttype.h \
|
|
gdatainputstream.h \
|
|
gdataoutputstream.h \
|
|
gdrive.h \
|
|
gemblem.h \
|
|
gemblemedicon.h \
|
|
gfile.h \
|
|
gfileattribute.h \
|
|
gfileenumerator.h \
|
|
gfileicon.h \
|
|
gfileinfo.h \
|
|
gfileinputstream.h \
|
|
gfilemonitor.h \
|
|
gfilenamecompleter.h \
|
|
gfileoutputstream.h \
|
|
gfileiostream.h \
|
|
gfilterinputstream.h \
|
|
gfilteroutputstream.h \
|
|
gicon.h \
|
|
ginetaddress.h \
|
|
ginetsocketaddress.h \
|
|
ginputstream.h \
|
|
ginitable.h \
|
|
gio.h \
|
|
giotypes.h \
|
|
gioenums.h \
|
|
gioerror.h \
|
|
giomodule.h \
|
|
gioscheduler.h \
|
|
giostream.h \
|
|
gloadableicon.h \
|
|
gmount.h \
|
|
gmemoryinputstream.h \
|
|
gmemoryoutputstream.h \
|
|
gmountoperation.h \
|
|
gnativevolumemonitor.h \
|
|
gnetworkaddress.h \
|
|
gnetworkservice.h \
|
|
goutputstream.h \
|
|
gresolver.h \
|
|
gseekable.h \
|
|
gsimpleasyncresult.h \
|
|
gsocket.h \
|
|
gsocketaddress.h \
|
|
gsocketaddressenumerator.h \
|
|
gsocketclient.h \
|
|
gsocketconnectable.h \
|
|
gsocketconnection.h \
|
|
gsocketcontrolmessage.h \
|
|
gsocketlistener.h \
|
|
gsocketservice.h \
|
|
gsrvtarget.h \
|
|
gtcpconnection.h \
|
|
gthreadedsocketservice.h\
|
|
gthemedicon.h \
|
|
gvfs.h \
|
|
gvolume.h \
|
|
gvolumemonitor.h \
|
|
$(NULL)
|
|
|
|
gioincludedir=$(includedir)/glib-2.0/gio/
|
|
gioinclude_HEADERS = \
|
|
$(gio_headers) \
|
|
gioenumtypes.h
|
|
|
|
# these sources (also mentioned above) are generated.
|
|
BUILT_SOURCES = \
|
|
gio-marshal.h \
|
|
gio-marshal.c \
|
|
gioalias.h \
|
|
gioaliasdef.c \
|
|
gioenumtypes.h \
|
|
gioenumtypes.c \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST += \
|
|
gio-marshal.list \
|
|
gio.symbols \
|
|
gioenumtypes.h.template \
|
|
gioenumtypes.c.template \
|
|
makefile.msc \
|
|
makegioalias.pl \
|
|
abicheck.sh \
|
|
pltcheck.sh \
|
|
$(NULL)
|
|
|
|
CLEANFILES = \
|
|
$(marshal_sources) \
|
|
$(NULL)
|
|
|
|
gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
|
|
( top_builddir=`cd $(top_builddir) && pwd`; \
|
|
cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \
|
|
gioenumtypes.h.tmp && mv gioenumtypes.h.tmp gioenumtypes.h
|
|
|
|
gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
|
|
( top_builddir=`cd $(top_builddir) && pwd`; \
|
|
cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.c.template $(gio_headers) ) > \
|
|
gioenumtypes.c.tmp && mv gioenumtypes.c.tmp gioenumtypes.c
|
|
|
|
gio-2.0.lib: libgio-2.0.la gio.def
|
|
lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:gio.def -out:$@
|
|
|
|
if HAVE_GLIB_RUNTIME_LIBDIR
|
|
install-data-hook:
|
|
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
|
|
mv $(DESTDIR)$(libdir)/libgio-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
|
|
mv $(DESTDIR)$(libdir)/libgio-2.0.so.0.$(LT_CURRENT).0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
|
|
rm -f $(DESTDIR)$(libdir)/libgio-2.0.so
|
|
ln -s $(GLIB_RUNTIME_LIBDIR)/libgio-2.0.so.0.$(LT_CURRENT).0 $(DESTDIR)$(libdir)/libgio-2.0.so
|
|
endif
|