2 #include <sys/utsname.h>
10 int i,j,k,iv1,iv2,iv3;
11 char *p1,buf[500],buf1[500],buf2[100],buf3[100];
15 in=fopen("cinfo.f","r");
16 out=fopen("cinfo.f.new","w");
17 if (fgets(buf,498,in) != NULL)
18 fprintf(out,"C DO NOT EDIT THIS FILE - IT HAS BEEN GENERATED BY COMPINFO.C\n");
19 if (fgets(buf,498,in) != NULL)
20 sscanf(&buf[1],"%d %d %d",&iv1,&iv2,&iv3);
22 fprintf(out,"C %d %d %d\n",iv1,iv2,iv3);
23 fprintf(out," subroutine cinfo\n");
24 fprintf(out," include 'COMMON.IOUNITS'\n");
25 fprintf(out," write(iout,*)'++++ Compile info ++++'\n");
26 fprintf(out," write(iout,*)'Version %d.%-d build %d'\n",iv1,iv2,iv3);
29 system("whoami > tmptmp");
30 in1=fopen("tmptmp","r");
31 if (fscanf(in1,"%s",buf1) != NULL)
34 p1[strlen(p1)-1]='\0';
35 fprintf(out," write(iout,*)'compiled %s'\n",p1);
36 fprintf(out," write(iout,*)'compiled by %s@%s'\n",buf1,Name.nodename);
37 fprintf(out," write(iout,*)'OS name: %s '\n",Name.sysname);
38 fprintf(out," write(iout,*)'OS release: %s '\n",Name.release);
39 fprintf(out," write(iout,*)'OS version:',\n");
40 fprintf(out," & ' %s '\n",Name.version);
41 fprintf(out," write(iout,*)'flags:'\n");
45 in1=fopen("Makefile","r");
46 while(fgets(buf,498,in1) != NULL)
48 if((p1=strchr(buf,'=')) != NULL && buf[0] != '#')
50 buf[strlen(buf)-1]='\0';
58 while(buf[strlen(buf)-1]=='\\')
61 fprintf(out," write(iout,*)'%s'\n",buf);
62 if (fgets(buf,498,in1) != NULL)
63 buf[strlen(buf)-1]='\0';
72 fprintf(out," write(iout,*)'%s'\n",buf);
75 fprintf(out," write(iout,*)'++++ End of compile info ++++'\n");
76 fprintf(out," return\n");
77 fprintf(out," end\n");
81 system("mv cinfo.f.new cinfo.f");