SPECS: slmodem.spec - new way of kernel module building; build fix

shadzik shadzik at pld-linux.org
Fri May 5 15:45:01 CEST 2006


Author: shadzik                      Date: Fri May  5 13:45:01 2006 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- new way of kernel module building; build fix

---- Files affected:
SPECS:
   slmodem.spec (1.21 -> 1.22) 

---- Diffs:

================================================================
Index: SPECS/slmodem.spec
diff -u SPECS/slmodem.spec:1.21 SPECS/slmodem.spec:1.22
--- SPECS/slmodem.spec:1.21	Mon May  1 02:35:41 2006
+++ SPECS/slmodem.spec	Fri May  5 15:44:56 2006
@@ -139,7 +139,7 @@
 SMP.
 
 %prep
-%setup -q
+%setup -q -n %{name}-%{version}-%{_snap}
 
 %build
 cd drivers
@@ -148,31 +148,28 @@
 %if %{with kernel}
 # 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
-	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
-	ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
-	touch include/config/MARKER
-
-	# patching/creating makefile(s) (optional)
-	%{__make} -C %{_kernelsrcdir} clean \
-		RCS_FIND_IGNORE="-name '*.ko' -o" \
-		M=$PWD O=$PWD \
-		%{?with_verbose:V=1}
-	ln -sf ../amrlibs.o amrlibs.o
-	%{__make} -C %{_kernelsrcdir} modules \
-		CC="%{__cc}" CPP="%{__cpp}" \
-		M=$PWD O=$PWD \
-		%{?with_verbose:V=1}
-	for mod in *.ko; do
-		mod=$(echo "$mod" | sed -e 's#\.ko##g')
-		mv $mod.ko ../$mod-$cfg.ko
-	done
+        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} -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- \
+%endif
+                HOSTCC="%{__cc}" \
+                CPP="%{__cpp}" \
+                M=$PWD O=$PWD/o \
+                %{?with_verbose:V=1}
+        mv sl*{,-$cfg}.ko
 done
 %endif
 
@@ -285,6 +282,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.22  2006/05/05 13:44:56  shadzik
+- new way of kernel module building; build fix
+
 Revision 1.21  2006/05/01 00:35:41  shadzik
 - %define fix
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/slmodem.spec?r1=1.21&r2=1.22&f=u



More information about the pld-cvs-commit mailing list