X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..f427ee49d309d8fc33ebf3042c3a775f2f530ded:/pexpert/conf/Makefile.template?ds=inline diff --git a/pexpert/conf/Makefile.template b/pexpert/conf/Makefile.template index 526b89513..92b00f7ac 100644 --- a/pexpert/conf/Makefile.template +++ b/pexpert/conf/Makefile.template @@ -5,16 +5,6 @@ # the terms and conditions for use and redistribution. # -# -# Export IDENT for sub-makefiles -# -export IDENT - -# -# XXX: INCFLAGS -# -INCFLAGS_MAKEFILE= $(INCFLAGS_POSIX) - export MakeInc_cmd=${SRCROOT}/makedefs/MakeInc.cmd export MakeInc_def=${SRCROOT}/makedefs/MakeInc.def export MakeInc_rule=${SRCROOT}/makedefs/MakeInc.rule @@ -24,20 +14,15 @@ include $(MakeInc_cmd) include $(MakeInc_def) # -# XXX: CFLAGS +# CFLAGS # -# -D_KERNEL_BUILD -DKERNEL_BUILD -DARCH_PRIVATE -DBSD_BUILD -DMACH_KERNEL -# -CFLAGS+= -imacros meta_features.h -DPEXPERT_KERNEL_PRIVATE -DKERNEL -DDRIVER_PRIVATE \ - -Wall -Wno-four-char-constants -fno-common \ - -DRelease3CompatibilityBuild $(CFLAGS_INLINE_CONFIG) - -SFLAGS+= -DKERNEL +CFLAGS+= -include meta_features.h -DPEXPERT_KERNEL_PRIVATE +SFLAGS+= -include meta_features.h # # Directories for mig generated files # -COMP_SUBDIRS = +COMP_SUBDIRS = # # Make sure we don't remove this by accident if interrupted at the wrong @@ -57,37 +42,54 @@ COMP_SUBDIRS = %CFILES -%MFILES +%CXXFILES %SFILES -%BFILES - -%ORDERED %MACHDEP # -# OBJSDEPS is the set of files (defined in the machine dependent -# template if necessary) which all objects depend on (such as an -# in-line assembler expansion filter) -# -${OBJS}: ${OBJSDEPS} - - -%LOAD - -LDOBJS = $(OBJS) - -$(COMPONENT).o: $(LDOBJS) - @echo LD $(COMPONENT) - $(_v)$(LD) $(LDFLAGS_COMPONENT) -o $(COMPONENT).o ${LDOBJS} - -do_depend: do_all - $(_v)${MD} -u Makedep -f -d `ls *.d`; - -do_all: $(COMPONENT).o - -do_build_all: do_depend +# Diagnostic opt-outs. We need to make this list empty. +# +# DO NOT ADD MORE HERE. +# +# -Wno-cast-align +pe_identify_machine.o_CFLAGS_ADD += -Wno-cast-align +# -Wno-implicit-int-conversion +pe_serial.o_CFLAGS_ADD += -Wno-implicit-int-conversion +# -Wno-shorten-64-to-32 +pe_identify_machine.o_CFLAGS_ADD += -Wno-shorten-64-to-32 +pe_init.o_CFLAGS_ADD += -Wno-shorten-64-to-32 +# -Wno-sign-conversion +bootargs.o_CFLAGS_ADD += -Wno-sign-conversion +device_tree.o_CFLAGS_ADD += -Wno-sign-conversion +pe_identify_machine.o_CFLAGS_ADD += -Wno-sign-conversion +pe_init.o_CFLAGS_ADD += -Wno-sign-conversion +pe_serial.o_CFLAGS_ADD += -Wno-sign-conversion + +# Rebuild if per-file overrides change +${OBJS}: $(firstword $(MAKEFILE_LIST)) + +# Rebuild if global compile flags change +$(COBJS): .CFLAGS +.CFLAGS: ALWAYS + $(_v)$(REPLACECONTENTS) $@ $(KCC) $(CFLAGS) $(INCFLAGS) +$(CXXOBJS): .CXXFLAGS +.CXXFLAGS: ALWAYS + $(_v)$(REPLACECONTENTS) $@ $(KC++) $(CXXFLAGS) $(INCFLAGS) +$(SOBJS): .SFLAGS +.SFLAGS: ALWAYS + $(_v)$(REPLACECONTENTS) $@ $(S_KCC) $(SFLAGS) $(INCFLAGS) + +$(COMPONENT).filelist: $(OBJS) + @$(LOG_LDFILELIST) "$(COMPONENT)" + $(_v)for obj in ${OBJS}; do \ + $(ECHO) $(TARGET)/$(CURRENT_KERNEL_CONFIG)/$${obj}; \ + done > $(COMPONENT).filelist + +do_all: $(COMPONENT).filelist + +do_build_all:: do_all %RULES