Loading...
libsa/conf/Makefile xnu-12377.101.15 xnu-201
--- xnu/xnu-12377.101.15/libsa/conf/Makefile
+++ xnu/xnu-201/libsa/conf/Makefile
@@ -3,41 +3,62 @@
 export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
 export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
 
+
 include $(MakeInc_cmd)
 include $(MakeInc_def)
 
-# Special handling for x86_64h which shares a MASTER config file with x86_64:
-ifeq ($(CURRENT_ARCH_CONFIG_LC),x86_64h)
-DOCONF_ARCH_CONFIG_LC = x86_64
-else
-DOCONF_ARCH_CONFIG_LC = $(CURRENT_ARCH_CONFIG_LC)
+SETUP_SUBDIRS = \
+	tools
+
+COMP_SUBDIRS = 
+
+INST_SUBDIRS = 
+
+ifndef LIBKERN_KERNEL_CONFIG
+export LIBKERN_KERNEL_CONFIG = $(KERNEL_CONFIG)
 endif
 
-MASTERCONFDIR = $(SRCROOT)/config
-DOCONFDEPS = $(addprefix $(MASTERCONFDIR)/, MASTER MASTER.$(DOCONF_ARCH_CONFIG_LC)) \
-	$(addprefix $(SOURCE)/, Makefile.template Makefile.$(DOCONF_ARCH_CONFIG_LC) files files.$(DOCONF_ARCH_CONFIG_LC))
+COMPOBJROOT=$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)
 
-ifneq (,$(wildcard $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)))
-DOCONFDEPS += $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)
-endif
+$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf:
+	make build_setup 
 
-$(TARGET)/$(CURRENT_KERNEL_CONFIG)/Makefile: $(SRCROOT)/SETUP/config/doconf $(OBJROOT)/SETUP/config $(DOCONFDEPS)
-	$(_v)$(MKDIR) $(TARGET)/$(CURRENT_KERNEL_CONFIG)
-	$(_v)$(SRCROOT)/SETUP/config/doconf -c -cpu $(DOCONF_ARCH_CONFIG_LC) -soc $(CURRENT_MACHINE_CONFIG_LC) -platform $(PLATFORM_FOR_CONFIG) -d $(TARGET)/$(CURRENT_KERNEL_CONFIG) -s $(SOURCE) -m $(MASTERCONFDIR) $(DOCONF_SEED) $(DOCONF_EXCLAVES) $(DOCONF_SPTM) $(DOCONF_KERNEL_TAG) $(CURRENT_KERNEL_CONFIG)
+$(COMPOBJROOT)/$(LIBKERN_KERNEL_CONFIG)/Makefile :  $(SOURCE)/MASTER  \
+	$(SOURCE)/MASTER.$(ARCH_CONFIG_LC) \
+	$(SOURCE)/Makefile.template  \
+	$(SOURCE)/Makefile.$(ARCH_CONFIG_LC)  \
+	$(SOURCE)/files \
+	$(SOURCE)/files.$(ARCH_CONFIG_LC) \
+	$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf
+	@echo "Running doconf for $(LIBKERN_KERNEL_CONFIG)";
+	(doconf_target=$(addsuffix /conf, $(TARGET)); \
+	echo $${doconf_target};\
+	$(MKDIR) $${doconf_target}; \
+	cd $${doconf_target}; \
+	rm -f $(notdir $?); \
+	cp  $? $${doconf_target}; \
+	$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf -c -cpu $(ARCH_CONFIG_LC) -d  $(TARGET)/$(LIBKERN_KERNEL_CONFIG) $(LIBKERN_KERNEL_CONFIG); \
+	);
 
-do_all: $(TARGET)/$(CURRENT_KERNEL_CONFIG)/Makefile
-	$(_v)${MAKE} \
-		-C $(TARGET)/$(CURRENT_KERNEL_CONFIG)			\
-		-f $(TARGET)/$(CURRENT_KERNEL_CONFIG)/Makefile		\
-		CURRENT_KERNEL_CONFIG=${CURRENT_KERNEL_CONFIG}		\
-		CURRENT_ARCH_CONFIG=${CURRENT_ARCH_CONFIG}		\
-		CURRENT_MACHINE_CONFIG=${CURRENT_MACHINE_CONFIG}	\
-		SOURCE=$(subst conf/,,$(SOURCE))			\
-		TARGET=${TARGET}					\
-		OBJPATH=${OBJPATH}					\
-		build_all
+.ORDER: $(COMPOBJROOT)/$(LIBKERN_KERNEL_CONFIG)/Makefile
 
-do_build_all:: do_all
+do_setup_conf: $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf \
+		$(COMPOBJROOT)/$(LIBKERN_KERNEL_CONFIG)/Makefile
+
+do_all: do_setup_conf
+	@echo "[ $(SOURCE) ] Starting do_all  $(COMPONENT) $(LIBKERN_KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";	\
+	(cd $(COMPOBJROOT)/$(LIBKERN_KERNEL_CONFIG);				\
+	next_source=$(subst conf/,,$(SOURCE));			\
+	${MAKE} MAKEFILES=$(TARGET)/$(LIBKERN_KERNEL_CONFIG)/Makefile	\
+		SOURCE=$${next_source}			\
+		TARGET=$(TARGET)					\
+		INCL_MAKEDEP=FALSE	\
+		build_all	\
+	);		\
+	echo "[ $(SOURCE) ] Returning do_all $(COMPONENT) $(LIBKERN_KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";
+
+do_build_all: do_all 
 
 include $(MakeInc_rule)
 include $(MakeInc_dir)
+