]> git.saurik.com Git - apple/xnu.git/blob - bsd/conf/Makefile
xnu-344.tar.gz
[apple/xnu.git] / bsd / 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
7 include $(MakeInc_cmd)
8 include $(MakeInc_def)
9
10 SETUP_SUBDIRS = \
11 tools
12
13 COMP_SUBDIRS =
14
15 INST_SUBDIRS =
16
17 ifndef BSD_KERNEL_CONFIG
18 export BSD_KERNEL_CONFIG = $(KERNEL_CONFIG)
19 endif
20
21 COMPOBJROOT=$(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)
22
23 $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf:
24 make build_setup
25
26 $(COMPOBJROOT)/$(BSD_KERNEL_CONFIG)/Makefile : $(SOURCE)/MASTER \
27 $(SOURCE)/MASTER.$(ARCH_CONFIG_LC) \
28 $(SOURCE)/Makefile.template \
29 $(SOURCE)/Makefile.$(ARCH_CONFIG_LC) \
30 $(SOURCE)/files \
31 $(SOURCE)/files.$(ARCH_CONFIG_LC) \
32 $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf
33 @echo "Running doconf for $(BSD_KERNEL_CONFIG)";
34 (doconf_target=$(addsuffix /conf, $(TARGET)); \
35 echo $${doconf_target};\
36 $(MKDIR) $${doconf_target}; \
37 cd $${doconf_target}; \
38 rm -f $(notdir $?); \
39 cp $? $${doconf_target}; \
40 $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf -c -cpu $(ARCH_CONFIG_LC) -d $(TARGET)/$(BSD_KERNEL_CONFIG) $(BSD_KERNEL_CONFIG); \
41 );
42
43 .ORDER: $(COMPOBJROOT)/$(BSD_KERNEL_CONFIG)/Makefile
44
45 do_setup_conf: $(OBJROOT)/$(KERNEL_CONFIG)_$(ARCH_CONFIG)/$(COMPONENT)/doconf \
46 $(COMPOBJROOT)/$(BSD_KERNEL_CONFIG)/Makefile
47
48 do_all: do_setup_conf
49 @echo "[ $(SOURCE) ] Starting do_all $(COMPONENT) $(BSD_KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)"; \
50 next_source=$(subst conf/,,$(SOURCE)); \
51 ${MAKE} -C $(COMPOBJROOT)/$(BSD_KERNEL_CONFIG) \
52 MAKEFILES=$(TARGET)/$(BSD_KERNEL_CONFIG)/Makefile \
53 SOURCE=$${next_source} \
54 TARGET=$(TARGET) \
55 INCL_MAKEDEP=FALSE \
56 build_all; \
57 echo "[ $(SOURCE) ] Returning do_all $(COMPONENT) $(BSD_KERNEL_CONFIG) $(ARCH_CONFIG) $(TARGET)";
58
59 do_build_all: do_all
60
61 include $(MakeInc_rule)
62 include $(MakeInc_dir)