[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference clt::mms

Title:MMS general interest file
Notice:Current version: V3.1-03 (see Note 3.2)
Moderator:EDSDS6::TOWNSEND
Created:Mon Feb 03 1986
Last Modified:Wed May 14 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1385
Total number of notes:4654

1378.0. "MMS Rebuilds everthing when It shouldn't" by VERN::CARPENTER () Thu Mar 20 1997 17:14

	Can anyone tell me what I'm doing wrong in the mms file??

	It recompiles both the .bas files and relinks each time it is run.
	The object are inserted into the library and I leave then in the
work area.

	I'm running OVMS 6.2
		    MMM 3.1

Vern



The mms file:
__________________________________________________________________________
IFDEF DEBUG
DBG = /DEBUG
DBGOPT = /NOOPTIMIZE/DEBUG
.ELSE
DBG = /NODEBUG
DBGOPT = /OPTIMIZE/NODEBUG
.ENDIF

.IFDEF LIST
LST = /LIST
.ELSE
LST = /NOLIST
.ENDIF

.IFDEF DIAG
DIA = /DIAGNOSTICS
.ELSE
DIA = /NODIAGNOSTICS
.ENDIF

.IFDEF PCA
PCAOPT = /DEBUG=SYS$LIBRARY:PCA$OBJ.OBJ
.ENDIF


BASFLAGS        = /LONG/DOUBLE/WARN=NOINFORM/NOLIST
LFLAGS          = /NOTRACE/MAP

!
!       Cut down on the number of suffixes we have to check to determine
!       how to build things.
!
.SUFFIXES
.SUFFIXES       : .EXE .OLB .OBJ .BAS
!


!       The target
!

MAIN_TARGETS = MAXCIM.EXE
* : $(MAIN_TARGETS)
        continue



MAXCIM.EXE : -
        MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB(MAXCIM$MAIN=MAXCIM.OBJ)  -
        ,MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB(APACCRUAL=APACCRUAL.OBJ)
   $(LINK) $(DBG) $(PCAOPT) $(LFLAGS)  /EXE=MAXCIM.EXE
MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1/LIBRARY/INCLUDE=(MAXCIM$MAIN) -
        ,MAXCIMV431:[MAXCIMV431.LIB]MAXLIB.OPT/OPT
        continue

MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1(MAXCIM$MAIN=MAXCIM.OBJ) depends_on -
        NCA$INCLUDE:DMMES.INC -
        ,NCA$INCLUDE:DMPWS.INC -
        ,NCA$INCLUDE:EDITORS.INC -
        ,NCA$INCLUDE:EXTFUNC.INC -
        ,NCA$INCLUDE:DMMES.INC -
        ,NCA$INCLUDE:DMPWS.INC -
        ,NCA$INCLUDE:EDITORS.INC -
        ,NCA$INCLUDE:EXTFUNC.INC -
        ,NCA$INCLUDE:NCACOMMON.INC -
        ,MAXCIMV431:[MAXCIMV431.CMS_REFERENCE]MAXCIM.BAS -
        ,NCA$INCLUDE:NCACOMMON.INC
                                   
AXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1(APACCRUAL=APACCRUAL.OBJ) depends_on -
      NCA$INCLUDE:APBPS.INC -
     ,NCA$INCLUDE:APCLS.INC -
     ,NCA$INCLUDE:APDAS.INC -
     ,NCA$INCLUDE:APEXCEPT.INC -
     ,NCA$INCLUDE:APSUSPDTL.INC -
     ,NCA$INCLUDE:APSUSPMST.INC -
     ,NCA$INCLUDE:DMCPS.INC -
     ,NCA$INCLUDE:EXTFUNC.INC -
     ,NCA$INCLUDE:GLCOS.INC -
     ,NCA$INCLUDE:GLLMS.INC -
     ,NCA$INCLUDE:GLTRS.INC -
     ,NCA$INCLUDE:NCACOMMON.INC -
     ,NCA$INCLUDE:POODS.INC -
     ,NCA$INCLUDE:POQCS.INC -
     ,NCA$INCLUDE:POVES.INC -
     ,NCA$INCLUDE:WOOMS.INC -
     ,MAXCIMV431:[MAXCIMV431.CMS_REFERENCE]APACCRUAL.BAS -
     ,NCA$INCLUDE:APBPS.INC -
     ,NCA$INCLUDE:APCLS.INC -
     ,NCA$INCLUDE:APDAS.INC -
     ,NCA$INCLUDE:APEXCEPT.INC -
     ,NCA$INCLUDE:APSUSPDTL.INC -
     ,NCA$INCLUDE:APSUSPMST.INC -
     ,NCA$INCLUDE:DMCPS.INC -
     ,NCA$INCLUDE:EXTFUNC.INC -
     ,NCA$INCLUDE:GLCOS.INC -
     ,NCA$INCLUDE:GLLMS.INC -
     ,NCA$INCLUDE:GLTRS.INC -
     ,NCA$INCLUDE:NCACOMMON.INC -
     ,NCA$INCLUDE:POODS.INC -
     ,NCA$INCLUDE:POQCS.INC -
     ,NCA$INCLUDE:POVES.INC -
     ,NCA$INCLUDE:WOOMS.INC


.FIRST
        IF F$SEARCH( "MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1" ) .EQS. "" -
                THEN $(LIBR)/CREATE MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1
        set def MAXCIMV431:[MAXCIMV431.WORK]
              
_______________________________________________________________________


This is teh resume of the run.


$ MMS/DESC=DESCRIP.MMS

IF F$SEARCH( "MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1" ) .EQS. ""            
THEN LIBRARY/CREATE MAXCIMV431:[MAXCIMV431.LIB]MAXCI
MV4.OLB;1
set def MAXCIMV431:[MAXCIMV431.WORK]
BASIC /LONG/DOUBLE/WARN=NOINFORM/NOLIST
MAXCIMV431:[MAXCIMV431.CMS_REFERENCE]MAXCIM.BAS
If "''F$Search("MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB")'" .EQS. "" Then
LIBRARY/Create MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB
LIBRARY/REPLACE MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB MAXCIM.OBJ
BASIC /LONG/DOUBLE/WARN=NOINFORM/NOLIST
MAXCIMV431:[MAXCIMV431.CMS_REFERENCE]APACCRUAL.BAS
If "''F$Search("MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB")'" .EQS. "" Then
LIBRARY/Create MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB
LIBRARY/REPLACE MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB APACCRUAL.OBJ
LINK /NODEBUG  /NOTRACE/MAP  /EXE=MAXCIM.EXE
MAXCIMV431:[MAXCIMV431.LIB]MAXCIMV4.OLB;1/LIBRARY/INCLUDE=(MAXCIM$MAIN)   
,MAXCIMV431:
[MAXCIMV431.LIB]MAXLIB.OPT/OPT
continue
continue
T.RTitleUserPersonal
Name
DateLines
1378.1EDSDS6::WANGJames - DECset EngineeringFri Mar 21 1997 14:4228
-> It recompiles both the .bas files and relinks each time it is run.
-> The object are inserted into the library and I leave then in the
-> work area.

-> set def MAXCIMV431:[MAXCIMV431.WORK]

When you invoke MMS, MMS checks the revision dates and times of targets and 
sources and decide when a target needs to be updated. In your description 
file the executable image, MAXCIM.EXE depends on one Object library 
[MAXCIMV431.LIB]MAXCIMV4.OLB and two object entries: MAXCIM.OBJ, APACCRUAL.OBJ.

Because of the SET DEFAULT in the .FIRST directive, MMS action lines know 
where to put the object files. However, because the action lines are executed 
in a subprocess, the default directory of the main process is unchanged. When
MMS checks its dependencies, it expects the object files to be in the default 
directory of the main process and fails to find them, so MMS will recompile 
and relink the application every time it is invoked.
                                                                  

There are some ways to avoid this problem:

1. In description file, specify where the object file is located in dependency
   rules. 
2. set default to the directory containing the object files before invoking MMS.
3. set default to a search list that includes the directory containing the 
   object files, again prior to invoking MMS.
    
-James