Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!decwrl!ucbvax!LAUCOSC.LAURENTIAN.CA!GRANT From: GRANT@LAUCOSC.LAURENTIAN.CA ("Grant R. Guenther") Newsgroups: comp.lang.modula2 Subject: Make-like tools (long) Message-ID: Date: 12 Feb 89 18:55:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Modula2 List Organization: The Internet Lines: 691 I been unable to reply directly to Terry Klarich, who was asking about alternatives to the Logitech M2Make program, so I'll post my (long) note. I have a pair of tools called Uses and Update that were written for a different system, but that I have ported to the PC. I'm enclosing the manuals and the release notes - let me know if you are interested and I can mail you the sources. I won't go into the philosophy behind the design - most of it should be evident from the manuals. Grant Guenther Dept. of Mathematics and Computer Science Laurentian University Sudbury, Ontario, Canada, P3E 2C6 GRANT@LAUCOSC.BITNET Grant@LauCosc.Laurentian.CA ===================== release.txt =========================================== RELEASE NOTES Software: Uses V1D 1988 06 20 Update V1D 1988 06 20 This document describes the distribution files, installation procedures, restrictions and extensions of the programs Uses and Update for the MS-DOS environment. 1. Distribution files The distribution kit contains: RELEASE.TXT -- These notes USES.EXE -- The executable Uses program UPDATE.EXE -- The executable Update program STDBUILD.UPD -- A prototype file for $Build USES.MAN -- The users' manual for Uses UPDATE.MAN -- The users' manual for Update 2. Installation procedures Use of these tools assumes some familiarity with MS-DOS and the Logitech Modula-2/86 system. Consult the documentation for these products if you are unfamiliar with terms used in these directions or the users' manuals. Copy USES.EXE and UPDATE.EXE from the distribution medium to a directory in your normal search path. Place a copy of STBUILD.UPD in a convenient library directory, C:\M2LIB, say. Now, edit your AUTOEXEC.BAT file to include the following line (which sets the environment variable BUILD to refer to the standard build file): SET BUILD=C:\M2LIB\STDBUILD.UPD (You must substitute the actual directory path for C:\M2LIB.) Note that Update expects the environment variable M2SYM to be set to the library directory where symbol files are stored. This is usually done by the Modula-2 installation procedure. You should print copies of USES.MAN and UPDATE.MAN if you need them. (The files are simply formatted and make no special assumptions about your printer.) 3. Restrictions The following restrictions apply to this version (V1D) of Uses and Update. o These programs require MS-DOS V3.1 (or later). o V1D of Uses supports the file naming conventions of Logitech Modula-2/86 version 3. If you wish to use this tool with version 2 of Modula-2/86, you should set the (MS-DOS) environment variable M2TYPES as follows: SET M2TYPES=.DEF,.SYM,.MOD,.LNK,.LOD o Owing to weaknesses in MS-DOS, it is not possible for Update to obtain the status returned by any system command. Update detects rebuilding errors by looking for the first named product after a rebuilding step has been completed. o MS-DOS maintains file time stamps to an accuracy of only 2 seconds. If Update is used with very fast tools or very fast machines it could fail to detect some required operations. 4. Extensions You should be aware of two extensions in Update. o If an INCLUDE clause in an Update description contains a file name beginning with a "$" the program will try to replace the name with the value of a DOS environment variable. For example, INCLUDE "$Build" will actually open the file C:\M2LIB\STDBUILD.UPD (if BUILD is set as shown above). o The assignment statement (in Update) has been extended beyond the behaviour documented in section 3 of the users' manual. The right side of an assignment may contain an elementary string operation. Two such operations are possible: + the strings are concatenated - the first occurrence of the second expression is deleted from the first. These operations are available only in assignment statements and may not be further combined. This is an experimental extension. DO NOT assume that other versions of Update will include these string operations. ===================== uses.man ============================================== Users' manual -- Uses 1. Introduction This manual describes the Uses program. Uses analyses Modula-2 programs and deduces the dependencies between modules. You should be familiar with Modula-2 programming and the programming conventions of LUMOS-2 before reading this manual. The main application of Uses is to produce description files for the Update tool. It is recommended that you read the documentation for Update along with this manual. 2. Invoking Uses Uses may be started with a command of the form: Uses [