|
|
1.1 ! root 1: BEGIN { ! 2: i = 0; ! 3: eflag = 0; ! 4: User = Inmake = Indefs = 0; ! 5: version = "v7"; ! 6: Makefile = install = postnews = ""; ! 7: } ! 8: ! 9: /^#/ {next;} ! 10: /^[ ]*$/ {next;} ! 11: ! 12: /^@@BeginMakefile$/ {Inmake = 1; next;} ! 13: /^@@EndMakefile$/ {Inmake = 0; next;} ! 14: /^@@BeginDefs$/ {Indefs = 1; next;} ! 15: /^@@EndDefs$/ {Indefs = 0; next;} ! 16: /^@@BeginUser$/ {User = 1; next;} ! 17: ! 18: $1 == version {version = $1; next;} ! 19: $1 == Makefile {Makefile = $1; next;} ! 20: $1 == postnews {postnews = $1; next;} ! 21: $1 == install {install = $1; next;} ! 22: ! 23: { ! 24: if ((Inmake + Indefs + User) != 1) { ! 25: printf "sequence error\n"; ! 26: eflag = 1; ! 27: exit; ! 28: } ! 29: if ($1 ~ /^\+/) {omit = 0; nm = substr($1, 2, length($1)-1);} ! 30: else if ($1 ~ /^\-/) {omit = 1; nm = substr($1, 2, length($1)-1);} ! 31: else {omit = 0; nm = $1;} ! 32: ! 33: if (!User) { ! 34: Mkparm[i] = Inmake; ! 35: opt[i++] = nm; ! 36: valid[nm] = "ok"; ! 37: } ! 38: else if (valid[nm] == "") { ! 39: printf "%s: invalid option\n", nm; ! 40: eflag = 1; ! 41: next; ! 42: } ! 43: if (omit) { ! 44: Omit[nm] = 1; ! 45: next; ! 46: } ! 47: else Omit[nm] = 0; ! 48: ! 49: if (NF >= 2) { ! 50: val =$2; ! 51: for (j = 3; j <= NF; j++) ! 52: val = sprintf("%s=%s", val, $(j)); ! 53: gotit[nm] = val; ! 54: } ! 55: } ! 56: ! 57: END { ! 58: if (eflag) { ! 59: printf "echo No defs.h file created\n"; ! 60: exit; ! 61: } ! 62: if (Makefile == "") Makefile = version; ! 63: if (postnews == "") postnews = version; ! 64: if (install == "") install = version; ! 65: printf "cp defs.templ defs.h; chmod +w defs.h\n"; ! 66: printf "ed - defs.h <<'EOF'\n"; ! 67: for (j = 0; j < i; j++) { ! 68: if (Mkparm[j]) continue; ! 69: vl=opt[j]; ! 70: do=gotit[vl]; ! 71: if (Omit[vl]) ! 72: printf "g/^#define[ ]*%s[ ]/s~^~/* ~\n", vl; ! 73: else if (do != "") ! 74: printf "g/^#define[ ]*%s[ ]/s~@@~%s~\n", vl, do; ! 75: } ! 76: printf "w\nq\nEOF\n"; ! 77: printf "cat >Makefile <<'EOF'\n"; ! 78: for (j = 0; j < i; j++) { ! 79: if (Mkparm[j]) { ! 80: vl=opt[j]; ! 81: printf "%s=", vl; ! 82: if (!Omit[vl]) ! 83: printf "%s", gotit[vl]; ! 84: printf "\n"; ! 85: } ! 86: } ! 87: printf "EOF\ncat Makefile.%s >>Makefile\n", Makefile; ! 88: printf "cp postnews.%s postnews; chmod +x postnews\n", postnews; ! 89: printf "cp install.%s install; chmod +x install\n", install; ! 90: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.