-# 29 January 2008. SMS.
+# 23 September 2009. SMS.
#
-# MMS or MMK description file for Wget 1.11.
+# Wget 1.12 for VMS - MMS (or MMK) Description File.
#
-# The default target, EXE, builds the architecture-specific Wget
-# executable (and the DECC_VER.EXE diagnostic executable).
+# Usage:
#
-# Other targets:
+# SET DEFAULT [.directory] ! [.VMS] to build all products.
+# MMS /DESCRIPTION = [-.VMS] [/MACRO = (<see_below>)] target
+#
+# Optional macros:
+#
+# CCOPTS=xxx Compile with CC options xxx. For example:
+# "CCOPTS=/ARCH=HOST"
+#
+# CDEFS_USER=xxx Compile with C macro definition(s) xxx.
+#
+# DASHD=1 Compile with "-d" option enabled.
+#
+# DBG=1 Compile with /DEBUG /NOOPTIMIZE.
+# Link with /DEBUG /TRACEBACK.
+# (Default is /NOTRACEBACK.)
+#
+# HPSSL=1 Enable HTTPS (and NTLM) support using HP SSL.
+#
+# LARGE=1 Enable large-file (>2GB) support. Non-VAX only.
+#
+# LINKOPTS=xxx Link with LINK options xxx. For example:
+# "LINKOPTS=/NOINFO"
#
-# HELP [.VMS]WGET.HLB help library.
+# LIST=1 Compile with /LIST /SHOW = (ALL, NOMESSAGES).
+# Link with /MAP /CROSS_REFERENCE /FULL.
+#
+# ODS2DU=1 Look for multi-dot file names (like
+# "[.lib]getopt^.in.h") using VMSTAR-compatible,
+# dot-under, ODS2-conforming names (like
+# "[.lib]getopt.in_h"). See also ODS2Z, below.
+#
+# ODS2UD=1 Look for multi-dot file names (like
+# "[.lib]getopt^.in.h") using [Un]Zip-compatible,
+# under-dot ODS2-conforming names (like
+# "[.lib]getopt_in.h"). Also use this macro if the
+# source kit was extracted using VMSTAR with the
+# /UNDERDOT ("-u") option.
+#
+# OSSL=1 Enable HTTPS (and NTLM) support using OpenSSL.
+#
+#
+# The default target, ALL, builds all the product executables.
+#
+# Other targets:
#
# CLEAN deletes architecture-specific files, but leaves any
-# individual source dependency files and the help library.
+# individual source dependency files.
#
# CLEAN_ALL deletes all generated files, except the main (collected)
-# source dependency file.
+# source dependency files.
+#
+# CLEAN_EXE deletes only the architecture-specific executables.
+# Handy if all you wish to do is re-link the executables.
#
-# CLEAN_EXE deletes only the architecture-specific executable.
-# Handy if all you wish to do is re-link the executable.
+# CLEAN_OLB deletes only the architecture-specific object libraries.
#
+# HELP creates the HELP library, [.vms]WGET.HLB.
+#
+# Example commands:
+#
+# To build the conventional small-file product using the DEC/Compaq/HP C
+# compiler (Note: DESCRIP.MMS is the default description file name.):
+#
+# MMS
+#
+# To get the large-file executables (on a non-VAX system):
+#
+# MMS /MACRO = (DASHD=1, LARGE=1)
+#
+# To delete the architecture-specific generated files for this system
+# type:
+#
+# MMS /MACRO = (LARGE=1) CLEAN ! Large-file.
+# or
+# MMS CLEAN ! Small-file.
+#
+# To build a complete small-file product for debug with compiler
+# listings and link maps:
+#
+# MMS CLEAN
+# MMS /MACRO = (DBG=1, LIST=1)
+#
+########################################################################
-# Include the source file lists (among other data).
+# Include primary product description file.
INCL_DESCRIP_SRC = 1
-.INCLUDE [-.VMS]descrip_src.mms
+.INCLUDE descrip_src.mms
+
+# Required command procedures.
+
+CONFIG_EXTRACT_COM = [-.$(DIR_VMS)]CONFIG_EXTRACT.COM
+
+# Generated header files.
+
+# Products.
+
+LIB_GETOPT_H = $(DIR_LIB_DEST)GETOPT.H
+SRC_CONFIG_H = $(DIR_SRC_DEST)CONFIG.H
+
+# Sources.
+
+LIB_GETOPT_H_SRC_DD = [-.$(DIR_LIB)]getopt^.in.h
+LIB_GETOPT_H_SRC_DU = [-.$(DIR_LIB)]getopt.in_h
+LIB_GETOPT_H_SRC_UD = [-.$(DIR_LIB)]getopt_in.h
-# DECC_VER diagnostic program.
-DECC_VER_OBJ = [.$(DEST)]DECC_VER.OBJ
+.IFDEF ODS2DU # ODS2DU
+LIB_GETOPT_H_SRC = $(LIB_GETOPT_H_SRC_DU)
+.ELSE # ODS2DU
+.IFDEF ODS2UD # ODS2UD
+LIB_GETOPT_H_SRC = $(LIB_GETOPT_H_SRC_UD)
+.ELSE # ODS2UD
+LIB_GETOPT_H_SRC = $(LIB_GETOPT_H_SRC_DD)
+.ENDIF # ODS2UD [else]
+.ENDIF # ODS2DU [else]
+SRC_CONFIG_H_SRC = [-.$(DIR_VMS)]CONFIG.H_VMS
-# Executables.
-WGET_EXE = [.$(DEST)]WGET.EXE
-DECC_VER_EXE = [.$(DEST)]DECC_VER.EXE
+# TARGETS.
-EXE = $(WGET_EXE) $(DECC_VER_EXE)
+# Default subsidiary targets.
-# HELP library and source file.
+# Build LIB object library (default target).
-HLB = [-.VMS]WGET.HLB
-HLP = [-.VMS]WGET.HLP
+.IFDEF TARGET_LIB # TARGET_LIB
-# Link the executables (default target).
+SUBSIDIARY = 1
-EXE : $(EXE)
+LIBLIB : $(LIB_LIB)
@ write sys$output ""
- @ write sys$output " ""$<"" is ready."
+ @ write sys$output " LIBLIB done."
@ write sys$output ""
-$(WGET_EXE) : $(OBJS) $(MAIN_OPT) $(IP_OPT)
- define /user_mode odir [.$(DEST)]
- $(LINK) $(LINKFLAGS) $(MAIN_OPT) /options $(IP_LINK_OPT) -
- $(SSL_LINK_OPT)
+$(LIB_LIB) : $(LIB_LIB)($(MODS_OBJS_LIB_LIB))
+ @ write sys$output "$(MMS$TARGET) updated."
+
+.ENDIF # TARGET_LIB
+
+
+# Build MD5 object library (default target).
+
+.IFDEF TARGET_MD5 # TARGET_MD5
+
+SUBSIDIARY = 1
+
+LIBMD5 : $(LIB_MD5)
+ @ write sys$output ""
+ @ write sys$output " LIBMD5 done."
+ @ write sys$output ""
+
+$(LIB_MD5) : $(LIB_MD5)($(MODS_OBJS_LIB_MD5))
+ @ write sys$output "$(MMS$TARGET) updated."
+
+# Special rules for MD5.C on VAX where Compaq C V6.4-005
+# (like, probably, other versions) loops with /optimize = disjoint.
+
+.IFDEF __VAX__ # __VAX__
+
+[.$(DEST)]MD5.OBJ : MD5.C
+ @ write sys$output "***************************************"
+ @ write sys$output "* Note: Exceptional rule in use here: *"
+ @ write sys$output "***************************************"
+ $(CC) $(CFLAGS) /optimize = nodisjoint /define = ($(CDEFS)) -
+ $(MMS$SOURCE)
+
+.ENDIF # __VAX__
+
+.ENDIF # TARGET_MD5
+
-$(DECC_VER_OBJ) : [-.VMS]DECC_VER.C
+# Build Wget executable or SRC object library (default target).
+
+.IFDEF TARGET_SRC # TARGET_SRC
+
+SUBSIDIARY = 1
+
+EXES : $(EXES)
+ @ write sys$output ""
+ @ write sys$output " Wget done."
+ @ write sys$output ""
+
+$(LIB_SRC) : $(LIB_SRC)($(MODS_OBJS_LIB_SRC))
+ @ write sys$output "$(MMS$TARGET) updated."
+
+$(WGET_EXE) : $(LIB_MD5) $(LIB_LIB) $(LIB_SRC)
+ $(LINK) $(LINKFLAGS) -
+ $(LIB_SRC) /library /include = (main), -
+ $(LIB_LIB) /library, -
+ $(LIB_MD5) /library -
+ $(SSL_LINK_OPT)
+ $(LFLAGS_ARCH)
$(DECC_VER_EXE) : $(DECC_VER_OBJ)
- $(LINK) $(LINKFLAGS) $(MMS$SOURCE)
+ $(LINK) $(LINKFLAGS) -
+ $(DECC_VER_OBJ) -
+ $(LFLAGS_ARCH)
+
+$(DECC_VER_OBJ) : [-.$(DIR_SRC)]DECC_VER.C
-# Create the HELP library (HELP target).
+.ENDIF # TARGET_SRC
-HELP : $(HLB)
+
+# Default global target.
+
+ALL : $(EXES)
+ @ show time
@ write sys$output ""
- @ write sys$output " ""$<"" is ready."
+ @ write sys$output " ALL done."
+ @ write sys$output ""
+
+# Global rules for executables and object libraries.
+
+.IFDEF TARGET_LIB # TARGET_LIB
+.ELSE # TARGET_LIB
+
+$(LIB_LIB) :
+ dev_dir = f$environment( "DEFAULT")
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(LIB_LIB)
+ set default 'dev_dir'
+ show default
@ write sys$output ""
-$(HLB) : $(HLP)
- LIBRARY /CREATE /HELP $@ $<
+.ENDIF # TARGET_LIB [else]
+
+.IFDEF TARGET_MD5 # TARGET_MD5
+.ELSE # TARGET_MD5
+
+$(LIB_MD5) :
+ dev_dir = f$environment( "DEFAULT")
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_MD5)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(LIB_MD5)
+ set default 'dev_dir'
+ show default
+ @ write sys$output ""
+
+.ENDIF # TARGET_MD5 [else]
+
+.IFDEF TARGET_SRC # TARGET_SRC
+.ELSE # TARGET_SRC
+
+$(LIB_SRC) :
+ dev_dir = f$environment( "DEFAULT")
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(LIB_SRC)
+ set default 'dev_dir'
+ show default
+ @ write sys$output ""
+
+$(WGET_EXE) :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(WGET_EXE)
+
+$(DECC_VER_EXE) :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(DECC_VER_EXE)
+
+.ENDIF # TARGET_SRC [else]
+
+
# CLEAN target. Delete the [.$(DEST)] directory and everything in it.
+.IFDEF SUBSIDIARY # SUBSIDIARY
+
CLEAN :
if (f$search( "[.$(DEST)]*.*") .nes. "") then -
delete [.$(DEST)]*.*;*
- if (f$search( "$(DEST).dir") .nes. "") then -
+ if (f$search( "$(DEST).dir", 1) .nes. "") then -
set protection = w:d $(DEST).dir;*
- if (f$search( "$(DEST).dir") .nes. "") then -
+ if (f$search( "$(DEST).dir", 2) .nes. "") then -
delete $(DEST).dir;*
# CLEAN_ALL target. Delete:
-# The [.$(DEST)] directories and everything in them.
-# All help-related derived files,
-# CONFIG.H.
+# The [...$(DEST)] directories and everything in them.
# All individual C dependency files.
# Also mention:
# Comprehensive dependency file.
CLEAN_ALL :
- if (f$search( "[.ALPHA*]*.*") .nes. "") then -
- delete [.ALPHA*]*.*;*
- if (f$search( "ALPHA*.dir", 1) .nes. "") then -
- set protection = w:d ALPHA*.dir;*
- if (f$search( "ALPHA*.dir", 2) .nes. "") then -
- delete ALPHA*.dir;*
- if (f$search( "[.IA64*]*.*") .nes. "") then -
- delete [.IA64*]*.*;*
- if (f$search( "IA64*.dir", 1) .nes. "") then -
- set protection = w:d IA64*.dir;*
- if (f$search( "IA64*.dir", 2) .nes. "") then -
- delete IA64*.dir;*
- if (f$search( "[.VAX*]*.*") .nes. "") then -
- delete [.VAX*]*.*;*
- if (f$search( "VAX*.dir", 1) .nes. "") then -
- set protection = w:d VAX*.dir;*
- if (f$search( "VAX*.dir", 2) .nes. "") then -
- delete VAX*.dir;*
- if (f$search( "$(CONFIG_H)") .nes. "") then -
- delete /log /noconfirm $(CONFIG_H);*
- if (f$search( "$(HLB)") .nes. "") then -
- delete /log /noconfirm $(HLB);*
- if (f$search( "*.MMSD") .nes. "") then -
- delete *.MMSD;*
+ @ write sys$output " SUBS - CLEAN_ALL"
+ show default
+ @ write sys$output ""
+ if (f$search( "[...ALPHA*]*.*") .nes. "") then -
+ delete [...ALPHA*]*.*;*
+ if (f$search( "[...]ALPHA*.dir", 1) .nes. "") then -
+ set protection = w:d [...]ALPHA*.dir;*
+ if (f$search( "[...]ALPHA*.dir", 2) .nes. "") then -
+ delete [...]ALPHA*.dir;*
+ if (f$search( "[...IA64*]*.*") .nes. "") then -
+ delete [...IA64*]*.*;*
+ if (f$search( "[...]IA64*.dir", 1) .nes. "") then -
+ set protection = w:d [...]IA64*.dir;*
+ if (f$search( "[...]IA64*.dir", 2) .nes. "") then -
+ delete [...]IA64*.dir;*
+ if (f$search( "[...VAX*]*.*") .nes. "") then -
+ delete [...VAX*]*.*;*
+ if (f$search( "[...]VAX*.dir", 1) .nes. "") then -
+ set protection = w:d [...]VAX*.dir;*
+ if (f$search( "[...]VAX*.dir", 2) .nes. "") then -
+ delete [...]VAX*.dir;*
+ if (f$search( "[...]*.MMSD") .nes. "") then -
+ delete [...]*.MMSD;*
@ write sys$output ""
@ write sys$output "Note: This procedure will not"
- @ write sys$output " DELETE [.VMS]DESCRIP_DEPS.MMS;*"
+ @ write sys$output " DELETE DESCRIP_DEPS.MMS;*"
@ write sys$output -
"You may choose to, but a recent version of MMS (V3.5 or newer?) is"
@ write sys$output -
"needed to regenerate it. (It may also be recovered from the original"
@ write sys$output -
- "distribution kit.) See [.VMS]DESCRIP_MKDEPS.MMS for instructions on"
+ "distribution kit.) See DESCRIP_MKDEPS.MMS for instructions on"
@ write sys$output -
- "generating [.VMS]DESCRIP_DEPS.MMS."
+ "generating DESCRIP_DEPS.MMS."
+ @ write sys$output ""
+
+# CLEAN_EXE target. Delete the executables in [.$(DEST)].
+
+CLEAN_EXE :
+ if (f$search( "[.$(DEST)]*.EXE") .nes. "") then -
+ delete [.$(DEST)]*.EXE;*
+
+# CLEAN_OLB target. Delete the object libraries in [.$(DEST)].
+
+CLEAN_OLB :
+ if (f$search( "[.$(DEST)]*.OLB") .nes. "") then -
+ delete [.$(DEST)]*.OLB;*
+
+.ELSE # SUBSIDIARY
+
+.IFDEF MMSTARGETS # MMSTARGETS
+
+#
+# MMS (or MMK) with the MMSTARGETS macro needs only one real CLEAN rule.
+#
+
+CLEAN, CLEAN_ALL, CLEAN_EXE, CLEAN_OLB :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(MMSTARGETS)
+ set default [-.$(DIR_MD5)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(MMSTARGETS)
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(MMSTARGETS)
+
+.ELSE # MMSTARGETS
+
+#
+# MMK without the MMSTARGETS macro needs more rules.
+#
+
+CLEAN :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN
+ set default [-.$(DIR_MD5)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN
+ set default [-.$(DIR_SRC)]
+ show default
@ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN
-# CLEAN_EXE target. Delete the executable in [.$(DEST)].
+CLEAN_ALL :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_ALL
+ set default [-.$(DIR_MD5)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_ALL
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_ALL
CLEAN_EXE :
- if (f$search( "[.$(DEST)]*.exe") .nes. "") then -
- delete [.$(DEST)]*.exe;*
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_EXE
+ set default [-.$(DIR_MD5)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_EXE
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_EXE
+
+CLEAN_OLB :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_OLB
+ set default [-.$(DIR_MD5)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_OLB
+ set default [-.$(DIR_SRC)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ CLEAN_OLB
+
+.ENDIF # MMSTARGETS [else]
-# Include CONFIG.H dependency and rule.
+.ENDIF # SUBSIDIARY
-INCL_CONFIG_SRC = 1
-.INCLUDE [-.VMS]descrip_config.mms
+DEFAULT :
+ @ write sys$output "No target, specified or default."
+
+HELP : $(WGET_HLB)
+ @ write sys$output ""
+ @ write sys$output " ""$<"" is ready."
+ @ write sys$output ""
+
+$(WGET_HLB) : $(WGET_HLP)
+ LIBRARY /CREATE /HELP $(MMS$TARGET) $(MMS$SOURCE)
+
+# Default C compile rule.
+
+.C.OBJ :
+ $(CC) $(CFLAGS) /define = ($(CDEFS)) $(MMS$SOURCE)
+
+
+# Generated header files.
+
+GENERATED_HEADERS : $(LIB_GETOPT_H) $(SRC_CONFIG_H)
+ @ write sys$output "$(MMS$TARGET) updated."
+
+# Simply copy "lib/getopt.in.h".
+
+$(LIB_GETOPT_H) : $(LIB_GETOPT_H_SRC)
+ copy $(LIB_GETOPT_H_SRC) $(MMS$TARGET)
+
+# Copy "vms/config.h_vms", and append:
+# Wget version, and other information extracted from "configure.ac",
+# Current OS ("VMS"), host architecture, and OS version.
+
+$(SRC_CONFIG_H) : $(SRC_CONFIG_H_SRC) $(CONFIG_EXTRACT_COM)
+ @ @$(CONFIG_EXTRACT_COM) [-]CONFIGURE.AC wget_name wget_vers wget_email
+ @ copy $(SRC_CONFIG_H_SRC) $(MMS$TARGET)
+ @ open /append config_h $(MMS$TARGET)
+ @ write config_h ""
+ @ write config_h "/* Data extracted from ""configure.ac"": */"
+ @ write config_h ""
+ @ write config_h "#define PACKAGE "+ -
+ """''f$trnlnm( "wget_name")'"""
+ @ write config_h "#define PACKAGE_BUGREPORT "+ -
+ """''f$trnlnm( "wget_email")'"""
+ @ write config_h "#define PACKAGE_NAME "+ -
+ """''f$trnlnm( "wget_name")'"""
+ @ write config_h "#define PACKAGE_STRING "+ -
+ """''f$trnlnm( "wget_name")' ''f$trnlnm( "wget_vers")'"""
+ @ write config_h "#define PACKAGE_TARNAME "+ -
+ """''f$trnlnm( "wget_name")'"""
+ @ write config_h "#define PACKAGE_VERSION "+ -
+ """''f$trnlnm( "wget_vers")'"""
+ @ write config_h "#define VERSION "+ -
+ """''f$trnlnm( "wget_vers")'"""
+ @ write config_h ""
+ @ write config_h "/* Build-time info: */"
+ @ write config_h ""
+ @ if (f$getsyi( "hw_model") .lt. 1024) then arch_name = "VAX"
+ @ if (f$getsyi( "hw_model") .ge. 1024) then -
+ arch_name = f$getsyi( "arch_name")
+ @ write config_h "#define OS_TYPE "+ -
+ """VMS ''arch_name' ''f$edit( f$getsyi( ""version""), ""trim"")'"""
+ @ write config_h ""
+ @ close config_h
# Include generated source dependencies.
+.IFDEF SUBSIDIARY # SUBSIDIARY
+
INCL_DESCRIP_DEPS = 1
-.INCLUDE [-.VMS]descrip_deps.mms
+
+.INCLUDE descrip_deps.mms
+
+.ENDIF # SUBSIDIARY