1export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
2export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
3export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
4export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
5
6include $(MakeInc_cmd)
7include $(MakeInc_def)
8
9# Special handling for x86_64h which shares a MASTER config file with x86_64:
10ifeq ($(CURRENT_ARCH_CONFIG_LC),x86_64h)
11DOCONF_ARCH_CONFIG_LC = x86_64
12else
13DOCONF_ARCH_CONFIG_LC = $(CURRENT_ARCH_CONFIG_LC)
14endif
15
16MASTERCONFDIR = $(SRCROOT)/config
17DOCONFDEPS = $(addprefix $(MASTERCONFDIR)/, MASTER MASTER.$(DOCONF_ARCH_CONFIG_LC)) \
18	$(addprefix $(SOURCE)/, Makefile.template Makefile.$(DOCONF_ARCH_CONFIG_LC) files files.$(DOCONF_ARCH_CONFIG_LC))
19
20ifneq (,$(wildcard $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)))
21DOCONFDEPS += $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)
22endif
23
24$(TARGET)/$(CURRENT_KERNEL_CONFIG)/Makefile: $(SRCROOT)/SETUP/config/doconf $(OBJROOT)/SETUP/config $(DOCONFDEPS)
25	$(_v)$(MKDIR) $(TARGET)/$(CURRENT_KERNEL_CONFIG)
26	$(_v)$(SRCROOT)/SETUP/config/doconf -c -cpu $(DOCONF_ARCH_CONFIG_LC) -soc $(CURRENT_MACHINE_CONFIG_LC) -d $(TARGET)/$(CURRENT_KERNEL_CONFIG) -s $(SOURCE) -m $(MASTERCONFDIR) $(CURRENT_KERNEL_CONFIG);
27
28do_all: $(TARGET)/$(CURRENT_KERNEL_CONFIG)/Makefile
29	$(_v)${MAKE} \
30		-C $(TARGET)/$(CURRENT_KERNEL_CONFIG)			\
31		-f $(TARGET)/$(CURRENT_KERNEL_CONFIG)/Makefile		\
32		CURRENT_KERNEL_CONFIG=${CURRENT_KERNEL_CONFIG}		\
33		CURRENT_ARCH_CONFIG=${CURRENT_ARCH_CONFIG}		\
34		CURRENT_MACHINE_CONFIG=${CURRENT_MACHINE_CONFIG}	\
35		SOURCE=$(subst conf/,,$(SOURCE))			\
36		TARGET=${TARGET}					\
37		OBJPATH=${OBJPATH}					\
38		build_all;
39
40do_build_all:: do_all 
41
42include $(MakeInc_rule)
43include $(MakeInc_dir)
44