github.com/stackdocker/rkt@v0.10.1-0.20151109095037-1aa827478248/stage1/usr_from_kvm/lkvm.mk (about)

     1  $(call setup-stamp-file,LKVM_STAMP)
     2  LKVM_TMPDIR := $(UFK_TMPDIR)/lkvm
     3  LKVM_SRCDIR := $(LKVM_TMPDIR)/src
     4  LKVM_BINARY := $(LKVM_SRCDIR)/lkvm-static
     5  LKVM_ACI_BINARY := $(S1_RF_ACIROOTFSDIR)/lkvm
     6  LKVM_GIT := https://kernel.googlesource.com/pub/scm/linux/kernel/git/will/kvmtool
     7  # just last published version (for reproducible builds), not for any other reason
     8  LKVM_VERSION := efcf862611f2498d7b500e46a73d8a008e04325f
     9  
    10  LKVM_STUFFDIR := $(MK_SRCDIR)/lkvm
    11  LKVM_PATCHESDIR := $(LKVM_STUFFDIR)/patches
    12  LKVM_PATCHES := $(abspath $(LKVM_PATCHESDIR)/*.patch)
    13  
    14  $(call setup-stamp-file,LKVM_BUILD_STAMP,/build)
    15  $(call setup-stamp-file,LKVM_PATCH_STAMP,/patch_lkvm)
    16  $(call setup-stamp-file,LKVM_DEPS_STAMP,/deps)
    17  $(call setup-stamp-file,LKVM_DIR_CLEAN_STAMP,/dir-clean)
    18  $(call setup-dep-file,LKVM_PATCHES_DEPMK)
    19  $(call setup-clean-file,LKVM_CLEANMK,/src)
    20  $(call setup-filelist-file,LKVM_DIR_FILELIST,/dir)
    21  $(call setup-filelist-file,LKVM_PATCHES_FILELIST,/patches)
    22  
    23  S1_RF_SECONDARY_STAMPS += $(LKVM_STAMP)
    24  S1_RF_INSTALL_FILES += $(LKVM_BINARY):$(LKVM_ACI_BINARY):-
    25  INSTALL_DIRS += \
    26  	$(LKVM_SRCDIR):- \
    27  	$(LKVM_TMPDIR):-
    28  
    29  $(call generate-stamp-rule,$(LKVM_STAMP),$(LKVM_ACI_BINARY) $(LKVM_DEPS_STAMP) $(LKVM_DIR_CLEAN_STAMP))
    30  
    31  $(LKVM_BINARY): $(LKVM_BUILD_STAMP)
    32  
    33  $(call generate-stamp-rule,$(LKVM_BUILD_STAMP),$(LKVM_PATCH_STAMP),, \
    34  	$(call vb,vt,BUILD EXT,lkvm) \
    35  	$$(MAKE) $(call vl2,--silent) -C "$(LKVM_SRCDIR)" V= lkvm-static $(call vl2,>/dev/null))
    36  
    37  # Generate filelist of lkvm directory (this is both srcdir and
    38  # builddir). Can happen after build finished.
    39  $(LKVM_DIR_FILELIST): $(LKVM_BUILD_STAMP)
    40  $(call generate-deep-filelist,$(LKVM_DIR_FILELIST),$(LKVM_SRCDIR))
    41  
    42  # Generate clean.mk cleaning lkvm directory
    43  $(call generate-clean-mk,$(LKVM_DIR_CLEAN_STAMP),$(LKVM_CLEANMK),$(LKVM_DIR_FILELIST),$(LKVM_SRCDIR))
    44  
    45  $(call generate-stamp-rule,$(LKVM_PATCH_STAMP),,, \
    46  	shopt -s nullglob; \
    47  	for p in $(LKVM_PATCHES); do \
    48  		$(call vb,v2,PATCH,$$$${p#$(MK_TOPLEVEL_ABS_SRCDIR)/}) \
    49  		patch $(call vl3,--silent) --directory="$(LKVM_SRCDIR)" --strip=1 --forward <"$$$${p}"; \
    50  	done)
    51  
    52  # Generate a filelist of patches. Can happen anytime.
    53  $(call generate-patches-filelist,$(LKVM_PATCHES_FILELIST),$(LKVM_PATCHESDIR))
    54  
    55  # Generate dep.mk on patches, so if they change, the project has to be
    56  # reset to original checkout and patches reapplied.
    57  $(call generate-glob-deps,$(LKVM_DEPS_STAMP),$(LKVM_SRCDIR)/Makefile,$(LKVM_PATCHES_DEPMK),.patch,$(LKVM_PATCHES_FILELIST),$(LKVM_PATCHESDIR),normal)
    58  
    59  # parameters for makelib/git.mk
    60  GCL_REPOSITORY := $(LKVM_GIT)
    61  GCL_DIRECTORY := $(LKVM_SRCDIR)
    62  GCL_COMMITTISH := $(LKVM_VERSION)
    63  GCL_EXPECTED_FILE := Makefile
    64  GCL_TARGET := $(LKVM_PATCH_STAMP)
    65  GCL_DO_CHECK :=
    66  
    67  include makelib/git.mk
    68  
    69  $(call undefine-namespaces,LKVM)