home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / Modula / Utilities / Makefiles / MakeLibraries.MOD < prev    next >
Encoding:
Modula Implementation  |  1988-01-24  |  2.4 KB  |  81 lines  |  [TEXT/????]

  1. IMPLEMENTATION MODULE MakeLibraries;
  2.   (*
  3.    * MAKEMAKE.  Create a MAKEFILE for a MODULA-2 program.
  4.    *
  5.    * Written by Steve Tynor, 30 September 1986.
  6.    *            UUCP  : tynor@gitpyr
  7.    *            USNAIL: 2550 Akers Mill Rd. T-2, Atlanta GA. 30339
  8.    *
  9.    * Permission is granted to distribute, copy and change this program as long
  10.    * as this notice remains...
  11.    ---
  12.    *
  13.    * Make.
  14.    * Modified and extended for MacMETH by :
  15.    * J?rgen N?rgaard, 23 october 1987.
  16.    *            UUCP  : jnp@daimi.dk
  17.    *            MAIL  : Dybb?lvej 29, v?r. 2+3, 8240 Risskov, DENMARK
  18.    *
  19.    * Essentially only the parser remains from the original.
  20.    * Extensions are a dependency-tree and a make-like facility.
  21.    *
  22.    *)
  23.  
  24.  (* NOTE: this module is implementation specific.   Substitute the library
  25.   *       modules supplied by your compiler.
  26.   *)
  27. IMPORT StringLib0;
  28.  
  29. CONST
  30.   NumLibraryModules = 18;
  31.  
  32. VAR
  33.   LibraryModule : ARRAY [1 .. NumLibraryModules] OF ARRAY[0..31] OF CHAR;
  34.  
  35.   (*-----------------------------------------------------------------------*)
  36.   PROCEDURE IsALibraryModule (VAR modulename : ARRAY OF CHAR) : BOOLEAN;
  37.     (* binary search... *)
  38.   VAR
  39.     low, mid, high : CARDINAL;
  40.   BEGIN
  41.     low := 1;
  42.     high := NumLibraryModules;
  43.     WHILE low <= high DO
  44.       mid := low + (high - low) DIV 2;
  45.       CASE StringLib0.Compare (modulename, LibraryModule[mid]) OF
  46.         StringLib0.EqualTo : 
  47.           RETURN TRUE;
  48.       | StringLib0.LessThan :
  49.           high := mid - 1;
  50.       ELSE
  51.           low := mid + 1;
  52.       END; (* CASE *)
  53.     END; (* WHILE *)
  54.     RETURN FALSE;
  55.   END IsALibraryModule;
  56.  
  57. BEGIN
  58.    (* NOTE: we're doing a binary search, so these must be in sorted order: *)
  59.  
  60.    (* MacMETH supplied libraries: *)
  61.   LibraryModule [ 1] := 'CursorMouse';
  62.   LibraryModule [ 2] := 'EventBase';
  63.   LibraryModule [ 3] := 'FileSystem';
  64.   LibraryModule [ 4] := 'GraphicWindows';
  65.   LibraryModule [ 5] := 'InOut';
  66.   LibraryModule [ 6] := 'LongMathLib';
  67.   LibraryModule [ 7] := 'LongRealInOut';
  68.   LibraryModule [ 8] := 'MathLib';
  69.   LibraryModule [ 9] := 'Menu';
  70.   LibraryModule [10] := 'Printer';
  71.   LibraryModule [11] := 'RealInOut';
  72.   LibraryModule [12] := 'SYSTEM';
  73.   LibraryModule [13] := 'System';
  74.   LibraryModule [14] := 'Terminal';
  75.   LibraryModule [15] := 'TerminalIn';
  76.   LibraryModule [16] := 'TerminalOut';
  77.   LibraryModule [17] := 'TextWindows';
  78.   LibraryModule [18] := 'Windows';
  79.   
  80. END MakeLibraries.
  81.