Initial revision
This commit is contained in:
parent
d5e9250405
commit
8248a41994
59
modules/src/em_opt/makefuns.awk
Normal file
59
modules/src/em_opt/makefuns.awk
Normal file
|
@ -0,0 +1,59 @@
|
|||
BEGIN {
|
||||
FS = "|";
|
||||
seenproc = 0;
|
||||
CC="${CMD}"
|
||||
}
|
||||
/^%/ {}
|
||||
/^$/ {}
|
||||
/^[a-z]/ && $3 !~ /.*NOTIMPLEMENTED.*/ {
|
||||
if(seenproc) {
|
||||
print "}"
|
||||
print "--EOF--"
|
||||
printf "if %s C_%s.c\n",CC,nam
|
||||
printf "then :\nelse exit 1\nfi\n"
|
||||
printf "rm -f C_%s.c\n",nam
|
||||
}
|
||||
seenproc = 1
|
||||
$1 = substr($1,1,index($1,"\t")-1);
|
||||
nam = $1
|
||||
printf "cat > C_%s.c << '--EOF--'\n",$1
|
||||
print "#include \"nopt.h\""
|
||||
printf "C_%s(",$1
|
||||
nparms = split($2,parms,":");
|
||||
for(p=1;p<nparms;p++) {
|
||||
if(p!=1) {
|
||||
printf ","
|
||||
}
|
||||
split(parms[p+1],a," ")
|
||||
printf a[1]
|
||||
}
|
||||
printf ")\n"
|
||||
if(nparms) {
|
||||
printf "\t%s",parms[1]
|
||||
}
|
||||
for(p=1;p<nparms;p++) {
|
||||
split(parms[p+1],a," ")
|
||||
printf " %s;\n",a[1]
|
||||
if(a[2]) {
|
||||
printf "\t%s%s%s",a[2],a[3],a[4]
|
||||
}
|
||||
}
|
||||
if($3) {
|
||||
printf "{\n\t%s\n",$3
|
||||
}
|
||||
else {
|
||||
printf "{\n"
|
||||
}
|
||||
}
|
||||
/^ / {
|
||||
print
|
||||
}
|
||||
END {
|
||||
if(seenproc) {
|
||||
print "}"
|
||||
print "--EOF--"
|
||||
printf "if %s C_%s.c\n",CC,nam
|
||||
printf "then :\nelse exit 1\nfi\n"
|
||||
printf "rm -f C_%s.c\n",nam
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue