X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/b0d623f7f2ae71ed96e60569f61f9a9a27016e80..6d2010ae8f7a6078e10b361c6962983bab233e0f:/osfmk/conf/Makefile.template?ds=sidebyside diff --git a/osfmk/conf/Makefile.template b/osfmk/conf/Makefile.template index 75f1c7f31..c39e844cf 100644 --- a/osfmk/conf/Makefile.template +++ b/osfmk/conf/Makefile.template @@ -26,7 +26,7 @@ include $(MakeInc_def) # # XXX: CFLAGS # -CFLAGS+= -imacros meta_features.h -DMACH_KERNEL_PRIVATE $(CFLAGS_INLINE_CONFIG) +CFLAGS+= -include meta_features.h -DMACH_KERNEL_PRIVATE $(CFLAGS_INLINE_CONFIG) # # Directories for mig generated files @@ -86,18 +86,20 @@ ${OBJS}: ${OBJSDEPS} LDOBJS = $(OBJS) -$(COMPONENT).o: $(LDOBJS) assym.s - $(_v)for hib_file in ${HIB_FILES}; \ +$(COMPONENT).filelist: $(LDOBJS) assym.s + $(_v)if [ $(BUILD_MACHO_OBJ) -eq 1 ]; then \ + for hib_file in ${HIB_FILES}; \ do \ $(SEG_HACK) __HIB $${hib_file} -o $${hib_file}__; \ mv $${hib_file}__ $${hib_file} ; \ - done; + done; \ + fi @echo LDFILELIST $(COMPONENT) $(_v)( for obj in ${LDOBJS}; do \ echo $(TARGET)$(COMP_OBJ_DIR)/$(KERNEL_CONFIG)/$${obj}; \ - done; ) > $(COMPONENT).o + done; ) > $(COMPONENT).filelist -do_all: $(COMPONENT).o +do_all: $(COMPONENT).filelist do_depend: do_all $(_v)${MD} -u Makedep -f -d `ls *.d`; @@ -108,8 +110,14 @@ do_build_all: do_depend # we name it genassym.o to help with the automatic # dependency generation -genassym.o: $(SOURCE_DIR)/$(COMPONENT)/$(ARCH_CONFIG_LC)/genassym.c - $(_v)${KCC} ${CFLAGS} -MD ${_HOST_EXTRA_CFLAGS} -S -o ${@} -c ${INCFLAGS} $< +GENASSYM_LOCATION = $(ARCH_CONFIG_LC) + +ifeq ($(ARCH_CONFIG_LC),x86_64) +GENASSYM_LOCATION = i386 +endif + +genassym.o: $(SOURCE_DIR)/$(COMPONENT)/$(GENASSYM_LOCATION)/genassym.c + $(_v)${KCC} $(subst -flto,,${CFLAGS}) -MD ${_HOST_EXTRA_CFLAGS} -S -o ${@} -c ${INCFLAGS} $< assym.s: genassym.o $(_v)sed -e '/#DEFINITION#/!d' -e 's/^.*#DEFINITION#//' -e 's/\$$//' -e 'p' -e 's/#//2' -e 's/[^A-Za-z0-9_]*\([A-Za-z0-9_]*\)/ \1_NUM/2' genassym.o > ${@}