Makefile.am (16475B)
1 # This Makefile.am is in the public domain 2 ACLOCAL_AMFLAGS = -I m4 3 SUBDIRS = contrib m4 src . 4 5 if BUILD_DOC 6 SUBDIRS += doc 7 endif 8 9 sbomdir = $(datadir)/libmicrohttpd 10 sbom_DATA = libmicrohttpd-spdx.json 11 12 W32COMMON = \ 13 w32/common/vs_dirs.props \ 14 w32/common/project-configs.props \ 15 w32/common/project-configs-xp.props \ 16 w32/common/common-build-settings.props \ 17 w32/common/libmicrohttpd2-build-settings.props \ 18 w32/common/apps-build-settings.props \ 19 w32/common/mhd_config.h \ 20 w32/common/gen_dll_res.ps1 \ 21 w32/common/microhttpd2.rc \ 22 w32/common/microhttpd2.rc.in \ 23 w32/common/libmicrohttpd2-files.vcxproj \ 24 w32/common/libmicrohttpd2-filters.vcxproj \ 25 w32/common/demo-files.vcxproj \ 26 w32/common/demo-filters.vcxproj \ 27 w32/common/minimal_example2-files.vcxproj 28 29 W32VS2017 = \ 30 w32/VS2017/libmicrohttpd2.sln \ 31 w32/VS2017/libmicrohttpd2.vcxproj \ 32 w32/VS2017/libmicrohttpd2.vcxproj.filters \ 33 w32/VS2017/demo.vcxproj \ 34 w32/VS2017/demo.vcxproj.filters \ 35 w32/VS2017/minimal_example2.vcxproj 36 37 W32VS2019 = \ 38 w32/VS2019/libmicrohttpd2.sln \ 39 w32/VS2019/libmicrohttpd2.vcxproj \ 40 w32/VS2019/libmicrohttpd2.vcxproj.filters \ 41 w32/VS2019/demo.vcxproj \ 42 w32/VS2019/demo.vcxproj.filters \ 43 w32/VS2019/minimal_example2.vcxproj 44 45 W32VS2022 = \ 46 w32/VS2022/libmicrohttpd2.sln \ 47 w32/VS2022/libmicrohttpd2.vcxproj \ 48 w32/VS2022/libmicrohttpd2.vcxproj.filters \ 49 w32/VS2022/demo.vcxproj \ 50 w32/VS2022/demo.vcxproj.filters \ 51 w32/VS2022/minimal_example2.vcxproj 52 53 W32VSAV = \ 54 w32/VS-Any-Version/libmicrohttpd2.sln \ 55 w32/VS-Any-Version/libmicrohttpd2.vcxproj \ 56 w32/VS-Any-Version/libmicrohttpd2.vcxproj.filters \ 57 w32/VS-Any-Version/demo.vcxproj \ 58 w32/VS-Any-Version/demo.vcxproj.filters \ 59 w32/VS-Any-Version/minimal_example2.vcxproj 60 61 W32VS_ALL = $(W32COMMON) $(W32VS2017) $(W32VS2019) $(W32VS2022) $(W32VSAV) 62 63 EXTRA_DIST = \ 64 $(W32VS_ALL) \ 65 libmicrohttpd-spdx.json.in 66 67 EXTRA_DIST += pre-dist-hook-dummy 68 MOSTLYCLEANFILES = pre-dist-hook-dummy 69 DISTCLEANFILES = 70 MAINTAINERCLEANFILES = m4/c_backported.m4 71 72 pre-dist-hook-dummy: pre-dist-hook Makefile 73 @echo "dummy" > $@ 74 75 dist-hook: dist-po 76 @chmod u+w '$(distdir)/pre-dist-hook-dummy' && \ 77 rm -f '$(distdir)/pre-dist-hook-dummy' 78 @rm -f pre-dist-hook-dummy 79 @if test -w '$(distdir)/m4/c_backported.m4'; then \ 80 echo "Use empty m4/c_backported.m4 for dist target"; \ 81 touch -r '$(distdir)/m4/c_backported.m4' '$(distdir)/m4/c_backported.m4-tmst' && \ 82 echo 'dnl Not used for distribution' > '$(distdir)/m4/c_backported.m4' && \ 83 touch -r '$(distdir)/m4/c_backported.m4-tmst' '$(distdir)/m4/c_backported.m4' && \ 84 rm -f '$(distdir)/m4/c_backported.m4-tmst'; \ 85 else \ 86 true; \ 87 fi 88 89 dist-custm: distdir 90 @test -n "$(ARC_CMD)" || \ 91 { echo 'The valid archive command must be defined by "ARC_CMD".' >&2; false; } 92 @test -n "$(ARC_EXT)" || \ 93 { echo 'The archive file extension must be set by "ARC_EXT".' >&2; false; } 94 -rm -f '$(distdir).$(ARC_EXT)' 95 tardir=$(distdir) && $(am__tar) | $(ARC_CMD) >$(distdir).$(ARC_EXT) 96 $(am__post_remove_distdir) 97 98 dist-custm2: distdir 99 @test -n "$(ARC_CMD)" || \ 100 { echo 'The valid archive command must be defined by "ARC_CMD".' >&2; false; } 101 @test -n "$(ARC_EXT)" || \ 102 { echo 'The archive file extension must be set by "ARC_EXT".' >&2; false; } 103 -rm -f '$(distdir).$(ARC_EXT)' 104 tardir=$(distdir) && $(am__tar) >$(distdir).tar && $(ARC_CMD) $(distdir).tar 105 rm -f $(distdir).tar 106 $(am__post_remove_distdir) 107 108 pre-dist-hook: pre-dist-hook-doc 109 @echo "Preparing to make dist" 110 111 pre-dist-hook-doc: 112 @echo "Preparing to make dist in doc" 113 @if test -w '$(top_srcdir)/doc' ; then \ 114 $(am__cd) doc && $(MAKE) $(AM_MAKEFLAGS) update-stamp; \ 115 else \ 116 echo "Source tree is read-only, skipping force doc update"; \ 117 fi; 118 119 .PHONY: pre-dist-hook pre-dist-hook-doc 120 121 # Works with old automake versions (<1.12.2) as "false" 122 MHD_V = $(AM_V_P) false 123 124 distclean-local: distclean-po 125 126 maintainer-clean-local: maintainer-clean-po 127 128 srcdir_po = $(top_srcdir)/po 129 130 PO_ACLOCAL_M4 = $(srcdir_po)/aclocal.m4 131 132 PO_MAIN_FILES = $(srcdir_po)/Makefile.in.in $(srcdir_po)/remove-potcdate.sin \ 133 $(srcdir_po)/quot.sed $(srcdir_po)/boldquot.sed \ 134 $(srcdir_po)/en@quot.header $(srcdir_po)/en@boldquot.header \ 135 $(srcdir_po)/insert-header.sin $(srcdir_po)/Rules-quot 136 137 PO_EXTRA_FILES = $(srcdir_po)/Makevars.template 138 139 PO_ROOT_FILES = $(srcdir_po)/ABOUT-NLS 140 141 PO_M4_FILES = $(srcdir_po)/m4/gettext.m4 $(srcdir_po)/m4/host-cpu-c-abi.m4 \ 142 $(srcdir_po)/m4/iconv.m4 $(srcdir_po)/m4/intlmacosx.m4 \ 143 $(srcdir_po)/m4/lib-ld.m4 $(srcdir_po)/m4/lib-link.m4 \ 144 $(srcdir_po)/m4/lib-prefix.m4 $(srcdir_po)/m4/nls.m4 \ 145 $(srcdir_po)/m4/po.m4 $(srcdir_po)/m4/progtest.m4 146 147 PO_AUX_FILES = $(srcdir_po)/$(MHD_AUX_DIR)/config.rpath 148 149 # All autopoint-created files 150 PO_ALL_FILES = $(PO_MAIN_FILES) $(PO_EXTRA_FILES) $(PO_ROOT_FILES) \ 151 $(PO_M4_FILES) $(PO_AUX_FILES) 152 153 am__po_aclocal_m4_deps = $(PO_M4_FILES) $(srcdir_po)/configure.ac 154 am__po_configure_deps = $(am__po_aclocal_m4_deps) $(PO_ACLOCAL_M4) 155 156 $(PO_ACLOCAL_M4): $(am__po_aclocal_m4_deps) 157 @{ $(MHD_V) && echo "Building $@" ; } || true 158 @echo "cd $(srcdir_po) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)" && \ 159 $(am__cd) '$(srcdir_po)' && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 160 161 # Do update po/configure.ac only if template files updated 162 $(srcdir_po)/configure.ac: $(srcdir_po)/po-configure.ac.in $(top_srcdir)/configure.ac 163 @{ $(MHD_V) && echo "Building $@" ; } || true 164 @$(MAKE) $(AM_MAKEFLAGS) po/po-configure.ac 165 @cp -f po/po-configure.ac '$@' 166 167 $(top_srcdir)/po-configure: $(srcdir_po)/configure.ac $(PO_ACLOCAL_M4) $(PO_AUX_FILES) $(srcdir_po)/$(MHD_AUX_DIR)/install-sh 168 @{ $(MHD_V) && echo "Building $@" ; } || true 169 @echo "cd $(srcdir_po) && $(AUTOCONF)" && \ 170 ( $(am__cd) '$(srcdir_po)' && $(AUTOCONF) ) 171 mv -f '$(srcdir_po)/configure' '$@' 172 -chmod a-x '$@' 173 174 EXTRA_DIST += $(top_srcdir)/$(MHD_AUX_DIR)/config.rpath $(srcdir_po)/$(MHD_AUX_DIR)/install-sh \ 175 $(PO_ALL_FILES) \ 176 $(PO_ACLOCAL_M4) \ 177 $(srcdir_po)/po-configure.ac.in $(srcdir_po)/configure.ac \ 178 $(top_srcdir)/po-configure \ 179 $(srcdir_po)/stamp-m.in 180 181 DISTCLEANFILES += config.main.log po-config.log po/stamp-m 182 MAINTAINERCLEANFILES += $(srcdir_po)/configure.ac 183 184 $(srcdir_po)/stamp-m.in: 185 @: > '$@' 186 187 po-config.status: $(top_srcdir)/po-configure $(top_srcdir)/$(MHD_AUX_DIR)/install-sh $(top_srcdir)/$(MHD_AUX_DIR)/config.rpath 188 @if test -f config.log; then \ 189 mv -f config.log config.main.log; \ 190 else \ 191 true; \ 192 fi 193 @SHELL@ '$(top_srcdir)/po-configure' $(ac_configure_args) --silent --no-create --no-recursion --disable-option-checking 194 @mv -f config.log po-config.log 195 @if test -f config.main.log; then \ 196 mv -f config.main.log config.log; \ 197 else \ 198 true; \ 199 fi 200 201 po/Makefile: $(srcdir_po)/Makefile.in.in $(srcdir_po)/Makevars po-config.status $(srcdir_po)/POTFILES.in $(srcdir_po)/stamp-m.in 202 @: && @SHELL@ ./po-config.status po/stamp-m po/Makefile.in po-directories 203 204 dist-po: po/Makefile $(PO_MAIN_FILES) 205 @dir1="po"; dir2="$(distdir)/po"; \ 206 $(am__relativize); \ 207 rel_distsubdir=$$reldir; \ 208 echo "cd po && $(MAKE) $(AM_MAKEFLAGS) distdir='$$rel_distsubdir' distdir" && \ 209 $(am__cd) po && $(MAKE) $(AM_MAKEFLAGS) distdir="$$rel_distsubdir" distdir 210 211 $(srcdir_po)/POTFILES.in: $(top_srcdir)/src/mhd2/Makefile.am 212 @echo "cd $(top_builddir)/src/mhd2 && $(MAKE) $(AM_MAKEFLAGS) update-po-POTFILES.in" && \ 213 $(am__cd) '$(top_builddir)/src/mhd2' && $(MAKE) $(AM_MAKEFLAGS) update-po-POTFILES.in 214 215 AUTOPOINT = autopoint 216 AUTOPOINT_FLAGS = 217 218 APIM_LOCK_BASE = autopoint-updating-lock 219 APIM_TMSTMP_BASE = autopoint-timestamp 220 APIM_TMSTMP_TMP_BASE = $(APIM_TMSTMP_BASE)-tmp 221 APIM_TRIGGER_BASE = autopoint-trigger 222 APIM_LOCK = $(srcdir_po)/$(APIM_LOCK_BASE) 223 APIM_TMSTMP = $(srcdir_po)/$(APIM_TMSTMP_BASE) 224 APIM_TMSTMP_TMP = $(srcdir_po)/$(APIM_TMSTMP_TMP_BASE) 225 APIM_TRIGGER = $(srcdir_po)/$(APIM_TRIGGER_BASE) 226 # Run 'autopoint' even if no file missing 227 FORCE_AUTOPOINT_CHECK = no 228 229 LOCK_TIMEOUT_VALUE = 120 230 231 EXTRA_DIST += $(APIM_TMSTMP) $(APIM_TRIGGER) 232 233 sleep_with_timeout = \ 234 sleep 1; \ 235 sec_waiting=`expr ${sec_waiting} + 1`; \ 236 if test $${sec_waiting} -gt '$(LOCK_TIMEOUT_VALUE)'; then \ 237 echo "Waiting timeout" 1>&2; \ 238 rmdir "$${lock_name}" ; \ 239 exit 1; \ 240 fi 241 242 wait_for_unlock = \ 243 test -n "$${lock_name}" || lock_name='$(APIM_LOCK)'; \ 244 if test -d "$${lock_name}"; then \ 245 { $(MHD_V) && \ 246 echo "Autopoint files are being updated in parallel thread, wait"; } || : ; \ 247 sec_waiting=0; \ 248 while test -d "$${lock_name}"; do \ 249 $(sleep_with_timeout) ; \ 250 done; \ 251 fi 252 253 apim_prepare = \ 254 $(am__cd) '$(srcdir_po)' || exit 1; \ 255 lock_name='$(APIM_LOCK_BASE)'; \ 256 { trap "rm -rf $(APIM_TMSTMP_BASE) $(APIM_TMSTMP_TMP_BASE) $${lock_name} po" HUP ABRT INT TERM 2>/dev/null && \ 257 trap "rm -rf $(APIM_TMSTMP_BASE) $(APIM_TMSTMP_TMP_BASE) $${lock_name} po" PIPE 2>/dev/null ; } || \ 258 trap "rm -rf $(APIM_TMSTMP_BASE) $(APIM_TMSTMP_TMP_BASE) $${lock_name} po" 1 2 13 15; \ 259 lock_held='false'; \ 260 sec_waiting=0; \ 261 while : ; do \ 262 if mkdir "$${lock_name}" 2>/dev/null; then lock_held=':' ; else : ; fi; \ 263 $${lock_held} && break || : ; \ 264 test 'xyes' = 'x$(FORCE_AUTOPOINT_CHECK)' || break ; \ 265 $(sleep_with_timeout) ; \ 266 done; \ 267 if $${lock_held} ; then \ 268 rm -f '$(APIM_TMSTMP_BASE)' '$(APIM_TMSTMP_TMP_BASE)' || exit 1; \ 269 echo 'timestamp' > '$(APIM_TMSTMP_TMP_BASE)' || exit 1; \ 270 if test 'xyes' = 'x$(FORCE_AUTOPOINT_CHECK)'; then \ 271 call_autopoint=':'; check_all='false'; \ 272 else \ 273 call_autopoint='false'; check_all=':'; \ 274 fi; \ 275 if $(MHD_V) ; then apim_echo='echo' ; else apim_echo=':'; fi ;\ 276 $$apim_echo "Sync autopoint files"; \ 277 files_missing='false'; \ 278 $(MKDIR_P) 'po'; \ 279 $(MKDIR_P) '$(MHD_AUX_DIR)'; \ 280 main_f_names=`for f in $(PO_MAIN_FILES) $(PO_EXTRA_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \ 281 root_f_names=`for f in $(PO_ROOT_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \ 282 m4_f_names=`for f in $(PO_M4_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \ 283 aux_f_names=`for f in $(PO_AUX_FILES); do echo "$$f"; done | $(SED) -e 's|^.*/||'`; \ 284 for f in $${main_f_names}; do \ 285 if test -f "$$f"; then \ 286 cp -f "$$f" "po/$$f" ; \ 287 else \ 288 $$apim_echo "Missing $(srcdir_po)/$$f" ; \ 289 files_missing=':' ; \ 290 fi; \ 291 done; \ 292 if $${check_all} ; then \ 293 for f in $${root_f_names}; do \ 294 if test -f "./$$f"; then : ; \ 295 else \ 296 $$apim_echo "Missing $(srcdir_po)/$$f" ; \ 297 files_missing=':' ; \ 298 fi; \ 299 done; \ 300 for f in $${m4_f_names}; do \ 301 if test -f "m4/$$f"; then : ; \ 302 else \ 303 $$apim_echo "Missing $(srcdir_po)/m4/$$f" ; \ 304 files_missing=':' ; \ 305 fi; \ 306 done; \ 307 for f in $${aux_f_names}; do \ 308 if test -f "$(MHD_AUX_DIR)/$$f"; then : ;\ 309 else \ 310 $$apim_echo "Missing $(srcdir_po)/$(MHD_AUX_DIR)/$$f" ; \ 311 files_missing=':' ; \ 312 fi; \ 313 done; \ 314 fi; \ 315 if $${files_missing} ; then \ 316 call_autopoint=':' ; \ 317 $$apim_echo "Some files are missing, call autopoint to restore them" ; \ 318 elif $${call_autopoint}; then $$apim_echo "Check and update autopoint files" ; \ 319 fi; \ 320 rc_code=0; \ 321 if $${call_autopoint} ; then \ 322 echo ' cd $(srcdir_po) && $(AUTOPOINT) $(AUTOPOINT_FLAGS)'; \ 323 '$(AUTOPOINT)' $(AUTOPOINT_FLAGS) || rc_code=1; \ 324 fi; \ 325 if test "$${rc_code}" = "0"; then \ 326 $$apim_echo "Re-sync autopoint files back"; \ 327 for f in $${aux_f_names}; do \ 328 if test -f "$(MHD_AUX_DIR)/$$f"; then \ 329 touch -f "$(MHD_AUX_DIR)/$$f" && \ 330 cp -f "$(MHD_AUX_DIR)/$$f" "../$(MHD_AUX_DIR)/$$f"; \ 331 else \ 332 $$apim_echo "Still missing $(srcdir_po)/$(MHD_AUX_DIR)/$$f" 1>&2 ; \ 333 rc_code=1; \ 334 fi; \ 335 done; \ 336 for f in $${m4_f_names}; do \ 337 if test -f "m4/$$f"; then \ 338 touch "m4/$$f"; \ 339 else \ 340 $$apim_echo "Still missing $(srcdir_po)/m4/$$f" 1>&2 ; \ 341 rc_code=1; \ 342 fi; \ 343 done; \ 344 for f in $${root_f_names}; do \ 345 if test -f "./$$f"; then \ 346 touch "./$$f"; \ 347 else \ 348 $$apim_echo "Still missing $(srcdir_po)/$$f" 1>&2 ; \ 349 rc_code=1; \ 350 fi; \ 351 done; \ 352 for f in $${main_f_names}; do \ 353 if test -f "po/$$f"; then \ 354 cp -f "po/$$f" "$$f"; \ 355 else \ 356 $$apim_echo "Still missing $(srcdir_po)/$$f" 1>&2 ; \ 357 rc_code=1; \ 358 fi; \ 359 done; \ 360 fi; \ 361 if test $${rc_code} = 0; then \ 362 cp -fp '$(APIM_TMSTMP_TMP_BASE)' '$(APIM_TMSTMP_BASE)' ; \ 363 touch -r '$(APIM_TMSTMP_TMP_BASE)' '$(APIM_TMSTMP_BASE)' ; \ 364 $$apim_echo "All autopoint files have been synced"; \ 365 rm -f '$(APIM_TMSTMP_TMP_BASE)'; \ 366 else \ 367 rm -f '$(APIM_TMSTMP_BASE)' '$(APIM_TMSTMP_TMP_BASE)'; \ 368 fi; \ 369 rm -fr 'po'; \ 370 rmdir "$${lock_name}"; \ 371 exit $${rc_code} ; \ 372 else \ 373 $(wait_for_unlock) ; \ 374 test -f '$(APIM_TMSTMP_BASE)' || exit 1; \ 375 fi; \ 376 : 377 378 mostlyclean-local: mostlyclean-autopoint-update 379 mostlyclean-autopoint-update: 380 -rm -rf '$(APIM_LOCK)' 381 -rm -rf '$(srcdir_po)/po' 382 rm -f '$(APIM_TMSTMP_TMP)' 383 384 $(APIM_TRIGGER): 385 @echo "autopoint files rebuild trigger" > "$@" 386 387 $(APIM_TMSTMP): $(srcdir_po)/configure.ac $(APIM_TRIGGER) 388 @ $(apim_prepare) 389 390 .DELETE_ON_ERROR: $(APIM_TMSTMP) 391 392 $(PO_ALL_FILES): $(APIM_TMSTMP) $(srcdir_po)/configure.ac 393 @ ( $(apim_prepare) ) 394 @test -f '$@' 395 396 prepare-autopoint: $(srcdir_po)/configure.ac 397 @ ( $(apim_prepare) ) 398 @test -f '$(APIM_TMSTMP)' 399 400 check-prepare-autopoint: $(srcdir_po)/$(MHD_AUX_DIR)/install-sh $(APIM_TMSTMP) 401 @echo "Check all autopoint files"; \ 402 files_missing='false'; \ 403 for f in $(PO_ALL_FILES); do \ 404 if test -f "$$f"; then : ; \ 405 else \ 406 echo "Missing $$f" ; \ 407 files_missing=':' ; \ 408 fi; \ 409 done; \ 410 if $${files_missing}; then \ 411 $(MAKE) $(AM_MAKEFLAGS) prepare-autopoint || exit 1; \ 412 else \ 413 exit 0; \ 414 fi 415 416 # This could be used to update autopoint files for git or for 'dist' target 417 update-autopoint-force: 418 $(MAKE) $(AM_MAKEFLAGS) 'FORCE_AUTOPOINT_CHECK=yes' 'AUTOPOINT_FLAGS=$(AUTOPOINT_FLAGS) -f' prepare-autopoint 419 420 autopoint-files-all: $(APIM_TRIGGER) $(APIM_TMSTMP) $(PO_MAIN_FILES) $(PO_EXTRA_FILES) $(PO_M4_FILES) $(PO_AUX_FILES) $(srcdir_po)/$(MHD_AUX_DIR)/install-sh 421 422 $(top_srcdir)/$(MHD_AUX_DIR)/config.rpath: $(srcdir_po)/$(MHD_AUX_DIR)/config.rpath 423 cp -f '$(srcdir_po)/$(MHD_AUX_DIR)/config.rpath' '$@' 424 425 $(srcdir_po)/$(MHD_AUX_DIR)/install-sh: $(top_srcdir)/$(MHD_AUX_DIR)/install-sh 426 $(MKDIR_P) '$(srcdir_po)/$(MHD_AUX_DIR)' 427 cp -f '$(top_srcdir)/$(MHD_AUX_DIR)/install-sh' '$@' 428 429 .PHONY: mostlyclean-autopoint-update prepare-autopoint update-autopoint-force check-prepare-autopoint autopoint-files-all 430 431 distclean-po: 432 @( if test -f po/Makefile; then \ 433 $(am__cd) po && $(MAKE) $(AM_MAKEFLAGS) distclean; \ 434 else \ 435 true; \ 436 fi ) 437 -rm -f po-config.status po/Makefile po/stamp-m 438 -rm -f po/POTFILES po/remove-potcdate.sed po/Makefile.in 439 440 maintainer-clean-po: 441 @( if test -f po/Makefile; then \ 442 $(am__cd) po && $(MAKE) $(AM_MAKEFLAGS) maintainer-clean; \ 443 else \ 444 true; \ 445 fi ) 446 -rm -f po/$(PACKAGE_TARNAME).pot 447 -rm -rf $(srcdir_po)/autom4te.cache 448 449 .PHONY: distclean-po maintainer-clean-po 450 451 MOSTLYCLEANFILES += MHD_config.h 452 453 check-sources-missing update-vs-files: 454 @echo 'cd src/mhd2 && $(MAKE) $(AM_MAKEFLAGS) $@' && \ 455 $(am__cd) src/mhd2 && $(MAKE) $(AM_MAKEFLAGS) '$@' 456 457 check-missing-sources: check-sources-missing 458 459 .PHONY: check-sources-missing check-missing-sources update-vs-files