apiutil.gms : Generates the API Model Library files

Description

The following system configuration/document files are written:

    apilib.glb   IDE index and documentaion
    apilibfs.txt Makefile input file

All files $included, read and written have to be in the same
directory.


Small Model of Type : GAMS


Category : GAMS API library


Main file : apiutil.gms   includes :  apimod.inc [html]

$title Generates the API Model Library files (APIUTIL,SEQ=1)
$Ontext

  The following system configuration/document files are written:

      apilib.glb   IDE index and documentaion
      apilibfs.txt Makefile input file

  All files $included, read and written have to be in the same
  directory.

$Offtext

files glb      IDE model library index / 'apilib.glb'   /
      glist    makefile index file     / 'apilibfs.txt' / ;

$offlisting
$include apimod.inc
$onlisting
*
*  IDE apilib file
*
put glb
    'Version = 5'
 /  'LibraryName = GAMS API Library'
 /  'Columns = 5'
 /  '5 = SeqNr'
 /  '1 = Name'
 /  '2 = Type'
 /  '3 = Category'
 /  '4 = Description'
 /  'InitialSort = 2'
 /  '*$*$*$';

*glb.lcase=1;
loop{(s,m)$sm(s,m),
*   put / 'Files = ' m.tl:0 '.' s.tl:0;
   put / 'Files = ' m.tl:0 '.gms';
   loop(incmap(inc,s), put ',',inc.tl:0 '.inc');
   loop{incmap(minc,s),
       put ',[',minc.tl:0,']';
   };
   loop{incmap(oinc,s),
      put ',',oinc.tl:0;
   };
   glb.lcase=2;
   put / '1 = ' m.tl:0;
   put / '2 = '; loop(tss(t,s), put t.te(t) );
   put / '3 = '; loop( cs(c,s), put c.te(c) );
   glb.lcase=0;
   put / '4 = ' m.te(m);
*   glb.lcase=1;
   put / '5 = ' '000000':ceil(log10(card(s)+1));
   put   @(glb.cc-card(s.tl)) s.tl:0;
   put_utilities 'glb'/ m.tl:0 '.gms';
   put / '*$*$*$'
};
putclose;

*
*  makefile input
*
$stitle list of all files in makefile format
*glist.lcase=1;
put glist 'APILIBFILES = \'
        / 'apilib.glb \'
loop{inc,
   put / inc.tl:0 '.inc \'
};
loop{oinc$(not oincNOfs(oinc)),
   put / oinc.tl:0 ' \'
};
loop(sm(s,m),
*   put  / m.tl:0 '.' s.tl:0 ' \' )
   put  / m.tl:0 '.gms \' )
putclose // glist;