- rm -rf include
- install -d include/{linux,config}
- ln -sf %{_kernelsrcdir}/config-$cfg .config
- ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
- ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
-%if %{without dist_kernel}
- ln -sf %{_kernelsrcdir}/scripts
-%endif
- touch include/config/MARKER
- %{__make} -C %{_kernelsrcdir} clean \
- RCS_FIND_IGNORE="-name 'kqemu-mod-*.*' -o" \
- M=$PWD O=$PWD
+ 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
+