-mv src/Makefile2.6 src/Makefile
-for cfg in %{buildconfigs}; do
- mkdir -p modules/$cfg
- if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
- exit 1
- fi
- rm -f include/asm
- chmod 000 modules
- install -d include/{linux,config}
- %{__make} -C %{_kernelsrcdir} clean \
- SUBDIRS=$PWD/src \
- O=$PWD \
- %{?with_verbose:V=1}
- install -d include/config
- chmod 700 modules
- 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 #FIXME
- touch include/config/MARKER
- %{__make} -C %{_kernelsrcdir} modules \
- SUBDIRS=$PWD/src \
- O=$PWD \
- %{?with_verbose:V=1}
- mv src/*.ko modules/$cfg/
+# kernel module(s)
+cd %{name}-%{version}
+#cd src
+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
+#
+# patching/creating makefile(s) (optional)
+#
+ %{__make} -C %{_kernelsrcdir} clean \
+ RCS_FIND_IGNORE="-name '*.ko' -o" \
+ SYSSRC=%{_kernelsrcdir} \
+ SYSOUT=$PWD/o \
+ M=$PWD O=$PWD/o \
+ %{?with_verbose:V=1}
+ %{__make} -C %{_kernelsrcdir} modules \
+ CC="%{__cc}" CPP="%{__cpp}" \
+ SYSSRC=%{_kernelsrcdir} \
+ SYSOUT=$PWD/o \
+ M=$PWD O=$PWD/o \
+ %{?with_verbose:V=1}
+
+ mv MODULE_NAME{,-$cfg}.ko