diff options
Diffstat (limited to 'arch/um/scripts')
| -rw-r--r-- | arch/um/scripts/Makefile.rules | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/arch/um/scripts/Makefile.rules b/arch/um/scripts/Makefile.rules index 2e41cabd3d93..b696b451774c 100644 --- a/arch/um/scripts/Makefile.rules +++ b/arch/um/scripts/Makefile.rules | |||
| @@ -20,25 +20,7 @@ define unprofile | |||
| 20 | $(patsubst -pg,,$(patsubst -fprofile-arcs -ftest-coverage,,$(1))) | 20 | $(patsubst -pg,,$(patsubst -fprofile-arcs -ftest-coverage,,$(1))) |
| 21 | endef | 21 | endef |
| 22 | 22 | ||
| 23 | 23 | ifdef subarch-obj-y | |
| 24 | # cmd_make_link checks to see if the $(foo-dir) variable starts with a /. If | 24 | obj-y += subarch.o |
| 25 | # so, it's considered to be a path relative to $(srcdir) rather than | 25 | subarch-y = $(addprefix ../../$(SUBARCH)/,$(subarch-obj-y)) |
| 26 | # $(srcdir)/arch/$(SUBARCH). This is because x86_64 wants to get ldt.c from | 26 | endif |
| 27 | # arch/um/sys-i386 rather than arch/i386 like the other borrowed files. So, | ||
| 28 | # it sets $(ldt.c-dir) to /arch/um/sys-i386. | ||
| 29 | quiet_cmd_make_link = SYMLINK $@ | ||
| 30 | cmd_make_link = rm -f $@; ln -sf $(srctree)$(if $(filter-out /%,$($(notdir $@)-dir)),/arch/$(SUBARCH))/$($(notdir $@)-dir)/$(notdir $@) $@ | ||
| 31 | |||
| 32 | # this needs to be before the foreach, because targets does not accept | ||
| 33 | # complete paths like $(obj)/$(f). To make sure this works, use a := assignment | ||
| 34 | # or we will get $(obj)/$(f) in the "targets" value. | ||
| 35 | # Also, this forces you to use the := syntax when assigning to targets. | ||
| 36 | # Otherwise the line below will cause an infinite loop (if you don't know why, | ||
| 37 | # just do it). | ||
| 38 | |||
| 39 | targets := $(targets) $(SYMLINKS) | ||
| 40 | |||
| 41 | SYMLINKS := $(foreach f,$(SYMLINKS),$(obj)/$(f)) | ||
| 42 | |||
| 43 | $(SYMLINKS): FORCE | ||
| 44 | $(call if_changed,make_link) | ||
