MMK -- Make Utility for OpenVMS
C Module Management System DIGITAL Command Language RUNOFF
Switch branches/tags
Nothing to show
Latest commit 43ac721 Nov 6, 2016 @tesneddon tesneddon Referenced incorrect version number in previous commit.
Updated modification history comment to reference correct issue number,

This closes #94.
Permalink
Failed to load latest commit information.
.gitignore
build_pcsi.mms Add MMK___STARTUP.COM. Apr 7, 2013
build_target.c Updated to cope with the new argument list for find_suffix. Jun 9, 2014
clidefs.h This commit is the V4.0 baseline. It is the last version of MMK to Jul 10, 2012
cms_interface.c This commit is the V4.0 baseline. It is the last version of MMK to Jul 10, 2012
cmsdef.h This commit is the V4.0 baseline. It is the last version of MMK to Jul 10, 2012
compile.com Updated the bootstrap procedure. This fixes #77. Dec 16, 2013
copyright.sdml Update copyright information. Now that we have multiple VAX DOCUMENT Aug 6, 2012
default_rules.c This commit is the V4.0 baseline. It is the last version of MMK to Jul 10, 2012
descrip.mms Somehow missed changing the != assignment to |=. Jun 3, 2014
fileio.c This commit is the V4.0 baseline. It is the last version of MMK to Jul 10, 2012
generate_symbols.mms Fix file attributes so this is a STMLF file. Aug 6, 2012
genstruc.c These changes constitute all the new features immediately preceding the Jul 10, 2012
get_rdt.c Fix from Mark Berryman that forces a case-insensitive comparison of Jul 10, 2012
globals.h
install.txt
installing_version.mms Added output of kit version for VMSINSTAL procedures. Mar 1, 2013
kitinstal.com Final change to VMSINSTAL installation procedure to support architecture Apr 8, 2013
license.txt Adjust license to reflect new maintainer. Aug 3, 2012
make_mmk_doc_list.com Changed to support complete re-working of MMK VMSINSTAL procedure. Mar 13, 2013
mem.c Remaining changes to support the CALL builtin function. Sep 21, 2012
misc.c Adjusted Build_Suffix_List to call set_mmssuffixes. Jun 13, 2014
mmk.alpha_opt These changes constitute all the new features immediately preceding the Jul 10, 2012
mmk.c Add in call to define MMSSUFFIXES before parsing description file. Jun 13, 2014
mmk.h Referenced incorrect version number in previous commit. Nov 7, 2016
mmk.ia64_opt These changes constitute all the new features immediately preceding the Jul 10, 2012
mmk.vax_opt These changes constitute all the new features immediately preceding the Jul 10, 2012
mmk___startup.com Correct a mistake in the naming convention. Apr 8, 2013
mmk_cld.cld Correct parser syntax problems related to /EXTENDED_SYNTAX. Jan 6, 2014
mmk_compile_rules.alpha_opt
mmk_compile_rules.c More changes related to the temporary symbol table and the CALL builtin Sep 14, 2012
mmk_compile_rules.ia64_opt These changes constitute all the new features immediately preceding the Jul 10, 2012
mmk_compile_rules.vax_opt These changes constitute all the new features immediately preceding the Jul 10, 2012
mmk_compile_rules_cld.cld These changes constitute all the new features immediately preceding the Jul 10, 2012
mmk_default_rules_alpha.mms Add GENCAT support (porperly this time). Aug 22, 2012
mmk_default_rules_ia64.mms Add GENCAT support (porperly this time). Aug 22, 2012
mmk_default_rules_vax.mms Add GENCAT support (porperly this time). Aug 22, 2012
mmk_doc.sdml
mmk_help.rnh Added /VERIFY=ALL to help file. Feb 19, 2013
mmk_msg.h
mmk_msg.msg Correct FAO directives for new SUFFIXES messages. Re-generate C header Jun 12, 2014
mmk_pcsi.com
objects.c This commit is the V4.0 baseline. It is the last version of MMK to Jul 10, 2012
parse_descrip.c Minor changes to .SUFFIXES_BEFORE and .SUFFIXES_AFTER code to pick th… Jun 13, 2014
parse_objects.c Updated to cope with the new argument list for find_suffix. Jun 9, 2014
parse_tables.mar Added support for new .SUFFIXES directives. Jun 9, 2014
readdesc.c Updated to cope with the new argument list for find_suffix. Jun 9, 2014
readme.txt Update copyright year. Jun 10, 2014
release_notes.sdml Fixed <ENDTABLE> tag typo. Jun 13, 2014
sp_mgr.c Add fix to sp_open. sp_once exposed a timing issue in sp_open where the Jul 24, 2012
symbols.c Had accidentally removed the reset of the MMSSUFFIXES symbol. Jun 13, 2014
version.h Time to increment the version number as the documentation is updated. Jun 13, 2014

readme.txt

The MMK Make Utility

MMK is a "make" utility for VMS systems.  It is used for building software
systems based on a "description file" (or "makefile") you create that lists
the sources and objects of a system and the dependencies between them.

MMK is similar in functionality to Digital's DEC/Module Management System (MMS),
and understands a syntax in its description files which is a superset of
that which is understood by MMS.  It also includes other features, such as:

   * Support for creating inference rules that separate source and target
     directories, the syntax for which was borrowed from NMAKE.  

   * Conditional execution support based on MMS, MMK's own syntax and
     GNU make.

   * Extensive builtin functions, as well as the ability to call user-written
     macros.

   * The ability to assign the output of a command (or command procedure)
     to a symbol.

MMK runs on VAX/VMS, OpenVMS VAX, OpenVMS AXP, and OpenVMS IA64 systems.
It should build and run on versions of VMS older than V7.0, but is only
being maintained for more recent versions of the operating system.  MMK
has support for the DEC/CMS code management system, but does not require
it.

MMK is written entirely in C (with a little Macro).  Complete source code is
provided via github.  To download the latest kit, point your browser at:

    http://github.com/endlesssoftware/mmk

The following describes the source modules contained within the kit:

INSTALL.TXT               Installation instructions.
LICENSE.TXT               License information.
README.TXT                This file.

BUILD_TARGET.C            Routines for building targets.
CLIDEFS.H                 CLI$ interface definitions.
CMS_INTERFACE.C           DEC/CMS interface routines.
COMPILE.COM               Command procedure for building MMK from sources.
DEFAULT_RULES.C           Setup routines for compiled-in default rules.
DESCRIP.MMS               Description file for building MMK.
FILEIO.C                  File I/O routines.
GENSTRUC.C                Routines for generating structures for built-in rules.
GET_RDT.C                 Routines for getting revision date stamps.
GLOBALS.H                 Include file for MMK globals.
MEM.C                     Memory management routines.
MISC.C                    Miscellaneous support routines.
MMK.ALPHA_OPT             Linker options file for building MMK (AXP).
MMK.C                     MMK main routine.
MMK.H                     Include file for MMK definitions.
MMK.IA64_OPT              Linker options file for building MMK (IA64).
MMK.OPT                   Linker options file for building MMK (VAX).
MMK_CLD.CLD               MMK command language definition.
MMK_COMPILE_RULES.ALPHA_OPT  Linker options file for rules compiler. (AXP)
MMK_COMPILE_RULES.C       Rules compiler main program.
MMK_COMPILE_RULES.I64_OPT Linker options file for rules compiler. (IA64)
MMK_COMPILE_RULES.OPT     Linker options file for rules compiler (VAX).
MMK_COMPILE_RULES_CLD.CLD Command language definition for rules compiler.
MMK_DEFAULT_RULES.MMS     Default rules for compiling into MMK (VAX).
MMK_DEFAULT_RULES_AXP.MMS Default rules for copmiling into MMK (AXP).
MMK_DEFAULT_RULES_I64.MMS Default rules for copmiling into MMK (IA64).
MMK_DOC.SDML              VAX DOCUMENT source for MMK documentation.
MMK_HELP.RNH              RUNOFF source for MMK help file.
MMK_MSG.H                 Include file containing MMK message code definitions.
MMK_MSG.MSG               MMK message definitions.
OBJECTS.C                 Routines for managing the object tree.
PARSE_DESCRIP.C           Routines for parsing description files.
PARSE_OBJECTS.C           Routines for parsing object references.
PARSE_TABLES.MAR          LIB$TPARSE table for parsing description files.
READDESC.C                Routines for reading in description files.
RELEASE_NOTES.SDML        VAX DOCUMENT source for MMK revision information.
SP_MGR.C                  Subprocess management routines.
SYMBOLS.C                 Routines for managing the symbol tables.


--------------------------------------------------------------------------------
COPYRIGHT NOTICE

Copyright (c) 2008, Matthew Madison.
Copyright (c) 2014, Endless Software Solutions.

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

    * Redistributions of source code must retain the above
      copyright notice, this list of conditions and the following
      disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of the copyright owner nor the names of any
      other contributors may be used to endorse or promote products
      derived from this software without specific prior written
      permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.