build: fix make always re-making vapigen target

Reproduce:

  make
  touch libnm-util/NetworkManager-1.0.gir
  make
  make
  # rebuilds "VAPIGEN vapi/libnm-util.vapi" every time.

  ls -la libnm-util/NetworkManager-1.0.gir vapi/libnm-util.vapi
  # note that vapi/libnm-util.vapi was not touched.

See-also: https://git.gnome.org/browse/vala/tree/ccode/valaccodewriter.vala?id=f52b484954d3297ae4c3230fbe969db18eb08841#n117
See-also: https://bugzilla.gnome.org/show_bug.cgi?id=773325
This commit is contained in:
Thomas Haller 2016-10-21 18:14:32 +02:00
parent 351851cf27
commit 6c90b529a1

View File

@ -55,7 +55,8 @@ $(1): $$($(_vapi_name)_GIR)
$(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)
$$($(_vapi_name)_FILES) && \
touch $(1)
endef
$(foreach vapi,$(VAPIGEN_VAPIS),$(eval $(call vapigen,$(vapi))))