-for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
- if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
- exit 1
- fi
- install -d o/include/linux
- ln -sf %{_kernelsrcdir}/config-$cfg o/.config
- ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
- ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
-%if %{with dist_kernel}
- %{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
-%else
- install -d o/include/config
- touch o/include/config/MARKER
- ln -sf %{_kernelsrcdir}/scripts o/scripts
-%endif
- if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
- sed 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(kqemu_lock)/' \
- kqemu-linux.c.orig > kqemu-linux.c
- else
- cat kqemu-linux.c.orig > kqemu-linux.c
- fi
-
- %{__make} -C %{_kernelsrcdir} modules \
- CC="%{__cc}" CPP="%{__cpp}" \
- M=$PWD O=$PWD/o \
- %{?with_verbose:V=1}
- mv kqemu.ko kqemu-mod-$cfg.ko
-done
+cat > Makefile <<'EOF'
+obj-m := kqemu.o
+kqemu-objs:= kqemu-linux.o kqemu-mod.o
+
+$(obj)/kqemu-mod.o: $(src)/kqemu-mod-$(ARCH).o.bin
+ cp $< $@
+EOF
+
+%build_kernel_modules -m kqemu <<'EOF'
+if grep -q "CONFIG_PREEMPT_RT" o/.config; then
+ sed 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(kqemu_lock)/' \
+ kqemu-linux.c.orig > kqemu-linux.c
+else
+ cat kqemu-linux.c.orig > kqemu-linux.c
+fi
+EOF