- SMPFLAG="-D__SMP__ -D__KERNEL_SMP=1" \
- KERNVER="%{_kernel_ver}" \
- INCLUDE="-I%{_kernelsrcdir}/include" \
- DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
-
-mv drbd/drbd.o drbd-smp.o
-# SMP end
-
-# UP begin
-%{__make} \
-%ifarch %{ix86}
- KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
-%else
-%ifarch %{alpha}
- KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
+
+%if %{with kernel}
+cd drbd
+sed -i -e 's#$(CONFIG_BLK_DEV_DRBD)#m#g' Makefile-2.6
+ln -sf Makefile-2.6 Makefile
+# kernel module(s)
+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
+ %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
+ %{__make} -C %{_kernelsrcdir} clean \
+ RCS_FIND_IGNORE="-name '*.ko' -o" \
+ M=$PWD O=$PWD/o \
+ %{?with_verbose:V=1}
+ %{__make} -C %{_kernelsrcdir} modules \
+%if "%{_target_base_arch}" != "%{_arch}"
+ ARCH=%{_target_base_arch} \
+ CROSS_COMPILE=%{_target_base_cpu}-pld-linux- \