HP Decset for Openvms Guide to the Module Management System
Total Page:16
File Type:pdf, Size:1020Kb
HP DECset for OpenVMS Guide to the Module Management System Order Number: AA–P119J–TE July 2005 This guide describes the Module Management System (MMS) and explains how to get started using its basic features. Revision/Update Information: This is a revised manual. Operating System Version: OpenVMS I64 Version 8.2 OpenVMS Alpha Version 7.3–2 or 8.2 OpenVMS VAX Version 7.3 Windowing System Version: DECwindows Motif for OpenVMS I64 Version 1.5 DECwindows Motif for OpenVMS Alpha Version 1.3–1 or 1.5 DECwindows Motif for OpenVMS VAX Version 1.2–6 Software Version: HP DECset Version 12.7 for OpenVMS Hewlett-Packard Company Palo Alto, California © Copyright 2005 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Java is a US trademark of Sun Microsystems, Inc. Microsoft, Windows, and Windows NT are U.S. registered trademarks of Microsoft Corporation. Printed in the US Contents Preface ..................................................... xi 1 Introduction to MMS 1.1 Overview ........................................... 1–1 1.2 Invoking MMS ....................................... 1–2 1.3 Getting Help ........................................ 1–3 1.4 MMS Concepts ....................................... 1–3 1.4.1 Description Files .................................. 1–3 1.4.2 Targets .......................................... 1–4 1.4.3 Sources .......................................... 1–4 1.4.4 Action Lines . ................................... 1–4 1.4.5 Built-In Rules . ................................... 1–4 1.4.6 Dependencies . ................................... 1–5 1.5 MMS File Processing .................................. 1–6 1.6 MMS User Interface ................................... 1–7 1.6.1 Menu Bar ........................................ 1–8 1.6.1.1 MMS Options Menu . ........................... 1–9 1.6.2 Build Activation Area . ........................... 1–14 1.6.3 MMS Description File Area .......................... 1–16 1.6.4 Build Log Area . ................................... 1–16 1.7 Building Software Systems . ........................... 1–17 1.7.1 Single-Source System ............................... 1–17 1.7.2 Multiple-Source System . ........................... 1–19 1.7.3 Multiple-Language System .......................... 1–20 1.7.4 System with Include Files ........................... 1–22 1.7.5 System with Multiple Targets ........................ 1–24 1.7.6 System with an Object Library ....................... 1–27 1.8 Rebuilding Software Systems . ........................... 1–29 1.8.1 Single-Source System ............................... 1–31 1.8.2 Multiple-Source System . ........................... 1–31 1.8.3 Multiple-Language System .......................... 1–32 1.8.4 System with Include Files ........................... 1–32 iii 1.8.5 System with Multiple Targets ........................ 1–32 1.8.6 System with an Object Library ....................... 1–32 2 MMS Description Files 2.1 Creating the Description File ............................ 2–1 2.1.1 Writing Dependency Rules . ........................ 2–2 2.1.2 Specifying the Target on the Command Line ............. 2–4 2.1.3 Using Mnemonic Names for Targets and Sources . ....... 2–4 2.1.3.1 Specifying Target and Source Files . ................ 2–5 2.1.3.2 Specifying Multiple Targets and Sources ............. 2–6 2.1.3.3 Hierarchy of Dependency-Rule Application ........... 2–7 2.2 Using Built-In Rules . ................................ 2–8 2.2.1 Suffixes Precedence List ............................. 2–10 2.2.2 Default Macros .................................... 2–12 2.3 Defining Your Own Macros ............................. 2–12 2.3.1 Formatting Macro Definitions ........................ 2–14 2.3.2 Order of Processing Macros . ........................ 2–15 2.3.3 Nested Macro Expansion ............................ 2–15 2.3.4 Using Predefined Functions . ........................ 2–16 2.3.4.1 Text Processing Functions ........................ 2–17 2.3.4.2 File Specification Functions ....................... 2–19 2.3.4.3 Macro Functions ............................... 2–20 2.3.5 Invoking Macros . ................................ 2–20 2.3.6 Defining Macros on the Command Line . ................ 2–21 2.3.6.1 Redefining User-Defined Macros . ................ 2–22 2.3.6.2 Redefining Default Macros ........................ 2–22 2.3.7 Redefining Macros in a Description File ................ 2–24 2.4 Using Special Macros . ................................ 2–24 2.5 Defining Your Own Rules ............................... 2–26 2.5.1 Creating a User-Defined Rule ........................ 2–26 2.5.2 Using User-Defined Rules . ........................ 2–28 2.6 Using Action Lines .................................... 2–28 2.6.1 Multiple Action Lines ............................... 2–30 2.6.2 $STATUS and $SEVERITY . ........................ 2–31 2.6.3 MMS$STATUS and MMS$SEVEREST_STATUS . ....... 2–31 2.6.4 Action-Line Prefixes................................ 2–32 2.6.5 Ignore Prefix(-)................................... 2–33 2.6.6 Silent Prefix(@) .................................. 2–33 2.6.7 Action Status Prefix(?)............................. 2–34 2.6.8 Action-Line Restrictions ............................. 2–34 2.7 Using Directives ...................................... 2–35 2.7.1 .ACTION_STATUS Directive . ........................ 2–36 iv 2.7.2 .IGNORE Directive ................................ 2–38 2.7.3 .IGNORE_ALL Directive . ........................... 2–40 2.7.4 .SILENT Directive ................................. 2–40 2.7.5 .DEFAULT Directive ............................... 2–41 2.7.6 .SUFFIXES, .SUFFIXES_AFTER, .SUFFIXES_BEFORE, and .SUFFIXES_DELETE Directives ................... 2–42 2.7.6.1 Adding a New File Extension to the Suffixes List ...... 2–43 2.7.6.2 Using the .SUFFIXES Directive in a Description File . 2–43 2.7.6.3 Building a System with a New File Extension ......... 2–45 2.7.6.4 Using the .SUFFIXES Directive with CMS Files ....... 2–46 2.7.7 .INCLUDE Directive ............................... 2–47 2.7.8 .FIRST Directive .................................. 2–47 2.7.9 .LAST Directive ................................... 2–49 2.7.10 .IF, .IFDEF, .ELSE, .ELSIF, and .ENDIF Directives ....... 2–50 2.8 Generating the MMS Description File Automatically .......... 2–54 2.8.1 Using the DECwindows User Interface ................. 2–54 2.8.1.1 MMS Description File Generator Dialog Box .......... 2–55 2.8.1.2 MMS Sources Dialog Box ......................... 2–57 2.8.2 Using the Automatic Description File Generator .......... 2–60 2.8.2.1 Application Dependencies ........................ 2–60 2.8.2.2 Trigger Summary Dependencies . ................... 2–61 3 Advanced Description File Techniques 3.1 Using Double-Colon Dependencies ........................ 3–1 3.2 Maintaining a Library of Object Files . ................... 3–3 3.3 Invoking MMS from a Description File . ................... 3–3 3.3.1 Using the $(MMS) Reserved Macro . ................... 3–4 3.3.2 Process Quotas for MMS Subprocesses ................. 3–4 3.3.3 Process Quotas for Using MMS ....................... 3–5 3.3.4 MMS Reserved Macros . ........................... 3–5 3.4 Invoking MMS from a Command Procedure ................ 3–7 3.5 Invoking a Command Procedure from a Description File ....... 3–9 3.6 Changing System Build Options ......................... 3–10 3.7 Gathering Statistics ................................... 3–12 3.7.1 Finding Missing Sources . ........................... 3–12 3.7.2 Creating a Checkpoint File .......................... 3–12 3.8 Creating and Using Time Stamps ........................ 3–14 3.8.1 Using DCL Symbols ................................ 3–14 3.8.2 Using Include Files ................................ 3–15 3.9 Deleting Files Selectively ............................... 3–17 3.9.1 Using a Command Procedure ......................... 3–17 3.9.2 Using a Macro Definition . ........................... 3–18 v 3.10 Using Parallel Processing .............................. 3–19 3.11 Using MMS in Complex Examples ........................ 3–20 3.11.1 MMS and Object Libraries . ........................ 3–20 3.11.2 Producing Multiple Outputs with MMS . ................ 3–26 3.11.2.1 Independent Outputs ............................ 3–27 3.11.2.2 Dependent Outputs ............................. 3–27 3.11.3 Multiple Outputs Workaround ........................ 3–29 4 Accessing Libraries and Other Objects 4.1 Creating and Accessing Files in OpenVMS Libraries . ....... 4–1 4.1.1 Formatting Library Module Specifications ............... 4–1 4.1.2 Using Logical Names in a Library Module Specification .... 4–2 4.1.3 Specifying Multiple Modules . ........................ 4–2 4.1.4 Accessing Library Modules