+
+#
+# Generic Install rules
+#
+INSTALL_FILE_FILES = $(addprefix $(DSTROOT)$(INSTALL_FILE_DIR), $(INSTALL_FILE_LIST))
+INSTALL_FILE_FILES_GENERIC = $(filter-out $(DSTROOT)$(INSTALL_FILE_DIR)mach.$(KERNEL_CONFIG_LC).$(MACHINE_CONFIG_LC), $(INSTALL_FILE_FILES))
+
+force_file_install:
+
+$(INSTALL_FILE_FILES_GENERIC): $(DSTROOT)$(INSTALL_FILE_DIR)% : $(TARGET)/% force_file_install
+ @echo Installing $< in $@;
+ $(_v)if [ ! -e $(DSTROOT)$(INSTALL_FILE_DIR) ]; then \
+ $(MKDIR) $(DSTROOT)$(INSTALL_FILE_DIR); \
+ fi; \
+ if [ "`echo $(INSTALL_ARCHS_LC) | wc -w`" -eq 1 ]; then \
+ $(RM) $(RMFLAGS) $@; \
+ install $(FILE_INSTALL_FLAGS) $< $@; \
+ else \
+ if [ ! -e $@ ]; then \
+ echo >empty_file_$(notdir $@); \
+ lipo_arg="$(subst _empty_file, empty_file_$(notdir $@),$(foreach lipo_arch,$(INSTALL_ARCHS_LC), $(addprefix -arch , $(addsuffix _empty_file, $(lipo_arch)))))"; \
+ $(LIPO) $${lipo_arg} -create -output $@; \
+ $(RM) $(RMFLAGS) empty_file_$(notdir $@); \
+ fi; \
+ $(LIPO) $@ -replace $(ARCH_CONFIG_LC) $< -o $@; \
+ fi; \
+ if [ $(BUILD_DWARF) -eq 1 ]; then \
+ if [ "`echo $(INSTALL_ARCHS_LC) | wc -w`" -eq 1 ]; then \
+ $(CP) -f $< $<.ctfsys; \
+ $(FIND) $(OBJPATH)/ -name \*.ctf -size 0 \
+ -exec $(RM) -rf {} \; ; \
+ $(CTFMERGE) -l xnu -o $<.ctfsys \
+ $(OBJPATH)/*/$(KERNEL_CONFIG)/*.*o.ctf || true; \
+ install $(FILE_INSTALL_FLAGS) $<.ctfsys $(dir $@); \
+ else \
+ if [ ! -e $@.ctfsys ]; then \
+ echo >empty_file_$(notdir $@); \
+ lipo_arg="$(subst _empty_file, empty_file_$(notdir $@),$(foreach lipo_arch,$(INSTALL_ARCHS_LC), $(addprefix -arch , $(addsuffix _empty_file, $(lipo_arch)))))"; \
+ $(LIPO) $${lipo_arg} -create -output $@.ctfsys;\
+ $(RM) $(RMFLAGS) empty_file_$(notdir $@);\
+ fi; \
+ $(FIND) $(OBJPATH)/ -name \*.ctf -size 0 \
+ -exec $(RM) -rf {} \; ; \
+ $(CP) -f $< $<.ctfsys; \
+ $(CTFMERGE) -l xnu -o $<.ctfsys \
+ $(OBJPATH)/*/$(KERNEL_CONFIG)/*.*o.ctf || true; \
+ $(LIPO) $@.ctfsys -replace $(ARCH_CONFIG_LC) \
+ $<.ctfsys -o $@.ctfsys; \
+ fi; \
+ fi
+