]> git.saurik.com Git - apple/xnu.git/blobdiff - pexpert/conf/Makefile
xnu-7195.60.75.tar.gz
[apple/xnu.git] / pexpert / conf / Makefile
index 68774ccc115c221a5a8c1f6af85a7967d64d1691..51eddb88907c09b45a61a1f790966a56243aa7b0 100644 (file)
@@ -3,62 +3,41 @@ export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
 export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
 export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
 
 export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
 export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
 
-
 include $(MakeInc_cmd)
 include $(MakeInc_def)
 
 include $(MakeInc_cmd)
 include $(MakeInc_def)
 
-SETUP_SUBDIRS = \
-       tools
-
-COMP_SUBDIRS = 
-
-INST_SUBDIRS = 
-
-ifndef PEXPERT_KERNEL_CONFIG
-export PEXPERT_KERNEL_CONFIG = $(KERNEL_CONFIG)
+# 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)
 endif
 
 endif
 
-export COMPOBJROOT=$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)
+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))
 
 
-$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf:
-       make build_setup 
-
-$(COMPOBJROOT)/$(PEXPERT_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 $(PEXPERT_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)/$(PEXPERT_KERNEL_CONFIG) $(PEXPERT_KERNEL_CONFIG); \
-       );
-
-.ORDER: $(COMPOBJROOT)/$(PEXPERT_KERNEL_CONFIG)/Makefile 
+ifneq (,$(wildcard $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)))
+DOCONFDEPS += $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)
+endif
 
 
-do_setup_conf: $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf \
-               $(COMPOBJROOT)/$(PEXPERT_KERNEL_CONFIG)/Makefile 
+$(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) -d $(TARGET)/$(CURRENT_KERNEL_CONFIG) -s $(SOURCE) -m $(MASTERCONFDIR) $(CURRENT_KERNEL_CONFIG)
 
 
-do_all: do_setup_conf
-       @echo "[ $(SOURCE) ] Starting do_all  $(COMPONENT) $(PEXPERT_KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";  \
-       next_source=$(subst conf/,,$(SOURCE));                  \
-       ${MAKE} -C $(COMPOBJROOT)/$(PEXPERT_KERNEL_CONFIG)      \
-               MAKEFILES=$(TARGET)/$(PEXPERT_KERNEL_CONFIG)/Makefile   \
-               SOURCE=$${next_source}                  \
-               TARGET=$(TARGET)                                        \
-               INCL_MAKEDEP=FALSE      \
-               KERNEL_CONFIG=$(PEXPERT_KERNEL_CONFIG)  \
-               build_all;      \
-       echo "[ $(SOURCE) ] Returning do_all $(COMPONENT) $(PEXPERT_KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";
+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
 
 
-do_build_all: do_all 
+do_build_all:: do_all
 
 include $(MakeInc_rule)
 include $(MakeInc_dir)
 
 include $(MakeInc_rule)
 include $(MakeInc_dir)
-