/************************************************************************* Depenedency File Corrector **************************************************************************/ #include #include #include #include #define cVersion 1 #define cRelease 0 /*****************************************************************************/ void help_msg(void) { printf("\r\n\tdependency file corrector v%d.%d\r\n\r\n",cVersion,cRelease); printf("\r\nmakefile:\r\n"); printf("\r\n\techo $*.o > $*.d"); printf("\r\n\t$(XCC) -MM $(CXXFLAGS) $*.c >> $*.d"); printf("\r\n\tdepcor.exe $*.d"); printf("\r\n"); } /*****************************************************************************/ int main(int argc,char *argv[]) { FILE *src; FILE *dst; char c; int flag1=0; int flag2=0; if ((argc<2)||(argv[1][0]=='-')) { help_msg(); return -1; } if (rename(argv[1],"$$$.tmp")!=0) { printf("\r\nerror: can not create file \"%s\"\r\n","$$$.tmp"); return -1; } if( (src=fopen("$$$.tmp","r"))==NULL ) { printf("\r\nerror: CFG-file \"%s\" does'nt exist \r\n","$$$.tmp"); return -1; } if( (dst=fopen(argv[1],"w"))==NULL ) { printf("\r\nerror: can not create CFG-file \"%s\"\r\n",argv[1]); return -1; } while (!feof(src)) { c=fgetc(src); switch (c) { case 0x0a: flag1=1; break; case ':': flag1=0; flag2=1; break; } if (feof(src)) break; if (!flag1 || flag2) { //printf("%c",c); fputc(c,dst); } } fclose(src); fclose(dst); unlink("$$$.tmp"); return 0; } /*****************************************************************************/