Laserfiche WebLink
CRDSS <br />TASK MEMORANDUM 1.05-21 <br />Study of System Integration Issues <br />Software - Maintenance of Software Using make and imake <br />1.0 ISSUE <br />Software maintenance occurs at two levels: the file level and the product level. Source code for a <br />program is typically split into its individual code modules (e.g., C functions or FORTRAN <br />subroutines) so that code can be more easily maintained. Code at this file level is placed under <br />revision control (see Task Memorandum 1.05-20). Products (e.g., programs or libraries) consist of <br />groups of source code, configuration, and documentation files. <br />Software maintenance on the product level involves "packaging" the software in a way that tracks the <br />interdependence of software components. Maintenance of the software should be automated so that <br />developers need not worry about updating numerous files when a prerequisite file changes. <br />make imake <br />The and programs can be used to maintain software products. This memo discusses the <br />following issues related to the use of these programs: <br />make <br />What are the basic features and limitations of the program? <br />? <br />imake <br />What are the basic features and limitations of the program? <br />? <br />make imake <br />How will and be used in the CRDSS? <br />? <br />Specific features and limitations of the programs can be found in the reference materials for the <br />programs. <br />2.0 DISCUSSION/ANALYSIS <br />make <br />The program is common on UNIX machines and also comes with many compilers that are <br />make <br />available on PCs. The purpose of the program is to allow software projects to be managed <br />using a configuration file that specifies how "targets" are to be updated based on changes to files on <br />which the target depends. A target is updated if any of its dependencies are newer than the target <br />(based on the time stamp on the file). For example, an executable program might depend on several <br />C files. If any of the C files are updated, the program will be recompiled. The configuration file is <br />make <br />called a "makefile." A good reference for the program is Managing Projects with , by <br />make <br />O'Reilly & Associates, Inc. <br />imake <br />The program was developed by the X Consortium during the development of the X Window <br />System. The X Window System (X) is a graphics-based windowing system that is available on many <br />imake <br />different platforms which support different compilers and system configurations. The <br />imake <br />program creates a makefile for a product based on an configuration file called an "imakefile." <br />imake <br />The program also reads other configuration files that specify system information. The <br />imake <br />imakefile is the same from system to system, but the makefile generated by will vary from <br />1 <br />A275 05.10.94 1.05-21 Malers <br />