#!/bin/awk -f BEGIN { nfile = 5; nfunc = 5000; for (j = 0; j < nfile; j++) { fname = "src" j ".c"; printf("/* %s */\n", fname) > fname; for (i = 0; i < nfunc; i++) { printf("void func%d_%d(void) {}\n", j, i, i) >> fname; } printf("int func%d(void) {\n", j) >> fname; for (i = 0; i < nfunc; i++) { printf("func%d_%d();\n", j, i) >> fname; } printf("return getpid();\n") >> fname; printf("}\n") >> fname; if (j == 0) { printf("int main(int argc, char **argv) {\n") > fname; for (i = 0; i < nfile; i++) { printf("printf(\"%%d\\n\", func%d());\n", i) >> fname; } printf("return 0;\n") >> fname; printf("}\n") >> fname; } close(fname); } }