Re: RFC: $(ARCH) in file

From: Riley Williams (rhw@MemAlpha.CX)
Date: Fri Jan 28 2000 - 12:56:52 EST


Hi Khimenko.

>>>> Why do I want this? Because I often build for an architecture
>>>> which is not the native one. Saving the architecture in .arch
>>>> is more convenient then typing "make ARCH=foo".

>>> How tough is it to edit the makefile? :)

>> Not tough, but I think it's easier for people to type

>> echo FOO >.arch

>> than to mess with the Makefile.

> It's usually MUCH better to mess with the Makefile then to add
> kludges in mainstream kernel. I think probability of acception
> is zero.

Whilst I'd agree with you over that, how about something like the
following patch:

===8<=== CUT ===>8===

--- linux-2.2.14/Makefile~ Tue Jan 4 18:12:10 2000
+++ linux-2.2.14/Makefile Fri Jan 28 17:41:25 2000
@@ -216,6 +216,9 @@
 Version: dummy
         @rm -f include/linux/compile.h
 
+arch:
+ ARCH=$(scripts/setarch)
+
 boot: vmlinux
         @$(MAKE) -C arch/$(ARCH)/boot
 
--- linux-2.2.14/scripts/setarch~ Sat Jan 1 00:00:00 1970
+++ linux-2.2.14/scripts/setarch Fri Jan 28 17:49:56 2000
@@ -0,0 +1,23 @@
+#!/bin/bash
+echo
+echo Which architecture should I compile for:
+echo
+declare -i N=0
+ARCHES=`ls -1d arch/* | cut -d / -f 2 | tr -s '\t\r\n' ' '`
+for ARCH in $ARCHES ; do
+ N=$N+1
+ printf '%3u: %s\n' $N `basename $ARCH`
+done
+echo
+R=0
+while [ $R -eq 0 ]; do
+ echo -n 'Your choice: '
+ sed 's/^ *//' | while read LINE ; do
+ if [ -n "$LINE" -a -z "`echo $LINE | sed 's/[0-9]*//'`" ]; then
+ if [ $LINE -gt 0 -a $LINE -le $N ]; then
+ R=`echo $LINE`
+ fi
+ fi
+ done
+done
+echo $ARCHES | cut -d ' ' -f $R

===8<=== CUT ===>8===

That then allows one to do...

 Q> make arch makefile
 Q> make arch dep clean modules modules_install bzImage

...and one actually gets asked which architecture one requires.
However, if one omits the "arch" from those lines, it just uses the
native architecture.

Best wishes from Riley.

 * Copyright (C) 1999, Memory Alpha Systems.
 * All rights and wrongs reserved.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
 * http://www.memalpha.cx/Linux/Kernel/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:21 EST