22 lines
		
	
	
		
			813 B
		
	
	
	
		
			Makefile
		
	
			
		
		
	
	
			22 lines
		
	
	
		
			813 B
		
	
	
	
		
			Makefile
		
	
| GUIX_SUBSTITUTE_FLAG = --substitute-urls='https://ci.guix.gnu.org https://substitutes.nonguix.org'
 | |
| GUIX_LIB_FLAGS ?= -L ./
 | |
| LIBVIRT_GROUP ?= libvirt
 | |
| LIBVIRT_USER ?= $(USER)
 | |
| GUIX_IMAGE_CMD ?= guix system image $(GUIX_SUBSTITUTE_FLAG) --image-type=qcow2 $(GUIX_LIB_FLAGS)
 | |
| 
 | |
| VM_RAM ?= 4000
 | |
| VM_CPU ?= 4
 | |
| 
 | |
| %.qcow2: %.scm
 | |
| 	$(eval RO := $(shell $(GUIX_IMAGE_CMD) $<))
 | |
| 	install -C -m 666 -o $(LIBVIRT_USER) -g $(LIBVIRT_GROUP) $(RO) $@
 | |
| 
 | |
| %: %.qcow2
 | |
| 	$(eval OVMF := $(shell guix build $(GUIX_SUBSTITUTE_FLAG) ovmf))
 | |
| 	qemu-system-x86_64 -nic bridge,br=virbr0 -enable-kvm -hda $< -m $(VM_RAM) -smp $(VM_CPU) -bios $(OVMF)/share/firmware/ovmf_x64.bin
 | |
| 
 | |
| .PHONY: %
 | |
| %-ro: %.scm
 | |
| 	$(eval VM_SCRIPT := $(shell guix system $(GUIX_LIB_FLAGS) $(GUIX_SUBSTITUTE_FLAG) vm $<))
 | |
| 	$(VM_SCRIPT) -m $(VM_RAM) -smp $(VM_CPU) -nic bridge,br=virbr0
 |