diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-09-26 07:53:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-09-27 14:11:22 +0200 |
commit | b5f99965b6c9e76f0e12737d2b3424281e28ca5a (patch) | |
tree | 223502683f964c907d15dfe8bbeb681045f646e6 /scripts/Makefile | |
parent | 371c36da4850c410f94a2911fb2e72a227a750f6 (diff) | |
download | barebox-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/Makefile | 13 |
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) |