[Madwifi-cvs] revision 1395 committed by proski
Status: Beta
Brought to you by:
otaku
From: proski <svn...@ma...> - 2006-01-13 23:26:44
|
Project : madwifi Revision : 1395 Author : proski Date : 2006-01-14 00:26:30 +0100 (Sat, 14 Jan 2006) Log Message : Use Linux .config file to determine ARCH and TARGET. This allows to distinguish between different flavors of ARM processors. Affected Files: * trunk/Makefile.inc updated * trunk/scripts/get_arch_target.sh added Modified: trunk/Makefile.inc =================================================================== --- trunk/Makefile.inc 2006-01-12 08:15:26 UTC (rev 1394) +++ trunk/Makefile.inc 2006-01-13 23:26:30 UTC (rev 1395) @@ -125,19 +125,18 @@ endif # Determine target architecture of the kernel. -ARCH ?= $(subst asm-,,$(notdir $(shell readlink $(KERNELPATH)/include/asm))) ifeq (,$(ARCH)) +ARCH_TARGET=$(shell scripts/get_arch_target.sh $(KERNELCONF)) +ARCH = $(word 1,$(ARCH_TARGET)) +TARGET ?= $(word 2,$(ARCH_TARGET)) +endif + +ifeq (,$(ARCH)) $(error Cannot determine kernel architecture, please set ARCH) endif export ARCH +export TARGET -# TARGET defines the target platform architecture. It must match one of -# the target platforms supported by the HAL. The default target is the -# host machine architecture. You can override TARGET on the make command -# line or in the environment. See hal/linux/*.inc for the list of -# supported targets. -TARGET ?= $(shell echo $(ARCH) | sed -e s/powerpc/powerpc-be/)-elf - # SYSTEMMAP is the name of the System.map file for the target # kernel. This will be needed when DESTDIR is defined in order # to run depmod properly. @@ -205,6 +204,11 @@ INCS+= -isystem ${TOOLPATH}/include endif +# TARGET defines the target platform architecture. It must match one of +# the target platforms supported by the HAL. The default target is the +# host machine architecture. You can override TARGET on the make command +# line or in the environment. See hal/linux/*.inc for the list of +# supported targets. ifeq (,$(wildcard ${HAL}/public/${TARGET}.inc)) TARGETS=$(basename $(notdir $(wildcard ${HAL}/public/*.inc))) $(error TARGET $(TARGET) is invalid, valid targets are: $(TARGETS)) Added: trunk/scripts/get_arch_target.sh =================================================================== --- trunk/scripts/get_arch_target.sh 2006-01-12 08:15:26 UTC (rev 1394) +++ trunk/scripts/get_arch_target.sh 2006-01-13 23:26:30 UTC (rev 1395) @@ -0,0 +1,25 @@ +#!/bin/sh + +# Report ARCH and TARGET for the given Linux .config file. +# Argument 1 should be path to .config + +report () { + echo "$1 ${2-$1-elf}" + exit 0 +} + +test -r "$1" || report "" "" +source "$1" + +test "$CONFIG_X86_64" && report x86_64 +test "$CONFIG_X86" && report i386 +test "$CONFIG_ALPHA" && report alpha +test "$CONFIG_SPARC64" && report sparc64 sparc64-be-elf +test "$CONFIG_PPC32" && test "$CONFIG_PPC_MERGE" && report powerpc powerpc-be-elf +test "$CONFIG_PPC32" report ppc powerpc-be-elf +test "$CONFIG_CPU_SH4" && report sh sh4-le-elf +test "$CONFIG_CPU_XSCALE" && test "$CONFIG_CPU_BIG_ENDIAN" && report arm xscale-be-elf +test "$CONFIG_CPU_XSCALE" && report arm xscale-le-elf +test "$CONFIG_CPU_32v4" && test "$CONFIG_CPU_BIG_ENDIAN" && report arm armv4-be-elf +test "$CONFIG_CPU_32v4" && report arm armv4-le-elf +report "" "" Property changes on: trunk/scripts/get_arch_target.sh ___________________________________________________________________ Name: svn:executable + * |