]> git.saurik.com Git - apple/xnu.git/blame - osfmk/conf/Makefile
xnu-1504.9.17.tar.gz
[apple/xnu.git] / osfmk / conf / Makefile
CommitLineData
1c79356b
A
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
1c79356b
A
6include $(MakeInc_cmd)
7include $(MakeInc_def)
8
9SETUP_SUBDIRS = \
10 tools
11
12COMP_SUBDIRS =
13
14INST_SUBDIRS =
15
16ifndef OSFMK_KERNEL_CONFIG
17export OSFMK_KERNEL_CONFIG = $(KERNEL_CONFIG)
18endif
19
2d21ac55
A
20ifneq ($(MACHINE_CONFIG), DEFAULT)
21export COMPOBJROOT=$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)_$(MACHINE_CONFIG)/$(COMPONENT)
22else
55e303ae 23export COMPOBJROOT=$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)
2d21ac55 24endif
1c79356b 25
2d21ac55
A
26$(COMPOBJROOT)/doconf:
27 @make build_setup
1c79356b
A
28
29$(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG)/Makefile: $(SOURCE)/MASTER \
0b4e3aa0 30 $(SOURCE)/MASTER.$(ARCH_CONFIG_LC) \
1c79356b 31 $(SOURCE)/Makefile.template \
0b4e3aa0 32 $(SOURCE)/Makefile.$(ARCH_CONFIG_LC) \
1c79356b 33 $(SOURCE)/files \
0b4e3aa0 34 $(SOURCE)/files.$(ARCH_CONFIG_LC) \
2d21ac55
A
35 $(COMPOBJROOT)/doconf
36 $(_v)(doconf_target=$(addsuffix /conf, $(TARGET)); \
1c79356b
A
37 $(MKDIR) $${doconf_target}; \
38 cd $${doconf_target}; \
39 rm -f $(notdir $?); \
40 cp $? $${doconf_target}; \
2d21ac55 41 $(COMPOBJROOT)/doconf -c -cpu $(ARCH_CONFIG_LC) -d $(TARGET)/$(OSFMK_KERNEL_CONFIG) $(OSFMK_KERNEL_CONFIG); \
1c79356b
A
42 );
43
44$(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG)/platforms.h: $(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG)/Makefile
2d21ac55 45 $(_v)(cd $(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG); \
1c79356b
A
46 ${RM} $@; \
47 ${LN} cputypes.h $@; \
48 )
49
2d21ac55 50do_setup_conf: $(COMPOBJROOT)/doconf \
1c79356b
A
51 $(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG)/Makefile \
52 $(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG)/platforms.h
53
54do_all: do_setup_conf
2d21ac55 55 $(_v)next_source=$(subst conf/,,$(SOURCE)); \
9bccf70c
A
56 ${MAKE} -C $(COMPOBJROOT)/$(OSFMK_KERNEL_CONFIG) \
57 MAKEFILES=$(TARGET)/$(OSFMK_KERNEL_CONFIG)/Makefile \
1c79356b
A
58 SOURCE=$${next_source} \
59 TARGET=$(TARGET) \
0b4e3aa0 60 INCL_MAKEDEP=FALSE \
55e303ae 61 KERNEL_CONFIG=$(OSFMK_KERNEL_CONFIG) \
2d21ac55 62 build_all;
1c79356b
A
63
64do_build_all: do_all
65
66include $(MakeInc_rule)
67include $(MakeInc_dir)