github.com/rkt/rkt@v1.30.1-0.20200224141603-171c416fac02/tests/stub-stage1/stub-stage1.mk (about)

     1  # generated stage1 image
     2  FTST_SS1_IMAGE := $(FTST_TMPDIR)/rkt-stub-stage1.aci
     3  # stamp generating the stage1 image
     4  $(call setup-stamp-file,FTST_SS1_STAMP,/ss1-image)
     5  # stage1 image directory
     6  FTST_SS1_ACIDIR := $(FTST_TMPDIR)/ss1
     7  # stage1 image rootfs directory
     8  FTST_SS1_ACIROOTFSDIR := $(FTST_SS1_ACIDIR)/rootfs
     9  # stage1 image source manifest
    10  FTST_SS1_MANIFEST_SRC := $(MK_SRCDIR)/manifest
    11  # stage1 image manifest in aci dir
    12  FTST_SS1_MANIFEST := $(FTST_SS1_ACIDIR)/manifest
    13  # run binary in rootfs
    14  FTST_SS1_RUN_BINARY := $(FTST_SS1_ACIROOTFSDIR)/run
    15  # enter binary in rootfs
    16  FTST_SS1_ENTER_BINARY := $(FTST_SS1_ACIROOTFSDIR)/enter
    17  # gc binary in rootfs
    18  FTST_SS1_GC_BINARY := $(FTST_SS1_ACIROOTFSDIR)/gc
    19  # TODO: would be nice for stage0 to create those for us instead.
    20  # special directories for stage1
    21  FTST_SS1_RESERVED_DIRS := opt/stage1 rkt/env rkt/status
    22  # special directories for stage1 in rootfs
    23  FTST_SS1_RESERVED_DIRS_IN_ROOTFS := $(foreach d,opt/stage1 rkt/env rkt/status,$(FTST_SS1_ACIROOTFSDIR)/$d)
    24  # chains of special directories for stage1 in rootfs
    25  FTST_SS1_RESERVED_DIR_CHAINS := \
    26  	$(foreach d,$(FTST_SS1_RESERVED_DIRS), \
    27  		$(call dir-chain,$(FTST_SS1_ACIROOTFSDIR),$d))
    28  
    29  INSTALL_DIRS += \
    30  	$(FTST_SS1_ACIDIR):- \
    31  	$(FTST_SS1_ACIROOTFSDIR):- \
    32  	$(foreach d,$(FTST_SS1_RESERVED_DIR_CHAINS),$d:-)
    33  CLEAN_FILES += \
    34  	$(FTST_SS1_IMAGE) \
    35  	$(FTST_SS1_RUN_BINARY) \
    36  	$(FTST_SS1_ENTER_BINARY) \
    37  	$(FTST_SS1_GC_BINARY)
    38  
    39  $(call generate-stamp-rule,$(FTST_SS1_STAMP),$(FTST_SS1_IMAGE))
    40  
    41  $(call forward-vars,$(FTST_SS1_IMAGE), \
    42  	FTST_SS1_MANIFEST_SRC FTST_SS1_MANIFEST FTST_SS1_ACIDIR)
    43  $(FTST_SS1_IMAGE): $(FTST_SS1_RUN_BINARY) $(FTST_SS1_ENTER_BINARY) $(FTST_SS1_GC_BINARY) $(ACTOOL_STAMP) | $(FTST_SS1_ACIDIR) $(FTST_SS1_RESERVED_DIRS_IN_ROOTFS)
    44  	$(VQ) \
    45  	$(call vb,vt,GEN,$(call vsp,$(FTST_SS1_MANIFEST))) \
    46  	$(call generate-manifest-file,$(FTST_SS1_MANIFEST_SRC),$(FTST_SS1_MANIFEST)) \
    47  	$(call vb,vt,ACTOOL,$(call vsp,$@)) \
    48  	"$(ACTOOL)" build --overwrite "$(FTST_SS1_ACIDIR)" "$@"
    49  
    50  $(FTST_SS1_RUN_BINARY) $(FTST_SS1_ENTER_BINARY) $(FTST_SS1_GC_BINARY): | $(FTST_SS1_ACIROOTFSDIR)
    51  
    52  # variables for makelib/build_go_bin.mk
    53  BGB_STAMP := $(FTST_SS1_STAMP)
    54  BGB_BINARY := $(FTST_SS1_RUN_BINARY)
    55  BGB_PKG_IN_REPO := $(call go-pkg-from-dir)/run
    56  
    57  include makelib/build_go_bin.mk
    58  
    59  # variables for makelib/build_go_bin.mk
    60  BGB_STAMP := $(FTST_SS1_STAMP)
    61  BGB_BINARY := $(FTST_SS1_ENTER_BINARY)
    62  BGB_PKG_IN_REPO := $(call go-pkg-from-dir)/enter
    63  
    64  include makelib/build_go_bin.mk
    65  
    66  # variables for makelib/build_go_bin.mk
    67  BGB_STAMP := $(FTST_SS1_STAMP)
    68  BGB_BINARY := $(FTST_SS1_GC_BINARY)
    69  BGB_PKG_IN_REPO := $(call go-pkg-from-dir)/gc
    70  
    71  include makelib/build_go_bin.mk
    72  
    73  # do not undefine the FTST_SS1_IMAGE and FTST_SS1_STAMP variables, we
    74  # will use them in functional.mk
    75  $(call undefine-namespaces,FTST_SS1,FTST_SS1_IMAGE FTST_SS1_STAMP)