- if (f$search( "$(CONFIG_H)") .nes. "") then -
- delete /log $(CONFIG_H);*
- if (f$search( "*.mmsd;*") .nes. "") then -
- delete /log *.mmsd;*
- if (f$search( "[-.vms]*.mmsd;*") .nes. "") then -
- delete /log [-.vms]*.mmsd;*
- if (f$search( "$(DEPS_FILE);*") .nes. "") then -
- delete /log $(DEPS_FILE);*
-
-# PURGE target.
-
-PURGE :
- if (f$search( "$(CONFIG_H);-1") .nes. "") then -
- purge /log $(CONFIG_H)
- if (f$search( "*.mmsd;*") .nes. "") then -
- delete /log *.mmsd;*
- if (f$search( "[-.vms]*.mmsd;*") .nes. "") then -
- delete /log [-.vms]*.mmsd;*
- if (f$search( "$(DEPS_FILE);-1") .nes. "") then -
- purge /log $(DEPS_FILE)
-
-
-# Include CONFIG.H dependency and rule.
-
-INCL_CONFIG_SRC = 1
-.INCLUDE [-.VMS]descrip_config.mms
+ if (f$search( "[...]*.MMSD") .nes. "") then -
+ delete [...]*.MMSD;*
+
+# CLEAN_ALL target. Delete:
+# The individual C dependency files.
+# The collected source dependency file.
+
+CLEAN_ALL :
+ if (f$search( "[...]*.MMSD") .nes. "") then -
+ delete [...]*.MMSD;*
+ if (f$search( "DESCRIP_DEPS.MMS") .nes. "") then -
+ delete DESCRIP_DEPS.MMS;*
+
+.ELSE # SUBSIDIARY
+
+#
+# Main target is the specified target, everywhere.
+#
+# Note that the first actions use the normal description file to create
+# some generated header files, before they are referenced.
+#
+# Generated headers must not be generated for any of the CLEAN* targets,
+# because the CLEAN* actions may remove the required
+# [.INC]DESCRIP_DEPS.MMS file. The trick/mess here using "TARGET_xxx"
+# does the job.
+#
+TARGET_CLEAN = X
+TARGET_CLEAN_ALL = X
+TARGET_CLEAN_EXE = X
+TARGET_CLEAN_OLB = X
+
+.IFDEF TARGET_$(MMSTARGETS) # TARGET_xxx
+.ELSE # TARGET_xxx
+MAKE_GENERATED_HEADERS = X
+.ENDIF # TARGET_xxx [else]
+
+ALL, CLEAN, CLEAN_ALL, CLEAN_EXE, CLEAN_OLB :
+ set default 'f$parse( "$(MMSDESCRIPTION_FILE)", , , "DIRECTORY")'
+ show default
+ @ write sys$output ""
+ $(MMS) /description = [-.VMS]DESCRIP.MMS $(MMSQUALIFIERS) -
+ GENERATED_HEADERS
+ set default [-.$(DIR_LIB)]
+ show default
+ @ write sys$output ""
+ $(MMS) /description = $(MMSDESCRIPTION_FILE) $(MMSQUALIFIERS) -
+ $(MMSTARGETS)
+.IFDEF MAKE_GENERATED_HEADERS # MAKE_GENERATED_HEADERS
+ $(MMS) /description = [-.VMS]DESCRIP.MMS $(MMSQUALIFIERS) -
+ $(MMSTARGETS)
+.ENDIF # MAKE_GENERATED_HEADERS
+ 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)
+
+.ENDIF # SUBSIDIARY [else]