home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21fb.zip / octave / make-octfile.cmd < prev    next >
OS/2 REXX Batch file  |  2000-01-15  |  2KB  |  53 lines

  1. /* Build .OCT file from source */
  2. /* (c) Klaus Gebhardt, 1997 */
  3. '@setlocal'
  4.  
  5. parse arg ccfile libs ' /d' dir
  6.  
  7. call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  8. call SysLoadFuncs
  9.  
  10. octave_home = strip(dir);
  11. if (octave_home == '') then
  12.   do
  13.     octave_home = strip(value('OCTAVE_HOME',,'OS2ENVIRONMENT'));
  14.     if (octave_home == '') then octave_home = "j:/apps2/science/octave";
  15.   end
  16.  
  17. gccopt2 = '-m486 -mieee-fp -O3 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DEMX09C -DOS2';
  18.  
  19. lnkopt2 = '-lcruft1 -lcruft2 -lcruft3 -lcruft4 -loctave1 -loctave2 -lreadline -lgnuinfo -lkpathsea -lxmalloc -lgpp2 -lstdcpp2 -lsocket -ldlfcn -lf2cdll -loct-img' libs;
  20.  
  21.  
  22. '@SET DELDIR='
  23. '@SET C_INCLUDE_PATH='octave_home'/dlfcn/octave;'octave_home'/dlfcn;%C_INCLUDE_PATH%'
  24. '@SET CPLUS_INCLUDE_PATH='octave_home'/dlfcn/octave;'octave_home'/dlfcn;%CPLUS_INCLUDE_PATH%'
  25. '@SET LIBRARY_PATH='octave_home'/dlfcn/lib;%LIBRARY_PATH%'
  26.  
  27. if (ccfile <> '') then
  28.   do
  29.     len  = length(ccfile);
  30.     name = substr(ccfile,1,len-3);
  31.     ext  = substr(ccfile,len-2);
  32.   end
  33. if ((ext <> '.cc') & (ext <> '.CC')) then
  34.   do
  35.     say 'error: invalid argument'
  36.     exit;
  37.   end
  38.  
  39. 'gcc' gccopt2 '-s -c' ccfile '-o' name || '.obj -Zomf'
  40. '@echo LIBRARY' name || ' INITINSTANCE TERMINSTANCE>' name || '.def'
  41. '@echo DESCRIPTION ' || d2c(34) || name || '.oct, (c) Klaus Gebhardt 1995-1997' || d2c(34) || '>>' name || '.def'
  42. '@echo.>>' name || '.def'
  43. '@echo DATA>>' name || '.def'
  44. '@echo   MULTIPLE NONSHARED>>' name || '.def'
  45. '@echo.>>' name || '.def'
  46. '@echo EXPORTS>>' name || '.def'
  47. 'emxexp' name || '.obj >> ' name || '.def'
  48. 'gcc' gccopt2 '-o' name || '.oct' name || '.def' name || '.obj' lnkopt2 '-Zdll -Zomf -Zcrtdll'
  49. '@del' name || '.obj' name || '.def >NUL 2>NUL'
  50.  
  51. '@endlocal'
  52. exit;
  53.