1N/Afor f in $ppdef $ppkey $ppsym
1N/Ado test -f $f || { echo "$0: $f: not found" >&4; exit 1 ;}
1N/Ased -e "/^#/d" -e "s/[ ].*//" < $ppdef >
all.pp 1N/Afor i in stdinclude usrinclude
1N/A *//*) v=`echo $v | sed 's,///*,/,g'` ;;
1N/A if (test . -ef "`pwd`")
1N/A test $x -ef $p && x=$p
1N/A do test $d -ef $j && continue 2
1N/Aid="::IDENT::`date`::IDENT::"
1N/Aecho '#assert test(ok)
1N/A#endif' > assert.$src
1N/Aecho '#ifdef __BASE_FILE__
1N/A#endif' > basefile.$src
1N/Aecho '#define g(a,b) a ## b
1N/Aextern int c(int);' > compat.$src
1N/Aecho "#defincl <
x.h>" > defincl.$src
1N/Aecho 'int a$b;' > dollar.$src
1N/Aecho "#eject" > eject.$src
1N/A#endif" > elseif.$src
1N/Aecho "#define _CAT(a,b,c) a##b##c
1N/A#define hdr _CAT(<,hdra,.h>)
1N/A#include hdr" > hdra.$src
1N/Aecho "#define _XAT(a,b,c) a##b##c
1N/A#define _CAT(a,b,c) _XAT(a,b,c)
1N/A#define hdr _CAT(<,hdra,.h>)
1N/A#include hdr" > hdrx.$src
1N/Aecho "#ident \"$id\"" > ident.$src
1N/Aint i = 0;' > lineid3.$src
1N/A return sizeof(LONGLONG) != 8;
1N/Aecho "extern int a,b;int f(){return a + = b;}" > opspace.$src
1N/Aecho "int f(){return(0);} // ((" > pluscom.$src
1N/Aecho "class x {int n;} m;" > plusplus.$src
1N/Aint x = 1;' > plusspl.$src
1N/Aecho "int stdc_default_value = __STDC__ ;" > stdc.$src
1N/Aecho 'char xxx[] = "abc
1N/Aecho '#define g(a,b) a\
1N/Achar* g(x,y);' > splice.$src
1N/Aecho '#define g(a,b) a/**/b
1N/Aint g(x,y)=1;' > trans.$src
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 65
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 64
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 61
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 60
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 59
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 58
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 57
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 56
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 55
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 54
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 53
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 52
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 51
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 50
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 49
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 48
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 47
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 46
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 45
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 44
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 43
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 42
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 41
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 40
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 39
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 38
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 37
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 36
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 35
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 34
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 33
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 32
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 31
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 30
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 29
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxxx 28
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxxx 27
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxxx 26
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxxx 25
1N/A#define xxxxxxxxxxxxxxxxxxxxxxxx 24
1N/A#define xxxxxxxxxxxxxxxxxxxxxxx 23
1N/A#define xxxxxxxxxxxxxxxxxxxxxx 22
1N/A#define xxxxxxxxxxxxxxxxxxxxx 21
1N/A#define xxxxxxxxxxxxxxxxxxxx 20
1N/A#define xxxxxxxxxxxxxxxxxxx 19
1N/A#define xxxxxxxxxxxxxxxxxx 18
1N/A#define xxxxxxxxxxxxxxxxx 17
1N/A#define xxxxxxxxxxxxxxxx 16
1N/A#define xxxxxxxxxxxxxxx 15
1N/A#define xxxxxxxxxxxxxx 14
1N/A#define xxxxxxxxxxxxx 13
1N/A#define xxxxxxxxxxxx 12
1N/A#define xxxxxxxxxxx 11
1N/A#define xxxxxxxxxx 10
1N/A#if xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx != m
1N/Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1N/A#endif' > truncate.$src
1N/A$cc -c assert.$src && assert=1
1N/A$cc -c basefile.$src && basefile=__BASE_FILE__
1N/Aif $cc -E defincl.$src
1N/Athen case "`$cc -E defincl.$src | grep -c 'defincl'`" in
1N/A then if test `wc -c < f` -gt `wc -c < e`
1N/A$cc -c dollar.$src && dollar=1
1N/A$cc -c elseif.$src && elseif=1
1N/Aif $cc -I. -c hdra.$src
1N/Athen headerexpandall=1
1N/Aelif $cc -I. -c hdrx.$src
1N/Athen case "`$cc -E eject.$src | grep -c 'eject'`" in
1N/A{ $cc -E import.$src | grep aaa ;} && import=1
1N/A{ $cc -E -Iinc0 -Iinc1 inc_next.$src | grep INCLUDE_NEXT ;} && include_next=1
1N/A0) case `wc -l < b` in
1N/Aif $cc -E linetype.$src | grep '^[ ]*#[ ]*[0123456789]*[ ]*".*"[ ]*[12]' > linetype
1N/Athen if grep '^[ ]*#[ ]*[0123456789]*[ ]*".*"[ ]*[12][ ][ ]*3' linetype
1N/A{ $cc -E once.$src | grep allmultiple ;} && allmultiple=1
1N/A$cc -c plusplus.$src && plusplus=1
1N/A$cc -c span.$src && stringspan=1
1N/A$cc -c splice.$src && splicecat=1
1N/A$cc -c splicesp.$src && splicespace=1
1N/Awhile read keyword type alternate comment
1N/A do for suf in '' _ __
1N/A case ,,$alternate, in
1N/A key=$pre$keyword$suf
1N/A $cc -c key.$src >
/dev/null 2>&1 || reserved="$reserved $key$type"
1N/A$cc -c opspace.$src && opspace=1
1N/A"") $cc -c compat.$src && compatibility=
1N/A $cc -c pluscom.$src && pluscom=1
1N/Acase $plusplus$pluscom in
1N/A?*) $cc -c plusspl.$src || plussplice=1 ;;
1N/Aint main () { return gt(2,1) + gt(2.0,1.0); }' > ptr.$src
1N/Atemplate<class T> int gt(T a, T b) { return a > b; }' > ptrdef.$src
1N/A then echo '#ifndef _PTRONE_H
1N/A if $cc -E ptr.$src >
x.i && echo "#define _PTRONE_H" >>
x.i && $cc
x.i 1N/Astdc=`$cc -E stdc.$src | sed -e '/stdc_default_value/!d' -e 's/.*=[ ]*//' -e 's/[ ]*;.*//'`
1N/A0) $cc -c trans.$src && transition=1 ;;
1N/Atruncate=`$cc -E truncate.$src | grep '^[ ]*[0123456789]'`
1N/A case $ppopt$ppenv in
1N/A eval $ppenv '$'cc -Dmycpp -E '$'ppopt cpp.$src
1N/A eval set x $probe_verbose
1N/A do set x `$cc $o -c cpp.$src 2>&1`
1N/A [\\/]*) case " $x " in
1N/A *) test -x $1 && x="$x $1" ;;
1N/A do cp $f x && chmod u+w x && strip x && f=x
1N/A sed -e '/^ppsymbol$/d' -e '/^.$/d' -e '/^..$/d' -e '/[ABCDEFGHIJKLMNOPQRSTUVWXYZ].*[abcdefghijklmnopqrstuvwxyz]/d' -e '/[abcdefghijklmnopqrstuvwxyz].*[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/d' |
1N/A for i in 0 1 2 3 4 5
1N/A do echo "struct { char* name; long value; } predef[] = {" > cpp$i.$src
1N/A [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]*)
1N/A set 1 ${sym} 2 _${sym} 3 _${sym}_ 4 __${sym} 5 __${sym}__
1N/A echo "\"$2\" , (long) $2 -1,"
1N/A for i in 0 1 2 3 4 5
1N/A do echo "\"\", 0 };" >> cpp$i.$src
1N/Apreval="`for i in 0 1 2 3 4 5;do $cc -E cpp$i.$src;done | sed -e '/\".*\".*,.*,/!d' -e 's/[^\"]*\"\\([^\"]*\\)\"[ ]*,[ ]*([ ]*long[ ]*)[ ]*\\(.*\\)[ ]*-[ ]*1[ ]*,[ ]*\$/\\1 \\2 =/g'` `$cc -dM -E stdc.$src | sed -e '/[ ]*#[ ]*define/!d' -e '/\"/d' -e 's/[ ]*#[ ]*define[ ]*\\([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)[ ]*\\(.*\\)/\\1 \\2 =/'`"
1N/Afor i in bufld namei quota reboot utsname vfs
1N/Ado echo "#include <sys/$
i.h>" > t.$src
1N/Aecho "char* fun() { return (char*)__FUNCTION__; }
1N/Aint main() { return !fun(); }" > fun.$src
1N/Athen undef_predef="$undef_predef __FUNCTION__"
1N/A*) hostedtransition=1 ;;
1N/Ado echo "#include <$
i.h>" > t.$src
1N/A then mapinclude="$mapinclude <$
i.h>=\".\""
1N/Acase "$compatibility:$transition:$dollar" in
1N/Acase $version_stamp in
1N/A?*) echo "/* $version_stamp" ;;
1N/Acase $plusplus:$stdc in
1N/A1:?*) preval="$preval = __STDC__ $stdc ="
1N/A redef="$redef __STDC__"
1N/A echo "#pragma pp:predefined"
1N/A *'('*) i=`echo "$m" | sed 's,(.*,,'` ;;
1N/A do case " $redef " in
1N/A *) eval predef_$i=3 ;;
1N/A *'('*) i=`echo "$m" | sed 's,(.*,,'` ;;
1N/A *) eval j=\$predef_$i
1N/A *'('*) i=`echo "$m" | sed 's,(.*,,'` ;;
1N/A ' '[0123456789]*|' '"'"*"'"*)
1N/A 0) case $ppbuiltin in
1N/A 2) echo "#pragma pp:builtin"
1N/A $i) eval predef_$i=2
1N/A eval j=\$predef___${i}__
1N/A *) case $ppbuiltin in
1N/A 2) echo "#pragma pp:builtin"
1N/A eval predef___${i}__=2
1N/A echo "#define __${i}__$v"
1N/A echo "#pragma pp:nopredefined"
1N/A?*) case $ppbuiltin in
1N/A echo "#pragma pp:builtin"
1N/A echo "#define $basefile #(BASE)"
1N/A1) echo "#pragma pp:nobuiltin" ;;
1N/Aeval set x $probe_longlong
1N/Ado rm -f longlong.$exe
1N/A if $cc -DLONGLONG="$o" -o longlong.$exe longlong.$src &&
1N/A'') eval set x $probe_longlong_t
1N/A do rm -f longlong.$exe
1N/A if $cc -DLONGLONG="$o" -o longlong.$exe longlong.$src &&
1N/A then echo "#define <long long> $o"
1N/Afor i in `echo "$predef" | sed -e 's/^__*\(.*\)_*\$/\1/' -e '/^[abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyz]*[0123456789][abcdefghijklmnopqrstuvwxyz0123456789]*\$/!d'` `echo "$predef" | sed -e 's/^__*\(.*\)_*\$/\1/' -e '/^[abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyz]*\$/!d'`
1N/Afor i in `sed -e '/^#/d' -e '/:architecture:/!d' -e 's/[ ].*//' < $ppdef`
1N/Ado eval j="\" \$predef_$i \$predef__${i} \$predef__${i}_ \$predef___${i} \$predef___${i}__ \""
1N/A *" 2 "*)architecture=$i
1N/Afor i in `sed -e '/^#/d' -e '/:machine:/!d' -e 's/[ ].*//' < $ppdef`
1N/Ado eval j="\" \$predef_$i \$predef__${i} \$predef__${i}_ \$predef___${i} \$predef___${i}__ \""
1N/A *" 2 "*)machine="$machine $i" ;;
1N/Acase $sys_bufld$sys_reboot$sys_utsname in
1N/A1??) release=research
1N/A 1) case $sys_namei in
1N/Afor i in `sed -e '/^#/d' -e '/:release:/!d' -e 's/[ ].*//' < $ppdef`
1N/Ado eval j=\$predef_$i
1N/A 2) release="$release $i" ;;
1N/Afor i in `sed -e '/^#/d' -e '/:system:/!d' -e 's/[ ].*//' < $ppdef`
1N/Ado eval j=\$predef_$i
1N/A 2) system="$system $i" ;;
1N/Atopix) release="$release V"
1N/A *) for p in architecture cpu machine system
1N/A do echo "#if #$p($i)
1N/Aeval \"case \\\" \$$p \\\" in *\\\" $i \\\"*) ;; *) $p=\\\"$i \$$p\\\" ;; esac\"
1N/A: avoid string literal concatenation
1N/A eval "`$cc -E t.$src`"
1N/A *) $1=\"$2 \$$1\" ;;
1N/Acase $architecture in
1N/Aibm|uts|u370) model=370
1N/Am*68*) architecture=m68000
1N/A m*68*[123456789][0123456789])
1N/A model=`echo $i | sed 's/.*\(..\)/\1/'`
1N/Au3b?*) model=`echo $architecture | sed '
s/u3b//'`
1N/A model=`echo $architecture | sed '
s/vax//'`
1N/Ahp[0123456789]*s[0123456789])
1N/A [abcdefghijklmnopqrstuvwxyz]*.[abcdefghijklmnopqrstuvwxyz]*.*)
1N/A architecture="$architecture `echo $architecture | sed 's/s.*//'`"
1N/A*.*) i=`echo $hosttype | sed -e 's,.*\.,,'` ;;
1N/A?*) case " $architecture " in
1N/A *) architecture="$architecture $i" ;;
1N/Acase $architecture in
1N/A"") echo "$cc: warning: architecture not determined" >&4
1N/Aecho "#define #hosttype($hosttype)"
1N/Ado echo "#define #system($i)"
1N/A"") echo "#define #release()" ;;
1N/A do echo "#define #release($i)"
1N/A V) echo "#define #release(system5)" ;; # compatibility
1N/Aecho "#define #version($version)"
1N/Acase $architecture in
1N/A"") echo "#define #architecture()" ;;
1N/A*) for i in `echo $architecture | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
1N/A do echo "#define #architecture($i)"
1N/Aecho "#define #model($model)"
1N/A"") case $architecture:$model in
1N/A ?*:?*) set x $architecture; machine="$2/$model $architecture" ;;
1N/A *) machine=$architecture ;;
1N/A*) machine="$machine $architecture"
1N/A"") echo "#define #machine()" ;;
1N/A for i in `echo $machine | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
1N/A echo "#define #machine($i)"
1N/Ado echo "#define #cpu($i)"
1N/Aecho "#define #addressing()"
1N/A n=`echo $i | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
1N/A echo "#define #$n($d)"
1N/A?*) echo "#define #dialect(ansi)" ;;
1N/A?*) echo "#define #dialect(C++)" ;;
1N/A"") echo "#define #dialect(cross)" ;;
1N/Acase $so:$dynamic:$static in
1N/A*) echo "#define #dialect(dynamic)" ;;
1N/Acase $undef_predef in
1N/A?*) for m in $undef_predef
1N/A?*) echo "#pragma pp:plusplus" ;;
1N/A?*) echo "#pragma pp:reserved" $reserved ;;
1N/Acase $nocatliteral in
1N/A?*) echo "#pragma pp:nocatliteral" ;;
1N/A?*) echo "#pragma pp:opspace" ;;
1N/A?*) echo "#pragma pp:pluscomment" ;;
1N/A?*) echo "#pragma pp:plussplice" ;;
1N/A?*) echo "#pragma pp:reguard" ;;
1N/A?*) echo "#pragma pp:splicecat" ;;
1N/A?*) echo "#pragma pp:splicespace" ;;
1N/A?*) echo "#pragma pp:stringspan" ;;
1N/A"") echo "#pragma pp:compatibility"
1N/A0) echo "#pragma pp:transition"
1N/A ?*) echo "#pragma pp:strict" ;;
1N/Acase $hostedtransition in
1N/A1) echo "#pragma pp:hostedtransition" ;;
1N/A?*) case $ppopt$ppenv in
1N/A echo "#pragma pp:spaceout"
1N/A?*) echo "#pragma pp:truncate $truncate" ;;
1N/A?*) echo "#pragma pp:zeof" ;;
1N/A1) echo '#pragma pp:id "$"' ;;
1N/A echo "#pragma pp:nocdir"
1N/A echo "#pragma pp:cdir"
1N/A echo "#pragma pp:nohostdir"
1N/A echo "#pragma pp:hostdir"
1N/A *) echo "#pragma pp:include \"$1\""
1N/A?*) echo "#pragma pp:standard \"$usrinclude\""
1N/A?*) case $usrinclude in
1N/A then echo '#pragma pp:nocdir "-"'
1N/A?*) echo "#pragma pp:mapinclude hosted$mapinclude" ;;
1N/A?*) echo "#pragma pp:linefile" ;;
1N/A?*) echo "#pragma pp:lineid line" ;;
1N/A1) echo "#pragma pp:linetype" ;;
1N/A?*) echo "#pragma pp:linetype $linetype" ;;
1N/A"") echo "#pragma pp:noallmultiple" ;;
1N/A1) echo '#pragma pp:map "/#(pragma )?defincl>/"' ;;
1N/A1) echo '#pragma pp:map "/#(pragma )?eject>/"' ;;
1N/A1) echo "#pragma pp:elseif" ;;
1N/Acase $headerexpand in
1N/A1) echo "#pragma pp:headerexpand" ;;
1N/Acase $headerexpandall in
1N/A1) echo "#pragma pp:headerexpandall" ;;
1N/A1) echo '#pragma pp:map "/#(pragma )?ident>/" "/#(pragma )?/###/"' ;;
1N/A*) echo '#pragma pp:map "/#(pragma )?ident>/"' ;;
1N/A1) echo '#pragma pp:map "/#(pragma )?import>/" "/#(pragma )?import(.*)/__STDPP__IMPORT__(\2)/"
1N/A#macdef __STDPP__IMPORT__(x)
1N/A#pragma pp:noallmultiple
1N/A#pragma pp:allmultiple
1N/Acase $include_next in
1N/A1) echo '#pragma pp:map "/#include_next>/" ",[^\<]*\<,#include <.../,"' ;;
1N/Aecho '#pragma pp:map "/#pragma lint:/" ",#pragma lint:(.*),##/*\1*/,u"'
1N/Aecho '#pragma pp:map "/#(pragma )?sccs>/"'
1N/Acase $stdc:$spaceout in
1N/A1:) case ' '$reserved' ' in
1N/A *' 'asm' '*|*' 'asm=*)
1N/A echo "#pragma pp:spaceout"
1N/Athen for f in `sed -e 's,\\\\,/,g' -e 's,"[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]:/,"/,g' -e '/^#[line ]*[0123456789][0123456789]*[ ][ ]*"[\\/]/!d' -e 's/^#[line ]*[0123456789][0123456789]*[ ][ ]*".*[\\/]\(.*\)".*/\1/'
preinc.out | sort -u`
1N/A *) echo "#include <$f>"