view mk/subdir.mk @ 6:607e3be6bad8

Adjust to the moving target called the C++ standard. Apparently nowadays it's not allowed to define an explicit copy constructor but not an assignment operator. Consequently, defining the explicit copy constructor in terms of the implicit/automatic assignment operator for general convenience no longer works. Add assignment operators. Caution: not tested with the IBM compiler, but there's no particular reason it shouldn't work.
author David A. Holland
date Mon, 30 May 2022 23:46:22 -0400
parents 13d2b8934445
children
line wrap: on
line source

#
# subdir.mk - recurse into subdirectories, in portable make.
#
# Before including, set:
#    SUBDIRS                     directories to recurse into
#    MORESUBDIRS                 extra directories for rules and distclean
#    TARGETS (optional)          all targets to provide
#    MORETARGETS (optional)      additional targets to provide
#    MYDISTCLEANFILES (optional) files to remove at distclean time
#
# Note that directories may be listed in both SUBDIRS and MORESUBDIRS
# without causing things to duplicate.
#

TARGETS?=all rules depend agfiles agclean tidy clean distclean $(MORETARGETS)

include $(BUILDTOP)/config.mk
include rules.mk
include depend.mk

rules:
	@$(MAKE) rules-here
	@$(MAKE) rules-subdirs

rules-here:
	@$(TOP)/mk/subdir-rules.sh "$(TARGETS)" "$(SUBDIRS)" \
		"$(MORESUBDIRS)" > rules.mk
#	@echo '        [RULES]'

distclean:
	@$(MAKE) distclean-subdirs
	@$(MAKE) distclean-here
	@if [ "x$(MYDISTCLEANFILES)" != x ]; then \
	   echo '        [RM]      $(MYDISTCLEANFILES)'; \
	   rm -f $(MYDISTCLEANFILES); \
	 fi

.PHONY: rules rules-here rules-subdirs
.PHONY: distclean distclean-here distclean-subdirs