$$(_v)$$(MKDIR) ./$(3)
$$(_v)$$(MKDIR) $(dir $(firstword $(1)))
+# Rebuild if unifdef flags change
+$(1): $(3)/.UNIFDEF_FLAGS
+$(3)/.UNIFDEF_FLAGS: ALWAYS | $(3)_MKDIR
+ $$(_v)$$(REPLACECONTENTS) $$@ $$(UNIFDEF) $(4)
+
$(1): $(dir $(firstword $(1)))% : $(if $(2),%,$$(SOURCE)/%) | $(3)_MKDIR
@echo INSTALLHDR $$*
$$(_v)$$(UNIFDEF) $(4) $$< > ./$(3)/$$*.unifdef.$$$$$$$$; \
#
S_RULE_0=@echo AS $@
-S_RULE_1A=$(_v)${S_KCC} -c ${SFLAGS} -MD -MF $(@:o=d) -MP -DASSEMBLER ${$@_SFLAGS_ADD} ${INCFLAGS} ${$@_INCFLAGS}
+S_RULE_1A=$(_v)${S_KCC} -c ${SFLAGS} -MD -MF $(@:o=d) -MP ${$@_SFLAGS_ADD} ${INCFLAGS} ${$@_INCFLAGS}
S_RULE_1B=$(<F)
S_RULE_2=
C_RULE_2=
endif
ifeq ($(DO_CTFMACHO), 1)
-C_CTFRULE_1A=${C_RULE_1A} -o $@.non_lto $(CFLAGS_NOLTO_FLAG)
+C_CTFRULE_1A=$(_v)${KCC} -o $@.non_lto -c ${filter-out ${$@_CFLAGS_RM}, ${CFLAGS} ${CWARNFLAGS}} ${$@_CFLAGS_ADD} ${$@_CWARNFLAGS_ADD} ${INCFLAGS} ${$@_INCFLAGS} $(CFLAGS_NOLTO_FLAG)
C_CTFRULE_1B=$(<F)
C_CTFRULE_2=$(_v)if [ -z "${$@_SKIP_CTFCONVERT}" ]; then ${CTFCONVERT} -l xnu -v -o $@.non_lto.ctf $@.non_lto > /dev/null || true; fi
else
do_installman: $(INSTALL_MAN_FILES) $(INSTALL_MAN_FILES_LINKS)
@:
+.PHONY: do_textfiles_install
+
+# Do-nothing rule, since not all levels of the recursive hierarchy might implement this
+# in their local Makefiles. Those that do will use a "::" rule to augment this.
+do_textfiles_install:: do_installman
+ @:
+
.PHONY: do_build_setup
# Do-nothing rule, since not all levels of the recursive hierarchy might implement this
do_config_all::
@:
--include Makedep
+.PHONY: do_config_install
+
+# Do-nothing rule, since not all levels of the recursive hierarchy might implement this
+# in their local Makefiles. Those that do will use a "::" rule to augment this.
+do_config_install::
+ @:
# vim: set ft=make: