You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							93 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							93 lines
						
					
					
						
							1.8 KiB
						
					
					
				#!/bin/sh -e | 
						|
# --- SDE-COPYRIGHT-NOTE-BEGIN --- | 
						|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. | 
						|
# | 
						|
# Filename: package/.../linux-header/generate-asm | 
						|
# Copyright (C) 2006 The T2 SDE Project | 
						|
# | 
						|
# More information can be found in the files COPYING and README. | 
						|
# | 
						|
# This program is free software; you can redistribute it and/or modify | 
						|
# it under the terms of the GNU General Public License as published by | 
						|
# the Free Software Foundation; version 2 of the License. A copy of the | 
						|
# GNU General Public License can be found in the file COPYING. | 
						|
# --- SDE-COPYRIGHT-NOTE-END --- | 
						|
 | 
						|
# Idea borrowed from RedHat's kernel package | 
						|
# Borrowed from Debian GNU/Linux for sparc64 | 
						|
# Extended for x86-64 and T2 -ReneR | 
						|
 | 
						|
# Usage: | 
						|
 | 
						|
dir="$1" | 
						|
name1="asm-$2" | 
						|
name2="asm-$3" | 
						|
define="$4" | 
						|
 | 
						|
if [ ! -d "$dir" ] ; then | 
						|
	echo E: $dir is not a directory. | 
						|
	exit 1 | 
						|
fi | 
						|
 | 
						|
cd $dir | 
						|
 | 
						|
if [ ! -d "$name1" -o ! -d "$name2" ] ; then | 
						|
	echo E: $name1 and $name2 must exist, or you will have problems. | 
						|
	exit 1 | 
						|
fi | 
						|
 | 
						|
if [ ! "$define" ] ; then | 
						|
	echo E: No define specified - this will not work. | 
						|
	exit 1 | 
						|
fi | 
						|
 | 
						|
rm -rf asm | 
						|
mkdir asm | 
						|
 | 
						|
for h in `( ls $name1; ls $name2 ) | grep '\.h$' | sort -u`; do | 
						|
	name=`echo $h | tr a-z. A-Z_` | 
						|
	# common header | 
						|
	cat > asm/$h << EOF | 
						|
/* All asm/ files are generated and point to the corresponding | 
						|
 * file in $name1 or $name2. | 
						|
 */ | 
						|
 | 
						|
#ifndef __ASMSTUB__${name}__ | 
						|
#define __ASMSTUB__${name}__ | 
						|
 | 
						|
EOF | 
						|
 | 
						|
	# common for $name1 and $name2 | 
						|
	if [ -f $name1/$h -a -f $name2/$h ]; then | 
						|
		cat >> asm/$h <<EOF | 
						|
#ifdef $define | 
						|
#include <$name2/$h> | 
						|
#else | 
						|
#include <$name1/$h> | 
						|
#endif | 
						|
EOF | 
						|
 | 
						|
	# $name1 only | 
						|
	elif [ -f $name1/$h ]; then | 
						|
		cat >> asm/$h <<EOF | 
						|
#ifndef $define | 
						|
#include <$name1/$h> | 
						|
#endif | 
						|
EOF | 
						|
	# $name2 only | 
						|
	else | 
						|
		cat >> asm/$h <<EOF | 
						|
#ifdef $define | 
						|
#include <$name2/$h> | 
						|
#endif | 
						|
EOF | 
						|
	fi | 
						|
 | 
						|
	# common footer | 
						|
	cat >> asm/$h <<EOF | 
						|
 | 
						|
#endif /* !__ASMSTUB__${name}__ */ | 
						|
EOF | 
						|
 | 
						|
done | 
						|
 | 
						|
 |