@@ -93,6 +93,9 @@ DEFAULTSDIR := $(SHAREDIR)/defaults
9393COLLECT_SCRIPT = data/kata-collect-data.sh
9494COLLECT_SCRIPT_SRC = $(COLLECT_SCRIPT ) .in
9595
96+ # @RUNTIME_NAME@ should be replaced with the target in generated files
97+ RUNTIME_NAME = $(TARGET )
98+
9699GENERATED_FILES += $(COLLECT_SCRIPT )
97100SCRIPTS += $(COLLECT_SCRIPT )
98101SCRIPTS_DIR := $(BINDIR )
@@ -128,16 +131,23 @@ DEFAULT_HYPERVISOR ?= $(HYPERVISOR_QEMU)
128131HYPERVISORS := $(HYPERVISOR_ACRN ) $(HYPERVISOR_FC ) $(HYPERVISOR_QEMU ) $(HYPERVISOR_QEMU_VIRTIOFS ) $(HYPERVISOR_CLH )
129132
130133QEMUPATH := $(QEMUBINDIR ) /$(QEMUCMD )
134+ QEMUVALIDHYPERVISORPATHS := [\"$(QEMUPATH ) \"]
131135
132136QEMUVIRTIOFSPATH := $(QEMUBINDIR ) /$(QEMUVIRTIOFSCMD )
137+ QEMUVALIDVIRTIOFSPATHS := [\"$(QEMUVIRTIOFSPATH ) \"]
133138
134139CLHPATH := $(CLHBINDIR ) /$(CLHCMD )
140+ CLHVALIDHYPERVISORPATHS := [\"$(CLHBINDIR ) /$(CLHCMD ) \"]
135141
136142FCPATH = $(FCBINDIR ) /$(FCCMD )
143+ FCVALIDHYPERVISORPATHS = [\"$(FCPATH ) \"]
137144FCJAILERPATH = $(FCBINDIR ) /$(FCJAILERCMD )
145+ FCVALIDJAILERPATHS = [\"$(FCJAILERPATH ) \"]
138146
139147ACRNPATH := $(ACRNBINDIR ) /$(ACRNCMD )
148+ ACRNVALIDHYPERVISORPATHS := [\"$(ACRNPATH ) \"]
140149ACRNCTLPATH := $(ACRNBINDIR ) /$(ACRNCTLCMD )
150+ ACRNVALIDCTLPATHS := [\"$(ACRNCTLPATH ) \"]
141151
142152SHIMCMD := $(BIN_PREFIX ) -shim
143153SHIMPATH := $(PKGLIBEXECDIR ) /$(SHIMCMD )
@@ -163,6 +173,7 @@ DEFMEMSZ := 2048
163173DEFMEMSLOTS := 10
164174# Default number of bridges
165175DEFBRIDGES := 1
176+ DEFENABLEANNOTATIONS := [\".*\"]
166177DEFDISABLEGUESTSECCOMP := true
167178# Default experimental features enabled
168179DEFAULTEXPFEATURES := []
@@ -174,6 +185,7 @@ DEFDISABLEBLOCK := false
174185DEFSHAREDFS := virtio-9p
175186DEFSHAREDFS_QEMU_VIRTIOFS := virtio-fs
176187DEFVIRTIOFSDAEMON := $(VIRTIOFSDBINDIR ) /virtiofsd
188+ DEFVALIDVIRTIOFSDAEMONPATHS := [\"$(DEFVIRTIOFSDAEMON ) \"]
177189# Default DAX mapping cache size in MiB
178190# if value is 0, DAX is not enabled
179191DEFVIRTIOFSCACHESIZE := 0
@@ -184,6 +196,9 @@ DEFENABLEMEMPREALLOC := false
184196DEFENABLEHUGEPAGES := false
185197DEFENABLEVHOSTUSERSTORE := false
186198DEFVHOSTUSERSTOREPATH := $(PKGRUNDIR ) /vhost-user
199+ DEFVALIDVHOSTUSERSTOREPATHS := [\"$(DEFVHOSTUSERSTOREPATH ) \"]
200+ DEFFILEMEMBACKEND := ""
201+ DEFVALIDFILEMEMBACKENDS := [\"$(DEFFILEMEMBACKEND ) \"]
187202DEFENABLESWAP := false
188203DEFENABLEDEBUG := false
189204DEFDISABLENESTINGCHECKS := false
@@ -376,16 +391,29 @@ SHAREDIR := $(SHAREDIR)
376391# list of variables the user may wish to override
377392USER_VARS += ARCH
378393USER_VARS += BINDIR
394+ USER_VARS += CONFIG_ACRN_IN
395+ USER_VARS += CONFIG_CLH_IN
396+ USER_VARS += CONFIG_FC_IN
379397USER_VARS += CONFIG_PATH
398+ USER_VARS += CONFIG_QEMU_IN
399+ USER_VARS += CONFIG_QEMU_VIRTIOFS_IN
380400USER_VARS += DESTDIR
381401USER_VARS += DEFAULT_HYPERVISOR
402+ USER_VARS += DEFENABLEMSWAP
382403USER_VARS += ACRNCMD
383404USER_VARS += ACRNCTLCMD
384405USER_VARS += ACRNPATH
406+ USER_VARS += ACRNVALIDHYPERVISORPATHS
385407USER_VARS += ACRNCTLPATH
408+ USER_VARS += ACRNVALIDCTLPATHS
409+ USER_VARS += CLHPATH
410+ USER_VARS += CLHVALIDHYPERVISORPATHS
411+ USER_VARS += FIRMWAREPATH_CLH
386412USER_VARS += FCCMD
387413USER_VARS += FCPATH
414+ USER_VARS += FCVALIDHYPERVISORPATHS
388415USER_VARS += FCJAILERPATH
416+ USER_VARS += FCVALIDJAILERPATHS
389417USER_VARS += SYSCONFIG
390418USER_VARS += IMAGENAME
391419USER_VARS += IMAGEPATH
@@ -397,6 +425,11 @@ USER_VARS += KERNELTYPE
397425USER_VARS += KERNELTYPE_FC
398426USER_VARS += KERNELTYPE_ACRN
399427USER_VARS += KERNELTYPE_CLH
428+ USER_VARS += KERNELPATH_ACRN
429+ USER_VARS += KERNELPATH
430+ USER_VARS += KERNELPATH_CLH
431+ USER_VARS += KERNELPATH_FC
432+ USER_VARS += KERNELVIRTIOFSPATH
400433USER_VARS += FIRMWAREPATH
401434USER_VARS += MACHINEACCELERATORS
402435USER_VARS += DEFMACHINETYPE_CLH
@@ -408,16 +441,23 @@ USER_VARS += PKGLIBDIR
408441USER_VARS += PKGLIBEXECDIR
409442USER_VARS += PKGRUNDIR
410443USER_VARS += PREFIX
444+ USER_VARS += PROJECT_BUG_URL
411445USER_VARS += PROJECT_NAME
446+ USER_VARS += PROJECT_ORG
412447USER_VARS += PROJECT_PREFIX
448+ USER_VARS += PROJECT_TAG
413449USER_VARS += PROJECT_TYPE
450+ USER_VARS += PROJECT_URL
414451USER_VARS += PROXYPATH
415452USER_VARS += NETMONPATH
416453USER_VARS += QEMUBINDIR
417454USER_VARS += QEMUCMD
418455USER_VARS += QEMUPATH
456+ USER_VARS += QEMUVALIDHYPERVISORPATHS
419457USER_VARS += QEMUVIRTIOFSCMD
420458USER_VARS += QEMUVIRTIOFSPATH
459+ USER_VARS += QEMUVALIDVIRTIOFSPATHS
460+ USER_VARS += RUNTIME_NAME
421461USER_VARS += SHAREDIR
422462USER_VARS += SHIMPATH
423463USER_VARS += SYSCONFDIR
@@ -428,6 +468,7 @@ USER_VARS += DEFMEMSZ
428468USER_VARS += DEFMEMSLOTS
429469USER_VARS += DEFBRIDGES
430470USER_VARS += DEFNETWORKMODEL_ACRN
471+ USER_VARS += DEFNETWORKMODEL_CLH
431472USER_VARS += DEFNETWORKMODEL_FC
432473USER_VARS += DEFNETWORKMODEL_QEMU
433474USER_VARS += DEFDISABLEGUESTSECCOMP
@@ -440,14 +481,19 @@ USER_VARS += DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS
440481USER_VARS += DEFSHAREDFS
441482USER_VARS += DEFSHAREDFS_QEMU_VIRTIOFS
442483USER_VARS += DEFVIRTIOFSDAEMON
484+ USER_VARS += DEFVALIDVIRTIOFSDAEMONPATHS
443485USER_VARS += DEFVIRTIOFSCACHESIZE
444486USER_VARS += DEFVIRTIOFSCACHE
445487USER_VARS += DEFVIRTIOFSEXTRAARGS
488+ USER_VARS += DEFENABLEANNOTATIONS
446489USER_VARS += DEFENABLEIOTHREADS
447490USER_VARS += DEFENABLEMEMPREALLOC
448491USER_VARS += DEFENABLEHUGEPAGES
449492USER_VARS += DEFENABLEVHOSTUSERSTORE
450493USER_VARS += DEFVHOSTUSERSTOREPATH
494+ USER_VARS += DEFVALIDVHOSTUSERSTOREPATHS
495+ USER_VARS += DEFFILEMEMBACKEND
496+ USER_VARS += DEFVALIDFILEMEMBACKENDS
451497USER_VARS += DEFENABLESWAP
452498USER_VARS += DEFENABLEDEBUG
453499USER_VARS += DEFDISABLENESTINGCHECKS
@@ -581,87 +627,19 @@ $(TARGET).coverage: $(SOURCES) $(GENERATED_FILES) $(MAKEFILE_LIST)
581627 $(QUIET_TEST ) go test -o $@ -covermode count
582628
583629GENERATED_FILES += $(CONFIGS )
630+ GENERATED_VARS = \
631+ VERSION \
632+ CONFIG_ACRN_IN \
633+ CONFIG_QEMU_IN \
634+ CONFIG_QEMU_VIRTIOFS_IN \
635+ CONFIG_CLH_IN \
636+ CONFIG_FC_IN \
637+ $(USER_VARS )
584638
585639$(GENERATED_FILES ) : % : % .in $(MAKEFILE_LIST ) VERSION .git-commit
586640 $(QUIET_GENERATE )$(SED ) \
587641 -e " s|@COMMIT@|$( shell cat .git-commit) |g" \
588- -e " s|@VERSION@|$( VERSION) |g" \
589- -e " s|@CONFIG_ACRN_IN@|$( CONFIG_ACRN_IN) |g" \
590- -e " s|@CONFIG_QEMU_IN@|$( CONFIG_QEMU_IN) |g" \
591- -e " s|@CONFIG_QEMU_VIRTIOFS_IN@|$( CONFIG_QEMU_VIRTIOFS_IN) |g" \
592- -e " s|@CONFIG_CLH_IN@|$( CONFIG_CLH_IN) |g" \
593- -e " s|@CONFIG_FC_IN@|$( CONFIG_FC_IN) |g" \
594- -e " s|@CONFIG_PATH@|$( CONFIG_PATH) |g" \
595- -e " s|@FCPATH@|$( FCPATH) |g" \
596- -e " s|@FCJAILERPATH@|$( FCJAILERPATH) |g" \
597- -e " s|@ACRNPATH@|$( ACRNPATH) |g" \
598- -e " s|@ACRNCTLPATH@|$( ACRNCTLPATH) |g" \
599- -e " s|@CLHPATH@|$( CLHPATH) |g" \
600- -e " s|@SYSCONFIG@|$( SYSCONFIG) |g" \
601- -e " s|@IMAGEPATH@|$( IMAGEPATH) |g" \
602- -e " s|@KERNELPATH_ACRN@|$( KERNELPATH_ACRN) |g" \
603- -e " s|@KERNELPATH_FC@|$( KERNELPATH_FC) |g" \
604- -e " s|@KERNELPATH_CLH@|$( KERNELPATH_CLH) |g" \
605- -e " s|@KERNELPATH@|$( KERNELPATH) |g" \
606- -e " s|@KERNELVIRTIOFSPATH@|$( KERNELVIRTIOFSPATH) |g" \
607- -e " s|@INITRDPATH@|$( INITRDPATH) |g" \
608- -e " s|@FIRMWAREPATH@|$( FIRMWAREPATH) |g" \
609- -e " s|@MACHINEACCELERATORS@|$( MACHINEACCELERATORS) |g" \
610- -e " s|@FIRMWAREPATH_CLH@|$( FIRMWAREPATH_CLH) |g" \
611- -e " s|@DEFMACHINETYPE_CLH@|$( DEFMACHINETYPE_CLH) |g" \
612- -e " s|@KERNELPARAMS@|$( KERNELPARAMS) |g" \
613- -e " s|@LOCALSTATEDIR@|$( LOCALSTATEDIR) |g" \
614- -e " s|@PKGLIBEXECDIR@|$( PKGLIBEXECDIR) |g" \
615- -e " s|@PKGRUNDIR@|$( PKGRUNDIR) |g" \
616- -e " s|@PROXYPATH@|$( PROXYPATH) |g" \
617- -e " s|@NETMONPATH@|$( NETMONPATH) |g" \
618- -e " s|@PROJECT_BUG_URL@|$( PROJECT_BUG_URL) |g" \
619- -e " s|@PROJECT_URL@|$( PROJECT_URL) |g" \
620- -e " s|@PROJECT_NAME@|$( PROJECT_NAME) |g" \
621- -e " s|@PROJECT_TAG@|$( PROJECT_TAG) |g" \
622- -e " s|@PROJECT_TYPE@|$( PROJECT_TYPE) |g" \
623- -e " s|@QEMUPATH@|$( QEMUPATH) |g" \
624- -e " s|@QEMUVIRTIOFSPATH@|$( QEMUVIRTIOFSPATH) |g" \
625- -e " s|@RUNTIME_NAME@|$( TARGET) |g" \
626- -e " s|@MACHINETYPE@|$( MACHINETYPE) |g" \
627- -e " s|@SHIMPATH@|$( SHIMPATH) |g" \
628- -e " s|@DEFVCPUS@|$( DEFVCPUS) |g" \
629- -e " s|@DEFMAXVCPUS@|$( DEFMAXVCPUS) |g" \
630- -e " s|@DEFMAXVCPUS_ACRN@|$( DEFMAXVCPUS_ACRN) |g" \
631- -e " s|@DEFMEMSZ@|$( DEFMEMSZ) |g" \
632- -e " s|@DEFMEMSLOTS@|$( DEFMEMSLOTS) |g" \
633- -e " s|@DEFBRIDGES@|$( DEFBRIDGES) |g" \
634- -e " s|@DEFNETWORKMODEL_ACRN@|$( DEFNETWORKMODEL_ACRN) |g" \
635- -e " s|@DEFNETWORKMODEL_CLH@|$( DEFNETWORKMODEL_CLH) |g" \
636- -e " s|@DEFNETWORKMODEL_FC@|$( DEFNETWORKMODEL_FC) |g" \
637- -e " s|@DEFNETWORKMODEL_QEMU@|$( DEFNETWORKMODEL_QEMU) |g" \
638- -e " s|@DEFDISABLEGUESTSECCOMP@|$( DEFDISABLEGUESTSECCOMP) |g" \
639- -e " s|@DEFAULTEXPFEATURES@|$( DEFAULTEXPFEATURES) |g" \
640- -e " s|@DEFDISABLEBLOCK@|$( DEFDISABLEBLOCK) |g" \
641- -e " s|@DEFBLOCKSTORAGEDRIVER_ACRN@|$( DEFBLOCKSTORAGEDRIVER_ACRN) |g" \
642- -e " s|@DEFBLOCKSTORAGEDRIVER_FC@|$( DEFBLOCKSTORAGEDRIVER_FC) |g" \
643- -e " s|@DEFBLOCKSTORAGEDRIVER_QEMU@|$( DEFBLOCKSTORAGEDRIVER_QEMU) |g" \
644- -e " s|@DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS@|$( DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS) |g" \
645- -e " s|@DEFSHAREDFS@|$( DEFSHAREDFS) |g" \
646- -e " s|@DEFSHAREDFS_QEMU_VIRTIOFS@|$( DEFSHAREDFS_QEMU_VIRTIOFS) |g" \
647- -e " s|@DEFVIRTIOFSDAEMON@|$( DEFVIRTIOFSDAEMON) |g" \
648- -e " s|@DEFVIRTIOFSCACHESIZE@|$( DEFVIRTIOFSCACHESIZE) |g" \
649- -e " s|@DEFVIRTIOFSCACHE@|$( DEFVIRTIOFSCACHE) |g" \
650- -e " s|@DEFVIRTIOFSEXTRAARGS@|$( DEFVIRTIOFSEXTRAARGS) |g" \
651- -e " s|@DEFENABLEIOTHREADS@|$( DEFENABLEIOTHREADS) |g" \
652- -e " s|@DEFENABLEMEMPREALLOC@|$( DEFENABLEMEMPREALLOC) |g" \
653- -e " s|@DEFENABLEHUGEPAGES@|$( DEFENABLEHUGEPAGES) |g" \
654- -e " s|@DEFENABLEVHOSTUSERSTORE@|$( DEFENABLEVHOSTUSERSTORE) |g" \
655- -e " s|@DEFVHOSTUSERSTOREPATH@|$( DEFVHOSTUSERSTOREPATH) |g" \
656- -e " s|@DEFENABLEMSWAP@|$( DEFENABLESWAP) |g" \
657- -e " s|@DEFENABLEDEBUG@|$( DEFENABLEDEBUG) |g" \
658- -e " s|@DEFDISABLENESTINGCHECKS@|$( DEFDISABLENESTINGCHECKS) |g" \
659- -e " s|@DEFMSIZE9P@|$( DEFMSIZE9P) |g" \
660- -e " s|@DEFHOTPLUGVFIOONROOTBUS@|$( DEFHOTPLUGVFIOONROOTBUS) |g" \
661- -e " s|@DEFPCIEROOTPORT@|$( DEFPCIEROOTPORT) |g" \
662- -e " s|@DEFENTROPYSOURCE@|$( DEFENTROPYSOURCE) |g" \
663- -e " s|@DEFSANDBOXCGROUPONLY@|$( DEFSANDBOXCGROUPONLY) |g" \
664- -e " s|@FEATURE_SELINUX@|$( FEATURE_SELINUX) |g" \
642+ $(foreach v,$(GENERATED_VARS ) ,-e "s|@$v@|$($v ) |g") \
665643 $< > $@
666644
667645generate-config : $(CONFIGS )
0 commit comments