aboutsummaryrefslogtreecommitdiff
path: root/kvm/Makefile
blob: 48549299d1d4505df6c8dc4f3d37b17d7d1c589d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
include config.mak

DESTDIR=

rpmrelease = devel

.PHONY: kernel user qemu clean

all: $(if $(WANT_MODULE), kernel) user qemu

kcmd = $(if $(WANT_MODULE),,@\#)

qemu kernel user:
	$(MAKE) -C $@

qemu: user

bindir = /usr/bin
bin = $(bindir)/kvm
initdir = /etc/init.d
confdir = /etc/kvm
utilsdir = /etc/kvm/utils

install-rpm:
	mkdir -p $(DESTDIR)/$(bindir)
	mkdir -p $(DESTDIR)/$(confdir)
	mkdir -p $(DESTDIR)/$(initdir)
	mkdir -p $(DESTDIR)/$(utilsdir)
	mkdir -p $(DESTDIR)/etc/udev/rules.d
	cp qemu/x86_64-softmmu/qemu-system-x86_64 $(DESTDIR)/$(bin)
	cp scripts/kvm $(DESTDIR)/$(initdir)/kvm
	cp scripts/qemu-ifup $(DESTDIR)/$(confdir)/qemu-ifup
	install -t $(DESTDIR)/etc/udev/rules.d scripts/*kvm*.rules
	cp kvm $(DESTDIR)/$(utilsdir)/kvm

install:
	$(kcmd)make -C kernel DESTDIR="$(DESTDIR)" install
	make -C user DESTDIR="$(DESTDIR)" install
	make -C qemu DESTDIR="$(DESTDIR)" install

tmpspec = .tmp.kvm.spec
RPMDIR=$$(pwd)/RPMS

rpm:	user qemu
	mkdir -p $(RPMDIR)/$$(uname -i)
	sed 's/^Release:.*/Release: $(rpmrelease)/' kvm.spec > $(tmpspec)
	rpmbuild --define="kverrel $$(uname -r)" \
		 --define="objdir $$(pwd)" \
		 --define="_rpmdir $(RPMDIR)" \
		 --define="_topdir $$(pwd)" \
		 --define="prebuilt 1" \
		-bb $(tmpspec)
	$(RM) $(tmpspec)

srpm:
	mkdir -p SOURCES SRPMS
	sed 's/^Release:.*/Release: $(rpmrelease)/' kvm.spec > $(tmpspec)
	tar czf SOURCES/kvm.tar.gz qemu
	tar czf SOURCES/user.tar.gz user
	tar czf SOURCES/kernel.tar.gz kernel
	tar czf SOURCES/scripts.tar.gz scripts
	cp Makefile SOURCES
	rpmbuild  --define="_topdir $$(pwd)" -bs $(tmpspec)
	$(RM) $(tmpspec)

clean:
	for i in $(if $(WANT_MODULE), kernel) user qemu; do \
		make -C $$i clean; \
	done
	rm -f config.mak user/config.mak