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)