get rid of the last symlink in uml build
We need to make asm-offsets.h contents visible for objects built with userland headers. Instead of creating a symlink, just have the file with equivalent include (relative to location of header) created once. That kills the last symlink used in arch/um builds. Additionally, both generated headers can become dependencies of archprepare now, killing the misuse of prepare. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
fe0bdec68b
commit
22409f9c80
1 changed files with 11 additions and 14 deletions
|
@ -22,10 +22,11 @@ MODE_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include/shared/skas
|
|||
|
||||
include $(srctree)/$(ARCH_DIR)/Makefile-skas
|
||||
|
||||
ARCH_INCLUDE := -I$(srctree)/$(ARCH_DIR)/include/shared
|
||||
SHARED_HEADERS := $(ARCH_DIR)/include/shared
|
||||
ARCH_INCLUDE := -I$(srctree)/$(SHARED_HEADERS)
|
||||
ARCH_INCLUDE += -I$(srctree)/$(ARCH_DIR)/sys-$(SUBARCH)/shared
|
||||
ifneq ($(KBUILD_SRC),)
|
||||
ARCH_INCLUDE += -I$(ARCH_DIR)/include/shared # for two generated files
|
||||
ARCH_INCLUDE += -I$(SHARED_HEADERS)
|
||||
endif
|
||||
KBUILD_CPPFLAGS += -I$(srctree)/$(ARCH_DIR)/sys-$(SUBARCH)
|
||||
|
||||
|
@ -85,8 +86,8 @@ endef
|
|||
|
||||
KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)
|
||||
|
||||
archprepare: $(ARCH_DIR)/include/shared/user_constants.h
|
||||
prepare: $(ARCH_DIR)/include/shared/kern_constants.h
|
||||
archprepare: $(SHARED_HEADERS)/user_constants.h
|
||||
archprepare: $(SHARED_HEADERS)/kern_constants.h
|
||||
|
||||
LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
|
||||
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib
|
||||
|
@ -119,17 +120,13 @@ endef
|
|||
# When cleaning we don't include .config, so we don't include
|
||||
# TT or skas makefiles and don't clean skas_ptregs.h.
|
||||
CLEAN_FILES += linux x.i gmon.out \
|
||||
$(ARCH_DIR)/include/shared/user_constants.h \
|
||||
$(ARCH_DIR)/include/shared/kern_constants.h
|
||||
$(SHARED_HEADERS)/user_constants.h \
|
||||
$(SHARED_HEADERS)/kern_constants.h
|
||||
|
||||
archclean:
|
||||
@find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \
|
||||
-o -name '*.gcov' \) -type f -print | xargs rm -f
|
||||
|
||||
$(objtree)/$(ARCH_DIR)/include/shared:
|
||||
@echo ' MKDIR $@'
|
||||
$(Q)mkdir -p $@
|
||||
|
||||
# Generated files
|
||||
|
||||
$(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s: FORCE
|
||||
|
@ -148,11 +145,11 @@ define filechk_gen-asm-offsets
|
|||
echo ""; )
|
||||
endef
|
||||
|
||||
$(ARCH_DIR)/include/shared/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s
|
||||
$(SHARED_HEADERS)/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s
|
||||
$(call filechk,gen-asm-offsets)
|
||||
|
||||
$(ARCH_DIR)/include/shared/kern_constants.h: $(objtree)/$(ARCH_DIR)/include/shared
|
||||
@echo ' SYMLINK $@'
|
||||
$(Q)ln -sf ../../../../include/asm/asm-offsets.h $@
|
||||
$(SHARED_HEADERS)/kern_constants.h:
|
||||
$(Q)mkdir -p $(dir $@)
|
||||
$(Q)echo '#include "../../../../include/asm/asm-offsets.h"' >$@
|
||||
|
||||
export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH
|
||||
|
|
Loading…
Reference in a new issue