| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| _gir_name=$(subst /,_,$(subst -,_,$(subst .,_,$(1)))) |
| |
| |
| |
| _gir_namespace_msvc = $(or $($(_gir_name)_NAMESPACE),$(firstword $(subst -, ,$(notdir $(1))))) |
| _gir_version_msvc = $(or $($(_gir_name)_VERSION),$(lastword $(subst -, ,$(1:.gir=)))) |
| _typelib_basename_msvc = $(_gir_namespace_msvc)'-'$(_gir_version_msvc) |
| |
| |
| _gir_program_msvc = $(if $($(_gir_name)_MSVC_PROGRAM),--program=$($(_gir_name)_MSVC_PROGRAM)) |
| |
| |
| _gir_source_path_raw_msvc:=$(subst $(abs_top_srcdir),,$(abs_srcdir)) |
| _gir_source_path_msvc=$(subst /,\\,$(_gir_source_path_raw_msvc)) |
| _gir_source_subdir_int_msvc=$(subst \\\\,\\,\\$(_gir_source_path_msvc)\\) |
| _gir_source_subdir_msvc=$(subst \\.\\,\\,$(_gir_source_subdir_int_msvc)) |
| |
| _gir_files_raw_msvc=$(subst /,\\,$($(_gir_name)_MSVC_FILES)) |
| _gir_files_msvc=$(subst $(srcdir)\\,,$(subst $(builddir)\\,,$(subst $(top_builddir)\\$(_gir_source_path_msvc)\\,\\,$(_gir_files_raw_msvc)))) |
| |
| |
| |
| |
| |
| |
| |
| _gir_libraries_msvc = $(foreach lib,$($(_gir_name)_MSVC_LIBS),--library=$(lib)) |
| _gir_packages_msvc = $(foreach pkg,$($(_gir_name)_MSVC_PACKAGES),--pkg=$(pkg)) |
| _gir_includes_msvc = $(foreach include,$($(_gir_name)_MSVC_INCLUDE_GIRS),--include=$(include)) |
| _gir_export_packages_msvc = $(foreach pkg,$($(_gir_name)_MSVC_EXPORT_PACKAGES),--pkg-export=$(pkg)) |
| |
| |
| |
| |
| |
| |
| |
| define gir-nmake-builder |
| |
| |
| $(if $($(_gir_name)_MSVC_FILES),,$(error Need to define $(_gir_name)_MSVC_FILES)) |
| $(if $(or $(findstring --header-only,$($(_gir_name)_MSVC_SCANNERFLAGS)), |
| $($(_gir_name)_MSVC_LIBS), |
| $($(_gir_name)_MSVC_PROGRAM)),, |
| $(error Need to define $(_gir_name)_MSVC_LIBS or $(_gir_name)_MSVC_PROGRAM)) |
| |
| $(top_builddir)/build/win32/$(_gir_name)_list: |
| for F in $(_gir_files_msvc); do \ |
| case $$$$F in \ |
| *.c|*.cpp|*.cc|*.cxx|*.h|*.hpp|*.hh|*.hxx) \ |
| echo '..\..'$(_gir_source_subdir_msvc)$$$$F >>$(top_builddir)/build/win32/$(_gir_name)_list \ |
| ;; \ |
| esac; \ |
| done |
| |
| $(top_builddir)/build/win32/$(1).msvc.introspect: |
| -$(RM) $(top_builddir)/build/win32/$(1).msvc.introspect |
| |
| |
| echo $(1)': '$(_gir_name)'_list '$($(_gir_name)_MSVC_GIR_DEPS)>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' @-echo Generating $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' $$$$(PYTHON) $$$$(G_IR_SCANNER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --verbose -no-libtool \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --namespace='$(_gir_namespace_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --nsversion='$(_gir_version_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$(_gir_packages_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$(_gir_libraries_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$(_gir_program_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --add-include-path=$$$$(G_IR_INCLUDEDIR) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$(_gir_includes_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$(_gir_export_packages_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --cflags-begin \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$($(_gir_name)_MSVC_CFLAGS)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --cflags-end \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$($(_gir_name)_MSVC_SCANNERFLAGS)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --filelist='$(_gir_name)'_list \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' -o $$$$@'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo '' >>$(top_builddir)/build/win32/$(1).msvc.introspect |
| |
| |
| echo '$(_typelib_basename_msvc).typelib: '$(_typelib_basename_msvc)'.gir'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' @-echo Compiling $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' $$$$(G_IR_COMPILER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' --includedir=. --debug --verbose \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' '$(1)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo ' -o $$$$@'>>$(top_builddir)/build/win32/$(1).msvc.introspect |
| echo '' >>$(top_builddir)/build/win32/$(1).msvc.introspect |
| endef |
| |
| $(foreach gir,$(MSVC_INTROSPECT_GIRS),$(eval $(call gir-nmake-builder,$(gir)))) |