-#!/bin/sh
+#!/usr/bin/env bash
includefile=$1
excludefile=$2
if [ ":${filelist##*:$onelist:*}:" = "::" ] ; then return ; fi
filelist=":$onelist$filelist"
- onelistcontent=`cat $onelist | while read line ; do echo -n $line ; echo -n ":" ; done`
+ onelistcontent=`cat $onelist | sed "s=[ \t]*$==g" | while read line ; do echo -n $line ; echo -n ":" ; done`
OFS="$IFS"
IFS=":"
for line in $onelistcontent ; do
- line2=${line##\#include }
+ line2=${line##\#}
if [ ":$line:" = ":$line2:" ] ; then
for linex in $excludelist ; do
if [ ":${line##$linex}:" = "::" ] ; then line="" ; fi
list="$list$separator$line"
fi
fi
- elif [ ":$line2:" != "::" ] ; then
- readlist "$line2"
+ else
+ line3=${line2##include }
+ if [ ":$line3:" != ":$line2:" -a ":$line3:" != "::" ] ; then
+ readlist "$line3"
+ fi
fi
done
IFS="$OFS"