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)