File: Forwin.c

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (66 lines) | stat: -rw-r--r-- 2,025 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <string.h>

/* 
 Forwin      Xfilename1   Xfilename2  makeall
             fct/mex.c     fvt/mex.f 
*/

int main(argc,argv)
     int argc;char *argv[];
{
  char nam1[256]; char nam2[256]; char nam4[512];
  char fname[256]; 
  FILE *filesce,*filegat,*filei1;
  int i=0;
  int narg;
  narg=argc-1;
  if (NULL == (filesce = fopen ("makeall", "w"))) return 1;
  if (NULL == (filegat = fopen ("objects", "w"))) return 1;

   strcpy(fname,argv[1]);  fname[strlen(fname)]= '\0';
  /** we use fname +1 since msvc makefile temporary filenames 
      begin whith extra @ char **/
  if (NULL == (filei1=fopen(fname+1,"r")))    return 1;
  nam4[0]='\0'; strcat(nam4,"MEXOBJECTS = ");
  /*  loop  */
  while (1)
    {
      int j;int n; int k=0;
      if ( fscanf(filei1,"%s",nam1) == EOF ) break;
      n=strlen(nam1);
      j=n;i=0;
      while ( (j != 0) && (nam1[j] != '/')) j--; 
      while ( (k < n) ) { nam2[k]=nam1[k+j+1]; k++;};
      nam1[j]= '\0';nam2[strlen(nam2)-2]='\0';
      strcat(nam4,nam2);strcat(nam4,".obj ");
      /*     printf("nam1=%s\nnam2=%s\n",nam1,nam2);  */
      fprintf(filesce, "%s.obj:\n\t@$(CC) $(CFLAGS) -DmexFunction=mex_%s -c %s.c -o %s.obj\n", nam2,nam1,nam2,nam2);
    }
  fclose(filei1);
  strcpy(fname,argv[2]);  fname[strlen(fname)]= '\0';
  /** we use fname +1 since msvc makefile temporary filenames 
      begin whith extra @ char **/
  if (NULL == (filei1=fopen(fname+1,"r")))    return 1;

  /*  loop  */
  while (1)
    {
      int j;int n; int k=0;
      if ( fscanf(filei1,"%s",nam1) == EOF ) break;
      n=strlen(nam1);
      j=n;i=0;
      while ( (j != 0) && (nam1[j] != '/')) j--; 
      while ( (k < n) ) { nam2[k]=nam1[k+j+1]; k++;};
      nam1[j]= '\0';nam2[strlen(nam2)-2]='\0';
      strcat(nam4,nam2);strcat(nam4,".obj ");
      /*      printf("nam1=%s\nnam2=%s\n",nam1,nam2); */
      fprintf(filesce, "%s.obj:\n\t@$(FC) $(FFLAGS)  %s.F \n", nam2,nam2);
    }
  fprintf(filegat,"%s\n",nam4);
  fclose(filei1);
  fclose(filesce);
  return 0;

}