CasperSecurity

Current Path : /usr/src/linux-headers-5.15.0-170/scripts/
Upload File :
Current File : //usr/src/linux-headers-5.15.0-170/scripts/Makefile.headersinst

# SPDX-License-Identifier: GPL-2.0
# ==========================================================================
# Installing headers
#
# All headers under include/uapi, include/generated/uapi,
# arch/<arch>/include/uapi and arch/<arch>/include/generated/uapi are
# exported.
# They are preprocessed to remove __KERNEL__ section of the file.
#
# ==========================================================================

PHONY := __headers
__headers:

include $(srctree)/scripts/Kbuild.include

src := $(srctree)/$(obj)
gen := $(objtree)/$(subst include/,include/generated/,$(obj))
dst := usr/include

-include $(src)/Kbuild

# $(filter %/, ...) is a workaround for GNU Make <= 4.2.1, where
# $(wildcard $(src)/*/) contains not only directories but also regular files.
src-subdirs := $(patsubst $(src)/%/,%,$(filter %/, $(wildcard $(src)/*/)))
gen-subdirs := $(patsubst $(gen)/%/,%,$(filter %/, $(wildcard $(gen)/*/)))
all-subdirs := $(sort $(src-subdirs) $(gen-subdirs))

src-headers := $(if $(src-subdirs), $(shell cd $(src) && find $(src-subdirs) -name '*.h'))
src-headers := $(filter-out $(no-export-headers), $(src-headers))
gen-headers := $(if $(gen-subdirs), $(shell cd $(gen) && find $(gen-subdirs) -name '*.h'))
gen-headers := $(filter-out $(no-export-headers), $(gen-headers))

# If the same header is exported from source and generated directories,
# the former takes precedence, but this should be warned.
duplicated := $(filter $(gen-headers), $(src-headers))
$(if $(duplicated), $(warning duplicated header export: $(duplicated)))

gen-headers := $(filter-out $(duplicated), $(gen-headers))

# Add dst path prefix
all-subdirs := $(addprefix $(dst)/, $(all-subdirs))
src-headers := $(addprefix $(dst)/, $(src-headers))
gen-headers := $(addprefix $(dst)/, $(gen-headers))
all-headers := $(src-headers) $(gen-headers)

# Work out what needs to be removed
old-subdirs := $(wildcard $(all-subdirs))
old-headers := $(if $(old-subdirs),$(shell find $(old-subdirs) -name '*.h'))
unwanted    := $(filter-out $(all-headers), $(old-headers))

# Create directories
existing-dirs := $(sort $(dir $(old-headers)))
wanted-dirs   := $(sort $(dir $(all-headers)))
new-dirs      := $(filter-out $(existing-dirs), $(wanted-dirs))
$(if $(new-dirs), $(shell mkdir -p $(new-dirs)))

# Rules
quiet_cmd_install = HDRINST $@
      cmd_install = $(CONFIG_SHELL) $(srctree)/scripts/headers_install.sh $< $@

$(src-headers): $(dst)/%.h: $(src)/%.h $(srctree)/scripts/headers_install.sh FORCE
	$(call if_changed,install)

$(gen-headers): $(dst)/%.h: $(gen)/%.h $(srctree)/scripts/headers_install.sh FORCE
	$(call if_changed,install)

quiet_cmd_remove = REMOVE  $(unwanted)
      cmd_remove = rm -f $(unwanted)

__headers: $(all-headers)
ifneq ($(unwanted),)
	$(call cmd,remove)
endif
	@:

existing-headers := $(filter $(old-headers), $(all-headers))

-include $(foreach f,$(existing-headers),$(dir $(f)).$(notdir $(f)).cmd)

PHONY += FORCE
FORCE:

.PHONY: $(PHONY)
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY