Message ID | 1315799780-16127-2-git-send-email-marek.vasut@gmail.com |
---|---|
State | Accepted |
Commit | 08e4f700ac450ddc5d4819e23df5bc46eb767464 |
Headers | show |
On 09/11/2011 10:56 PM, Marek Vasut wrote: > Introduce CONFIG_SPL_START_S_PATH to configure path to start.S file. It's not > always fitting to use CPU's start.S . > > Signed-off-by: Marek Vasut <marek.vasut@gmail.com> > --- > spl/Makefile | 10 ++++++++-- > 1 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/spl/Makefile b/spl/Makefile > index 95ecce1..56d8ea1 100644 > --- a/spl/Makefile > +++ b/spl/Makefile > @@ -26,7 +26,13 @@ obj := $(OBJTREE)/spl/ > HAVE_VENDOR_COMMON_LIB := $(shell [ -f $(SRCTREE)/board/$(VENDOR)/common/Makefile ] \ > && echo y || echo n) > > -START := $(CPUDIR)/start.o > +ifdef CONFIG_SPL_START_S_PATH > +START_PATH := $(subst ",,$(CONFIG_SPL_START_S_PATH)) > +else > +START_PATH := $(CPUDIR) > +endif > + > +START := $(START_PATH)/start.o So you can override the path, but not the filename? What if I want to have arch/.../cpu/.../start-nand-spl.o? How about: ifdef CONFIG_SPL_START_FILE START := $(subst ",,$(CONFIG_SPL_START_FILE)) else START := $(CPUDIR)/start.o endif START_PATH := $(dir $(START)) > LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o > LIBS-y += $(CPUDIR)/lib$(CPU).o > @@ -119,7 +125,7 @@ $(obj)u-boot-spl: depend $(START) $(LIBS) $(obj)u-boot-spl.lds > $(GEN_UBOOT) > > $(START): depend > - $(MAKE) -C $(SRCTREE)/$(CPUDIR) $@ > + $(MAKE) -C $(SRCTREE)/$(START_PATH) $@ Yay recursive make. :-P -Scott
On Friday, September 16, 2011 12:54:26 AM Scott Wood wrote: > On 09/11/2011 10:56 PM, Marek Vasut wrote: > > Introduce CONFIG_SPL_START_S_PATH to configure path to start.S file. It's > > not always fitting to use CPU's start.S . > > > > Signed-off-by: Marek Vasut <marek.vasut@gmail.com> > > --- > > > > spl/Makefile | 10 ++++++++-- > > 1 files changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/spl/Makefile b/spl/Makefile > > index 95ecce1..56d8ea1 100644 > > --- a/spl/Makefile > > +++ b/spl/Makefile > > @@ -26,7 +26,13 @@ obj := $(OBJTREE)/spl/ > > > > HAVE_VENDOR_COMMON_LIB := $(shell [ -f > > $(SRCTREE)/board/$(VENDOR)/common/Makefile ] \ > > > > && echo y || echo n) > > > > -START := $(CPUDIR)/start.o > > +ifdef CONFIG_SPL_START_S_PATH > > +START_PATH := $(subst ",,$(CONFIG_SPL_START_S_PATH)) > > +else > > +START_PATH := $(CPUDIR) > > +endif > > + > > +START := $(START_PATH)/start.o > > So you can override the path, but not the filename? What if I want to > have arch/.../cpu/.../start-nand-spl.o? > > How about: > > ifdef CONFIG_SPL_START_FILE > START := $(subst ",,$(CONFIG_SPL_START_FILE)) > else > START := $(CPUDIR)/start.o > endif > > START_PATH := $(dir $(START)) > > > LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o > > LIBS-y += $(CPUDIR)/lib$(CPU).o > > > > @@ -119,7 +125,7 @@ $(obj)u-boot-spl: depend $(START) $(LIBS) > > $(obj)u-boot-spl.lds > > > > $(GEN_UBOOT) > > > > $(START): depend > > > > - $(MAKE) -C $(SRCTREE)/$(CPUDIR) $@ > > + $(MAKE) -C $(SRCTREE)/$(START_PATH) $@ > > Yay recursive make. :-P Yea ... that's why that START_PATH is needed. We can of course have CONFIG_SPL_START_PATH and CONFIG_SPL_START_FILENAME, but I assume right now, this is enough and when needed, the other one can be added. > > -Scott
On 09/15/2011 06:02 PM, Marek Vasut wrote: > On Friday, September 16, 2011 12:54:26 AM Scott Wood wrote: >> How about: >> >> ifdef CONFIG_SPL_START_FILE >> START := $(subst ",,$(CONFIG_SPL_START_FILE)) >> else >> START := $(CPUDIR)/start.o >> endif >> >> START_PATH := $(dir $(START)) >> >>> LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o >>> LIBS-y += $(CPUDIR)/lib$(CPU).o >>> >>> @@ -119,7 +125,7 @@ $(obj)u-boot-spl: depend $(START) $(LIBS) >>> $(obj)u-boot-spl.lds >>> >>> $(GEN_UBOOT) >>> >>> $(START): depend >>> >>> - $(MAKE) -C $(SRCTREE)/$(CPUDIR) $@ >>> + $(MAKE) -C $(SRCTREE)/$(START_PATH) $@ >> >> Yay recursive make. :-P > > Yea ... that's why that START_PATH is needed. Does START_PATH := $(dir $(START)) not work? -scott
On Friday, September 16, 2011 06:16:15 PM Scott Wood wrote: > On 09/15/2011 06:02 PM, Marek Vasut wrote: > > On Friday, September 16, 2011 12:54:26 AM Scott Wood wrote: > >> How about: > >> > >> ifdef CONFIG_SPL_START_FILE > >> START := $(subst ",,$(CONFIG_SPL_START_FILE)) > >> else > >> START := $(CPUDIR)/start.o > >> endif > >> > >> START_PATH := $(dir $(START)) > >> > >>> LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o > >>> LIBS-y += $(CPUDIR)/lib$(CPU).o > >>> > >>> @@ -119,7 +125,7 @@ $(obj)u-boot-spl: depend $(START) $(LIBS) > >>> $(obj)u-boot-spl.lds > >>> > >>> $(GEN_UBOOT) > >>> > >>> $(START): depend > >>> > >>> - $(MAKE) -C $(SRCTREE)/$(CPUDIR) $@ > >>> + $(MAKE) -C $(SRCTREE)/$(START_PATH) $@ > >> > >> Yay recursive make. :-P > > > > Yea ... that's why that START_PATH is needed. > > Does START_PATH := $(dir $(START)) not work? What if you then wanted to have start.o for SPL in x/y/spl/start_spl.o with START_PATH=x/y and START=spl/start_spl.o ? In currect patch, the spl code can be easily extended to support this. Cheers
diff --git a/spl/Makefile b/spl/Makefile index 95ecce1..56d8ea1 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ -26,7 +26,13 @@ obj := $(OBJTREE)/spl/ HAVE_VENDOR_COMMON_LIB := $(shell [ -f $(SRCTREE)/board/$(VENDOR)/common/Makefile ] \ && echo y || echo n) -START := $(CPUDIR)/start.o +ifdef CONFIG_SPL_START_S_PATH +START_PATH := $(subst ",,$(CONFIG_SPL_START_S_PATH)) +else +START_PATH := $(CPUDIR) +endif + +START := $(START_PATH)/start.o LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o LIBS-y += $(CPUDIR)/lib$(CPU).o @@ -119,7 +125,7 @@ $(obj)u-boot-spl: depend $(START) $(LIBS) $(obj)u-boot-spl.lds $(GEN_UBOOT) $(START): depend - $(MAKE) -C $(SRCTREE)/$(CPUDIR) $@ + $(MAKE) -C $(SRCTREE)/$(START_PATH) $@ $(LIBS): depend $(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
Introduce CONFIG_SPL_START_S_PATH to configure path to start.S file. It's not always fitting to use CPU's start.S . Signed-off-by: Marek Vasut <marek.vasut@gmail.com> --- spl/Makefile | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)