github.com/blixtra/rkt@v0.8.1-0.20160204105720-ab0d1add1a43/stage1_fly/aci/aci.mk (about) 1 $(call setup-stamp-file,FLY_ACI_STAMP,aci-manifest) 2 $(call setup-tmp-dir,FLY_ACI_TMPDIR_BASE) 3 4 FLY_ACI_TMPDIR := $(FLY_ACI_TMPDIR_BASE)/fly 5 # a manifest template 6 FLY_ACI_SRC_MANIFEST := $(MK_SRCDIR)/aci-manifest.in 7 # generated manifest to be copied to the ACI directory 8 FLY_ACI_GEN_MANIFEST := $(FLY_ACI_TMPDIR)/manifest 9 # manifest in the ACI directory 10 FLY_ACI_MANIFEST := $(FLY_ACIDIR)/manifest 11 # escaped values of the ACI name, version and enter command, so 12 # they can be safely used in the replacement part of sed's s/// 13 # command. 14 FLY_ACI_VERSION := $(call sed-replacement-escape,$(RKT_VERSION)) 15 # stamp and dep file for invalidating the generated manifest if name, 16 # version or enter command changes for this flavor 17 $(call setup-stamp-file,FLY_ACI_MANIFEST_KV_DEPMK_STAMP,$manifest-kv-dep) 18 $(call setup-dep-file,FLY_ACI_MANIFEST_KV_DEPMK,manifest-kv-dep) 19 FLY_ACI_DIRS := \ 20 $(FLY_ACIROOTFSDIR)/rkt \ 21 $(FLY_ACIROOTFSDIR)/rkt/status \ 22 $(FLY_ACIROOTFSDIR)/opt \ 23 $(FLY_ACIROOTFSDIR)/opt/stage2 24 25 # main stamp rule - makes sure manifest and deps files are generated 26 $(call generate-stamp-rule,$(FLY_ACI_STAMP),$(FLY_ACI_MANIFEST) $(FLY_ACI_MANIFEST_KV_DEPMK_STAMP)) 27 28 # invalidate generated manifest if version changes 29 $(call generate-kv-deps,$(FLY_ACI_MANIFEST_KV_DEPMK_STAMP),$(FLY_ACI_GEN_MANIFEST),$(FLY_ACI_MANIFEST_KV_DEPMK),FLY_ACI_VERSION) 30 31 # this rule generates a manifest 32 $(call forward-vars,$(FLY_ACI_GEN_MANIFEST), \ 33 FLY_ACI_VERSION) 34 $(FLY_ACI_GEN_MANIFEST): $(FLY_ACI_SRC_MANIFEST) | $(FLY_ACI_TMPDIR) $(FLY_ACI_DIRS) $(FLY_ACIROOTFSDIR)/flavor 35 $(VQ) \ 36 set -e; \ 37 $(call vb,vt,MANIFEST,fly) \ 38 sed \ 39 -e 's/@RKT_STAGE1_VERSION@/$(FLY_ACI_VERSION)/g' \ 40 "$<" >"$@.tmp"; \ 41 $(call bash-cond-rename,$@.tmp,$@) 42 43 INSTALL_DIRS += \ 44 $(FLY_ACI_TMPDIR):- \ 45 $(foreach d,$(FLY_ACI_DIRS),$d:-) 46 INSTALL_SYMLINKS += \ 47 fly:$(FLY_ACIROOTFSDIR)/flavor 48 FLY_STAMPS += $(FLY_ACI_STAMP) 49 INSTALL_FILES += \ 50 $(FLY_ACI_GEN_MANIFEST):$(FLY_ACI_MANIFEST):0644 51 CLEAN_FILES += $(FLY_ACI_GEN_MANIFEST) 52 53 $(call undefine-namespaces,FLY_ACI _FLY_ACI)