locks: drop _INIT macros
[platform/upstream/glib.git] / gmodule / Makefile.am
index c238110..4eb5ed7 100644 (file)
@@ -2,17 +2,18 @@
 include $(top_srcdir)/Makefile.decl
 
 AM_CPPFLAGS =                          \
-       -I$(top_srcdir)                 \
-       -I$(top_srcdir)/glib            \
-       -I$(top_srcdir)/gmodule         \
+       $(glib_INCLUDES)                \
        -DG_LOG_DOMAIN=\"GModule\"      \
        @GLIB_DEBUG_FLAGS@              \
        -DG_DISABLE_DEPRECATED
 
+gmodule.def: gmodule.symbols
+       $(AM_V_GEN) (echo EXPORTS; $(CPP) -P - <$(srcdir)/gmodule.symbols | sed -e '/^$$/d' -e 's/^/    /') > gmodule.def
+
 EXTRA_DIST +=                          \
                makefile.msc.in         \
                gmoduleconf.h.in        \
-               gmodule.def             \
+               gmodule.symbols         \
                gmodule-dl.c            \
                gmodule-dld.c           \
                gmodule-dyld.c          \
@@ -40,29 +41,34 @@ top_builddir_full=`cd \$(top_builddir); pwd`
 
 lib_LTLIBRARIES = libgmodule-2.0.la
 
+if OS_WIN32_AND_DLL_COMPILATION
 if MS_LIB_AVAILABLE
 noinst_DATA = gmodule-2.0.lib
 
-install-ms-lib:
-       $(INSTALL) gmodule-2.0.lib $(DESTDIR)$(libdir)
+install_ms_lib_cmd = $(INSTALL) gmodule-2.0.lib $(DESTDIR)$(libdir)
+uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gmodule-2.0.lib
+endif
+endif
 
-uninstall-ms-lib:
-       -rm $(DESTDIR)$(libdir)/gmodule-2.0.lib
-else
 install-ms-lib:
+       $(install_ms_lib_cmd)
+
 uninstall-ms-lib:
-endif
+       $(uninstall_ms_lib_cmd)
 
 if PLATFORM_WIN32
 no_undefined = -no-undefined
 endif
 
-if OS_WIN32
-export_symbols = -export-symbols $(srcdir)/gmodule.def
+if OS_WIN32_AND_DLL_COMPILATION
+export_symbols = -export-symbols gmodule.def
 gmodule_def = gmodule.def
 
+gmodule_win32_res = gmodule-win32-res.o
+gmodule_win32_res_ldflag = -Wl,$(gmodule_win32_res)
+
 install-def-file:
-       $(INSTALL) $(srcdir)/gmodule.def $(DESTDIR)$(libdir)/gmodule-2.0.def
+       $(INSTALL) gmodule.def $(DESTDIR)$(libdir)/gmodule-2.0.def
 
 uninstall-def-file:
        -rm $(DESTDIR)$(libdir)/gmodule-2.0.def
@@ -71,13 +77,8 @@ install-def-file:
 uninstall-def-file:
 endif
 
-if OS_WIN32
-gmodule_win32_res = gmodule-win32-res.o
-gmodule_win32_res_ldflag = -Wl,$(gmodule_win32_res)
-endif
-
 libgmodule_2_0_la_SOURCES = gmodule.c
-libgmodule_2_0_la_LDFLAGS = \
+libgmodule_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
        $(gmodule_win32_res_ldflag) \
        $(G_MODULE_LDFLAGS) \
        -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
@@ -87,13 +88,11 @@ libgmodule_2_0_la_LIBADD = $(G_MODULE_LIBS_EXTRA) $(G_MODULE_LIBS) $(libglib)
 
 libgmodule_2_0_la_DEPENDENCIES = $(gmodule_win32_res) $(gmodule_def)
 
-if OS_WIN32
 gmodule-win32-res.o: gmodule.rc
-       $(WINDRES) gmodule.rc $@
-endif
+       $(AM_V_GEN) $(WINDRES) gmodule.rc $@
 
 gmodule-2.0.lib: libgmodule-2.0.la gmodule.def
-       lib -name:libgmodule-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(srcdir)/gmodule.def -out:$@
+       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgmodule-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:gmodule.def -out:$@
 
 .PHONY: files release
 
@@ -115,3 +114,12 @@ dist-hook: $(BUILT_EXTRA_DIST)
 install-data-local: install-ms-lib install-def-file
 
 uninstall-local: uninstall-ms-lib uninstall-def-file
+
+if HAVE_GLIB_RUNTIME_LIBDIR
+install-data-hook:
+       mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+       mv $(DESTDIR)$(libdir)/libgmodule-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+       mv $(DESTDIR)$(libdir)/libgmodule-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+       rm -f $(DESTDIR)$(libdir)/libgmodule-2.0.so
+       ln -s $(GLIB_RUNTIME_LIBDIR)/libgmodule-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgmodule-2.0.so
+endif