]> git.saurik.com Git - apple/xnu.git/blob - libkern/conf/Makefile
51eddb88907c09b45a61a1f790966a56243aa7b0
[apple/xnu.git] / libkern / conf / Makefile
1 export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd
2 export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def
3 export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule
4 export MakeInc_dir=${SRCROOT}/makedefs/MakeInc.dir
5
6 include $(MakeInc_cmd)
7 include $(MakeInc_def)
8
9 # Special handling for x86_64h which shares a MASTER config file with x86_64:
10 ifeq ($(CURRENT_ARCH_CONFIG_LC),x86_64h)
11 DOCONF_ARCH_CONFIG_LC = x86_64
12 else
13 DOCONF_ARCH_CONFIG_LC = $(CURRENT_ARCH_CONFIG_LC)
14 endif
15
16 MASTERCONFDIR = $(SRCROOT)/config
17 DOCONFDEPS = $(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
20 ifneq (,$(wildcard $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)))
21 DOCONFDEPS += $(MASTERCONFDIR)/MASTER.$(DOCONF_ARCH_CONFIG_LC).$(CURRENT_MACHINE_CONFIG_LC)
22 endif
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) -platform $(PLATFORM) -d $(TARGET)/$(CURRENT_KERNEL_CONFIG) -s $(SOURCE) -m $(MASTERCONFDIR) $(CURRENT_KERNEL_CONFIG)
27
28 do_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
40 do_build_all:: do_all
41
42 include $(MakeInc_rule)
43 include $(MakeInc_dir)