[coreboot] how to delete symbol link created at compile time

She, Kerry Kerry.She at amd.com
Fri Oct 14 07:16:50 CEST 2011


Hello, Marc

> -----Original Message-----
> From: Marc Jones [mailto:marcj303 at gmail.com]
> Sent: Friday, October 14, 2011 12:22 PM
> To: She, Kerry
> Cc: coreboot
> Subject: Re: [coreboot] how to delete symbol link created at compile time
> 
> On Thu, Oct 13, 2011 at 3:19 AM, She, Kerry <Kerry.She at amd.com> wrote:
> > Hello,
> >
> >
> >
> > Some mainboard support more than one family of CPUs with same socket
> type,
> >
> > Such as SuperMicro/h8scm:
> >
> > http://www.supermicro.com/Aplus/motherboard/Opteron4100/SR56x0/H8SCM-
> F.cfm
> >
> >
> >
> > My implementation is the mainboard CPU type can be configured as
> family10 or
> > family15 CPU.
> >
> > In order to eliminate the duplicated code, both configuration shares
> most of
> > the platform code,
> >
> > but some code can't be shared between different family of CPUs.
> >
> > Take devicetree.cb as an example,
> >
> > I have created 2 devicetree file :
> >
> > devicetree_f15.cb for platform with family 15 CPU
> >
> > devicetree_f10.cb  for platform with family 10 CPU
> >
> >
> >
> > I changed the makefile to create a symbol link "devicetree.cb" link to
> > devicetree_f10.cb or devicetree_f15.cb at compile time.
> >
> > The problem is that I can't delete the symbol link when make
> > clean/distclean.
> >
> >
> >
> > I found that make clean/distclean will not traverse the src/ directory.
> >
> > How can I get this symbol link removed when doing a make clean.
> >
> > Any other suggestion is welcome.
> >
> > Regards,
> > Kerry Sheh < kerry.she at amd.com>
> > Tel:  86-10-6280-1415
> > Mobile:  86 - 152 1018 2083
> 
> Kerry,
> 
> I thought about a recursive call through the subdirs to do a make
> clean, but that would make a lot of errors for most Makefiles.inc
> because they don't have a clean target. I wonder if there is a better
> way.

Yes, you are right!
My temporary solution is adding a target in the mainboard Makefile,
not modify any of the top level Makefile. 
--- a/src/mainboard/supermicro/h8qgi/Makefile.inc
+++ b/src/mainboard/supermicro/h8qgi/Makefile.inc
@@ -50,3 +50,5 @@ endif
 
 subdirs-y += ../../../../$(AGESA_ROOT)
 
+clean-mainboard:
+	$(RM) $(src)/mainboard/$(MAINBOARDDIR)/devicetree.cb

But I think a better and more generic solution should be considered.
thanks





More information about the coreboot mailing list