summaryrefslogtreecommitdiff
path: root/Makefile.vapigen
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-10-18 14:01:56 +0200
committerThomas Haller <thaller@redhat.com>2016-10-21 17:37:57 +0200
commit14b5309af3fc4be3fcaf66703b879da090eb4ac4 (patch)
treef53dbe556ae3edffabc4446305eeb8e751c8a4de /Makefile.vapigen
parentb0f4e25782944744256bfc0ad01848ea5c7547c8 (diff)
downloadNetworkManager-14b5309af3fc4be3fcaf66703b879da090eb4ac4.tar.gz
build: merge "vapi/Makefile.am" into toplevel Makefile
There is an strange automake warning Makefile.vapigen:49: warning: $(1) was already defined in condition TRUE, which includes condition ENABLE_VAPIGEN ... Makefile.am:4: 'Makefile.vapigen' included from here Makefile.glib:124: ... '$(1)' previously defined here Makefile.am:1: 'Makefile.glib' included from here when having if ENABLE_VAPIGEN include Makefile.vapigen endif That is worked around by removing the "if", which however requires us to remove the error check in Makefile.vapigen.
Diffstat (limited to 'Makefile.vapigen')
-rw-r--r--Makefile.vapigen61
1 files changed, 61 insertions, 0 deletions
diff --git a/Makefile.vapigen b/Makefile.vapigen
new file mode 100644
index 0000000000..bdfa90e037
--- /dev/null
+++ b/Makefile.vapigen
@@ -0,0 +1,61 @@
+# Makefile for Vala API Generator (vapigen)
+# Written by Evan Nemerson
+#
+# The author disclaims copyright to this source code. In place of
+# a legal notice, here is a blessing:
+#
+# May you do good and not evil.
+# May you find forgiveness for yourself and forgive others.
+# May you share freely, never taking more than you give.
+#
+# See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
+#
+# Variables:
+#
+# VAPIGEN_FILES
+#
+# VAPIs to create
+#
+# *_DEPS / VAPIGEN_DEPS
+#
+# The dependencies. Generally the pkg-config names.
+#
+# *_METADATADIRS / VAPIGEN_METADATADIRS
+#
+# Directory containing the metadata.
+#
+# *_VAPIDIRS / VAPIGEN_VAPIDIRS
+#
+# Additional location(s) to search for VAPI dependencies.
+#
+# *_GIRDIRS / VAPIGEN_GIRDIRS
+#
+# Additional location(s) to search for GIR dependencies.
+#
+# *_FILES
+#
+# The files which should be used to generate the VAPI.
+
+_vapigen_silent_prefix = $(_vapigen_silent_prefix_$(V))
+_vapigen_silent_prefix_ = $(_vapigen_silent_prefix_$(AM_DEFAULT_VERBOSITY))
+_vapigen_silent_prefix_0 = @echo " VAPIGEN $(1)";
+_vapigen_silent_opts = $(_vapigen_silent_opts_$(V))
+_vapigen_silent_opts_ = $(_vapigen_silent_opts_$(AM_DEFAULT_VERBOSITY))
+_vapigen_silent_opts_0 = --quiet
+
+_vapi_name = $(subst /,_,$(subst -,_,$(subst .,_,$(1))))
+
+define vapigen
+$(1): $$($(_vapi_name)_GIR)
+ $(_vapigen_silent_prefix) \
+ G_DEBUG='' \
+ $(VAPIGEN) $(_vapigen_silent_opts) \
+ --library $(1:.vapi=) \
+ $(foreach _vapi_metadatadir_name,$(if $($(_vapi_name)_METADATADIRS),$($(_vapi_name)_METADATADIRS),$(VAPIGEN_METADATADIRS)),--metadatadir $(_vapi_metadatadir_name)) \
+ $(foreach _vapi_dir_name,$(if $($(_vapi_name)_VAPIDIRS),$($(_vapi_name)_VAPIDIRS),$(VAPIGEN_VAPIDIRS)),--vapidir $(_vapi_dir_name)) \
+ $(foreach _vapi_gir_dir,$(if $($(_vapi_name)_GIRDIRS),$($(_vapi_name)_GIRDIRS),$(VAPIGEN_GIRDIRS)),--girdir $(_vapi_gir_dir)) \
+ $(foreach _vapi_dep_name,$(if $($(_vapi_name)_DEPS),$($(_vapi_name)_DEPS),$(VAPIGEN_DEPS)),--pkg $(_vapi_dep_name)) \
+ $$($(_vapi_name)_FILES)
+endef
+
+$(foreach vapi,$(VAPIGEN_VAPIS),$(eval $(call vapigen,$(vapi))))