libs: fix API export/import and 'inconsistent linkage' on MSVC
[platform/upstream/gstreamer.git] / gst-libs / gst / pbutils / Makefile.am
1 lib_LTLIBRARIES = libgstpbutils-@GST_API_VERSION@.la
2
3 headers_pbutils = \
4         pbutils.h         \
5         pbutils-prelude.h         \
6         codec-utils.h     \
7         descriptions.h    \
8         encoding-profile.h      \
9         encoding-target.h       \
10         install-plugins.h \
11         missing-plugins.h \
12         gstdiscoverer.h \
13         gstaudiovisualizer.h
14
15 # variables used for enum/marshal generation
16 glib_enum_headers = $(headers_pbutils)
17 glib_enum_define = PB_UTILS
18 glib_gen_prefix = pbutils
19 glib_gen_basename = pbutils
20 glib_gen_decl_banner=GST_PBUTILS_API
21 glib_gen_decl_include=\#include <gst/pbutils/pbutils-prelude.h>
22
23 built_headers_configure = \
24         gstpluginsbaseversion.h
25
26 libgstpbutils_@GST_API_VERSION@_la_SOURCES = \
27         gstpluginsbaseversion.c \
28         pbutils.c         \
29         codec-utils.c     \
30         descriptions.c    \
31         encoding-profile.c      \
32         encoding-target.c       \
33         install-plugins.c \
34         missing-plugins.c \
35         gstdiscoverer.c   \
36         gstdiscoverer-types.c \
37         gstaudiovisualizer.c
38
39 nodist_libgstpbutils_@GST_API_VERSION@_la_SOURCES = \
40         pbutils-enumtypes.c
41
42 libgstpbutils_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/pbutils
43 libgstpbutils_@GST_API_VERSION@include_HEADERS = \
44         $(headers_pbutils)
45 nodist_libgstpbutils_@GST_API_VERSION@include_HEADERS = \
46         $(built_headers_configure) \
47         pbutils-enumtypes.h
48 noinst_HEADERS = \
49         pbutils-private.h
50
51 libgstpbutils_@GST_API_VERSION@_la_LIBADD = \
52   $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
53   $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
54   $(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_API_VERSION@.la \
55   $(GST_BASE_LIBS) \
56   $(GST_LIBS)
57 libgstpbutils_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) -DBUILDING_GST_PBUTILS
58 libgstpbutils_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
59
60 BUILT_SOURCES = \
61         pbutils-enumtypes.c \
62         pbutils-enumtypes.h
63
64 CLEANFILES = $(BUILT_SOURCES)
65
66 # DISTCLEANFILES is for files generated by configure
67 DISTCLEANFILES = $(built_headers_configure)
68
69 include $(top_srcdir)/common/gst-glib-gen.mak
70
71 if HAVE_INTROSPECTION
72 BUILT_GIRSOURCES = GstPbutils-@GST_API_VERSION@.gir
73
74 gir_headers=$(patsubst %,$(srcdir)/%, $(libgstpbutils_@GST_API_VERSION@include_HEADERS))
75 gir_headers+=$(patsubst %,$(builddir)/%, $(nodist_libgstpbutils_@GST_API_VERSION@include_HEADERS))
76 gir_sources=$(patsubst %,$(srcdir)/%, $(libgstpbutils_@GST_API_VERSION@_la_SOURCES))
77 gir_sources+=$(patsubst %,$(builddir)/%, $(nodist_libgstpbutils_@GST_API_VERSION@_la_SOURCES))
78
79 GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_API_VERSION@.la
80         $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
81                 GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_DISABLE=yes \
82                 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
83                 $(INTROSPECTION_SCANNER) -v --namespace GstPbutils \
84                 --nsversion=@GST_API_VERSION@ \
85                 --identifier-prefix=Gst \
86                 --symbol-prefix=gst \
87                 --warn-all \
88                 --c-include "gst/pbutils/pbutils.h" \
89                 -I$(top_srcdir)/gst-libs \
90                 -I$(top_builddir)/gst-libs \
91                 --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
92                 --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
93                 --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
94                 --add-include-path="$(top_builddir)/gst-libs/gst/video/" \
95                 --add-include-path="$(top_builddir)/gst-libs/gst/audio/" \
96                 --library=libgstpbutils-@GST_API_VERSION@.la \
97                 --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
98                 --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
99                 --library-path="$(top_builddir)/gst-libs/gst/tag/" \
100                 --library-path="$(top_builddir)/gst-libs/gst/video/" \
101                 --library-path="$(top_builddir)/gst-libs/gst/audio/" \
102                 --include=Gst-@GST_API_VERSION@ \
103                 --include=GstTag-@GST_API_VERSION@ \
104                 --include=GstVideo-@GST_API_VERSION@ \
105                 --include=GstAudio-@GST_API_VERSION@ \
106                 --libtool="${LIBTOOL}" \
107                 --pkg gstreamer-@GST_API_VERSION@ \
108                 --pkg gstreamer-tag-@GST_API_VERSION@ \
109                 --pkg gstreamer-video-@GST_API_VERSION@ \
110                 --pkg gstreamer-audio-@GST_API_VERSION@ \
111                 --pkg-export gstreamer-pbutils-@GST_API_VERSION@ \
112                 --add-init-section="$(INTROSPECTION_INIT)" \
113                 --output $@ \
114                 $(gir_headers) \
115                 $(gir_sources)
116
117 # INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
118 # install anything - we need to install inside our prefix.
119 girdir = $(datadir)/gir-1.0
120 gir_DATA = $(BUILT_GIRSOURCES)
121
122 typelibsdir = $(libdir)/girepository-1.0/
123
124 typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
125
126 %.typelib: %.gir $(INTROSPECTION_COMPILER)
127         $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
128                 $(INTROSPECTION_COMPILER) \
129                 --includedir=$(srcdir) \
130                 --includedir=$(builddir) \
131                 --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
132                 --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
133                 --includedir="$(top_builddir)/gst-libs/gst/tag/" \
134                 --includedir="$(top_builddir)/gst-libs/gst/video/" \
135                 --includedir="$(top_builddir)/gst-libs/gst/audio/" \
136                 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
137
138 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
139 endif