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 |
|
|
|
|