aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2006-08-07 15:55:33 -0400
committerSam Ravnborg <sam@neptun.ravnborg.org>2006-09-25 03:04:42 -0400
commit7b5b82038184d19f611be166a70fd11824109a71 (patch)
tree7b15974983018edbe8125d2bb670f2e2b6610091
parent93659af1ce4974b1882668fee06458c0ac9315fd (diff)
kbuild: create output directory for hostprogs with O=.. build
hostprogs-y only supported creating output directory for the final program. Extend this to also cover the situation where a .o file (used when host program is made from compositie objects) is locate in another directory. First user of this is the built-in lxdialog that. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--scripts/Makefile.host21
1 files changed, 16 insertions, 5 deletions
diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 060f4c563a5c..d74dd0fc69ca 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -32,11 +32,6 @@
32 32
33__hostprogs := $(sort $(hostprogs-y) $(hostprogs-m)) 33__hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
34 34
35# hostprogs-y := tools/build may have been specified. Retreive directory
36host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
37host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
38
39
40# C code 35# C code
41# Executables compiled from a single .c file 36# Executables compiled from a single .c file
42host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m))) 37host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
@@ -65,6 +60,21 @@ host-cobjs := $(filter-out %.so,$(host-cobjs))
65#Object (.o) files used by the shared libaries 60#Object (.o) files used by the shared libaries
66host-cshobjs := $(sort $(foreach m,$(host-cshlib),$($(m:.so=-objs)))) 61host-cshobjs := $(sort $(foreach m,$(host-cshlib),$($(m:.so=-objs))))
67 62
63# output directory for programs/.o files
64# hostprogs-y := tools/build may have been specified. Retreive directory
65host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
66# directory of .o files from prog-objs notation
67host-objdirs += $(foreach f,$(host-cmulti), \
68 $(foreach m,$($(f)-objs), \
69 $(if $(dir $(m)),$(dir $(m)))))
70# directory of .o files from prog-cxxobjs notation
71host-objdirs += $(foreach f,$(host-cxxmulti), \
72 $(foreach m,$($(f)-cxxobjs), \
73 $(if $(dir $(m)),$(dir $(m)))))
74
75host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
76
77
68__hostprogs := $(addprefix $(obj)/,$(__hostprogs)) 78__hostprogs := $(addprefix $(obj)/,$(__hostprogs))
69host-csingle := $(addprefix $(obj)/,$(host-csingle)) 79host-csingle := $(addprefix $(obj)/,$(host-csingle))
70host-cmulti := $(addprefix $(obj)/,$(host-cmulti)) 80host-cmulti := $(addprefix $(obj)/,$(host-cmulti))
@@ -75,6 +85,7 @@ host-cshlib := $(addprefix $(obj)/,$(host-cshlib))
75host-cshobjs := $(addprefix $(obj)/,$(host-cshobjs)) 85host-cshobjs := $(addprefix $(obj)/,$(host-cshobjs))
76host-objdirs := $(addprefix $(obj)/,$(host-objdirs)) 86host-objdirs := $(addprefix $(obj)/,$(host-objdirs))
77 87
88$(warning host-objdirs=$(host-objdirs))
78obj-dirs += $(host-objdirs) 89obj-dirs += $(host-objdirs)
79 90
80##### 91#####