X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=rules.mk;h=007e5bc9b2f8176ddfcfbd0b880baf9b8ef9664a;hp=23445bfaeed6d7a2642a1cd55becec9895fa5d0e;hb=e396e33ad2ea10633c42ec4c580770cb92148dbc;hpb=731877c5d95f0caefdd1484fe983083131f8eff2 diff --git a/rules.mk b/rules.mk index 23445bfaee..007e5bc9b2 100644 --- a/rules.mk +++ b/rules.mk @@ -249,6 +249,16 @@ define include_mk $(eval -include $(if $(DUMP),,$(STAGING_DIR)/mk/$(strip $(1)))) endef +# Execute commands under flock +# $(1) => The shell expression. +# $(2) => The lock name. If not given, the global lock will be used. +# $(3) => The filedescriptor used for the lock. Defaults to 1023. +define locked + ( $(STAGING_DIR_HOST)/bin/flock -x $(if $(3),$(3),1023) && \ + $(1) \ + ) $(if $(3),$(strip $(3)),1023)>$(TMP_DIR)/.$(if $(2),$(strip $(2)),global).flock +endef + # file extension ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))