summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-09-26 07:53:11 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-09-27 14:11:22 +0200
commitb5f99965b6c9e76f0e12737d2b3424281e28ca5a (patch)
tree223502683f964c907d15dfe8bbeb681045f646e6 /scripts/Makefile
parent371c36da4850c410f94a2911fb2e72a227a750f6 (diff)
downloadbarebox-b5f99965b6c9e76f0e12737d2b3424281e28ca5a.tar.gz
barebox-b5f99965b6c9e76f0e12737d2b3424281e28ca5a.tar.xz
scripts/Makefile: implement targetprogs-y
using obj-y for targetprogs only works until only a single program is compiled. Adding the second one will end up in the linker trying to link both together. Add targetprogs-y to fix this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts/Makefile')
-rw-r--r--scripts/Makefile13
1 files changed, 8 insertions, 5 deletions
diff --git a/scripts/Makefile b/scripts/Makefile
index b6fd1f1320..7d98a2d2f8 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -21,7 +21,7 @@ subdir-$(CONFIG_ARCH_IMX) += imx
subdir-$(CONFIG_X86) += setupmbr
subdir-$(CONFIG_DTC) += dtc
-targetprogs-y += bareboxenv-target
+targetprogs-$(CONFIG_BAREBOXENV_TARGET) += bareboxenv-target
HOSTLOADLIBES_omap4_usbboot = -lpthread
omap4_usbboot-objs := usb_linux.o omap4_usbboot.o
@@ -33,9 +33,12 @@ subdir- += basic kconfig setupmbr
quiet_cmd_csingle = CC $@
cmd_csingle = $(CC) -Wp,-MD,$(depfile) $(CFLAGS) -o $@ $<
-obj-$(CONFIG_BAREBOXENV_TARGET) += bareboxenv-target
+__targetprogs := $(sort $(targetprogs-y) $(targetprogs-m))
+target-csingle := $(foreach m,$(__targetprogs),$(if $($(m)-objs),,$(m)))
+__targetprogs := $(addprefix $(obj)/,$(__targetprogs))
+target-csingle := $(addprefix $(obj)/,$(target-csingle))
-scripts/bareboxenv-target: scripts/bareboxenv.c FORCE
- $(call if_changed_dep,csingle)
+always := $(hostprogs-y) $(hostprogs-m) $(targetprogs-y)
-always := $(hostprogs-y) $(hostprogs-m)
+$(target-csingle): %-target: %.c FORCE
+ $(call if_changed_dep,csingle)