Browse Prior Art Database

Visual Make Utility

IP.com Disclosure Number: IPCOM000117441D
Original Publication Date: 1996-Feb-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 4 page(s) / 126K

Publishing Venue

IBM

Related People

Nack, C: AUTHOR [+2]

Abstract

Disclosed is a program which implements a visual form of the classical 'MAKE' utility. Make files are used by programmers to determine a set of target and dependant files, as well as the commands needed to build the target files. The makefile can be used in conjunction with a make utility to automatically determine which target files are out of date with respect to their dependent files, and therefore rebuild the targets which are out of date.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Visual Make Utility

      Disclosed is a program which implements a visual form of the
classical 'MAKE' utility.  Make files are used by programmers to
determine a set of target and dependant files, as well as the
commands needed to build the target files.  The makefile can be used
in conjunction with a make utility to automatically determine which
target files are out of date with respect to their dependent files,
and therefore rebuild the targets which are out of date.

      Current make utilities rely on text makefiles which specify the
dependencies and build commands.  The syntax of these makefiles might
be considered obscure, and not in step with the drag and drop user
interfaces of today's PC desktop environments.  Fig. 1 is an example
of a typical makefile.  It specifies targets (such as 'proja.exe')
which are real target files.  It also lists pseudotargets (such as
'exes', 'dlls', and 'proja') which are not actually built.  In both
cases, dependant files are listed for each target.  The makefile also
specifies how to build each target when required.  This is listed
either as commands directly below the target dependency listing, or
as a generic 'suffix rule', such as the one which describes how to
produce an '.obj' file from a "cpp" file.

      Another component of the typical make utility is a tool that
can parse source files to determine their dependant files.  This type
of tool could be used to generate the target/dependant relationships
for the 'obj' files listed in the sample makefile.
    Figure 1.  PROJA.MAK.
  An example of a typical makefile.
  # PROJA.MAK :
  #
  #       A Sample makefile.
  # .cpp file -> .obj file
  icc /W3 /Gm+ /C+ $*.cpp
  proja: proja.exe     \
        sample.dll    \
        function.dll  \
        proja.hlp
  exes: proja.exe
  dlls: sample.dll   \
        function.dll
  helps: proja.hlp
  proja.exe     :  source1.obj source2.obj
    ilink /map /align:16 /exepack:2 /pmtype&:pm /out:$@ $** sq
  sample.dll    :  sample.obj sample.def
    ilink /map /align:16 /exepack:2 /pmtype:pm /out:$@ $
  function.dll  :  function.obj function.def
    ilink /map /align:16 /exepack:2 /pmtype:pm /out:$@ $
  proja.hlp     :  proja.ipf
    ipfc proja.ipf
  source1.obj   :  source1.cpp source1.hpp sql.h
  source2.obj   :  source2.cpp source2.hpp another.hpp
  sample.obj    :  sample.cpp sample.hpp
  function.obj  :  function.cpp function.hpp

      An alternative to this text based implementation would be a
drag and drop interface where targets are similar to folders or
containers in that they contain their dependant files.  The
discussion of this visual approach...