[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH v8 27/47] build: grab common EFI source files in arch specific dir


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • Date: Tue, 18 Jan 2022 16:49:29 +0000
  • Authentication-results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, "Bertrand Marquis" <bertrand.marquis@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 18 Jan 2022 16:49:57 +0000
  • Ironport-data: A9a23:AOBKBauyDN0yIi1vfxYkqTxasefnVBdYMUV32f8akzHdYApBsoF/q tZmKTuEOfmJZTakfdwjatvioEwH7cTXz9U2T1Bqqy1mFyMV+JbJXdiXEBz9bniYRiHhoOOLz Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYx2IjhWmthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ NpliMa/VQoXfa33n7oWdT16GAEkEIdX5+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DNYUDunZm3HfBAOwvW5zrSKTW/95Imjw3g6iiGN6AO 5FGNmsyMXwsZTVyKEgVDps/rdu2xSXAWRdG8lLI/oQ4tj27IAtZj+G2bYu9lsaxbftSmkGUt 2fX5VPTCxsRNMGc4Ted+3fqjejK9QvkXKoCGbv+8eRl6HWDy2pWBBAIWF+TpfiillX4S99ZM 1YT+Cclse417kPDZtPwRQGiqXiI+BsVQcNNEvYS4RuIjKHT5m6xB3cGZi5MbsQ8s807TiBs0 UWG9/vrDzFytLyeSVqG66yZ6zi1PEA9NnQebCUJSQ8E5djLo4wpiB/LCNF5H8adjMDxGDz26 yCHqm45nbp7sCIQ//zlpxad2Wvq/8WXCF5ujunKYo67xj4ja5KoWc+o0l+F5tBkDo25FHSrr WdRzqBy89syJZ2KkSWMRsAEE7eo++uJPVXgvLJ/I3Uy32/zoiD+JOi89Bk7fR40aZhcJVcFd WeK4VsJjKK/KkdGekOej2iZL80xhZbtGt3+Phw/RoofO8MhHONrEcwHWKJx44wPuBV0+U3cE c3CGSpJMZr8If44pNZRb71MuYLHPghkmQvuqWnTlnxLK4a2an+PUqsiO1CTdO0/567siFyLr 4wDa5fblUkECrCWjszrHWg7dw9iwZ8TX8GeliCqXrTbfloO9J8JVpc9Po/Ni6Q6xv8Ix48kD 1m2W1NCyUqXuJE0AV7iV5yXU5u2BcwXhStiZUQEZA/0s1B+P9rHxPpBJvMfIOl2nMQ+nKUcZ 6RUJK297gFnF26vF8I1N8et9eSPtX2D2GqzAsZSSGNuIM47GV2Yo4+Mk8mG3HBmMxdbfPAW+ 9WIvj43i7JaL+i7JMqJOv+p0X2run0RxLB7U0fSe4EBc0Tw6ol6bSf2i6Zvcc0LLBzCwBqc1 hqXXkhE9bWc/ddt/Ymbn72AoqeoD/B6QhhQEV7E4OvkLiLd5Gein9NNCb7aYTDHWWro06y+f uEJnerkOfgKkQ8S4YpxGrpm14wk4N7rq+MIxwhoBiyTPV+qFqlhMj+N2swW7v9BwbpQuA2XX EOT+4YFZeXVaZ29SFNIfVgrdOWO0/0QiwL+1/VtLRWo/jJz8ZqGTV5WY0uGhhtCIeYnK4gi2 +og5pIbslTtlhowP9+apSlI7GDQfGcYWqAqu5xGUo/mjg0nlgNLbZDGU3Kk5ZiOb5NHM1UwI y/Sj63H3uwOyk3Hens1NH7MwesC2she5EEUlAcPdwaTh97Ipv4rxxkAoz04QzNcwghDz+8ua HNgMFd4JPnW8jpl7CSZs7tAx+2V6MWlx3HM
  • Ironport-hdrordr: A9a23:YuJ4RKyFk+TZTk9NiFQiKrPwLL1zdoMgy1knxilNoRw8SKKlfu SV7ZAmPH7P+VMssR4b9OxoVJPtfZqYz+8T3WBzB8bBYOCFgguVxehZhOOIqQEIWReOldK1vZ 0QFZSWY+eQMbEVt6nH3DU=
  • Ironport-sdr: P36h00nDnj/631sx2cXE7KFAKE1rCXI5WuCg921nMGWCkYfeCBK+7DrXSdA3aym83Q9r9mUSot eGiCu9ckyg53CT/xgLJzecqLAZDgdafrqS2eQS+2xasW4M+BdYbyCdc1emF+D7fjJUDNK4Wzso DKj2T7XoOfU90i1A96WVxN4gXIs7IggFWEYJs4jjWMSHVMWXFER6jh74mmHz6heYqBGAdONVvv mp1dqqI7UZ4uZH+WDzNV25eYF1XBzpnV5gmIeT25eiNcHbEO/bIFUSiFOTI7o269q3HJb16DuV ylMPIDXXDbdjWCQ7qs4qff2m
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Tue, Jan 18, 2022 at 02:49:37PM +0100, Jan Beulich wrote:
> On 18.01.2022 12:06, Anthony PERARD wrote:
> > On Tue, Dec 21, 2021 at 02:53:49PM +0100, Jan Beulich wrote:
> >> On 25.11.2021 14:39, Anthony PERARD wrote:
> >>> Rather than preparing the efi source file, we will make the symbolic
> >>> link as needed from the build location.
> >>>
> >>> The `ln` command is run every time to allow to update the link in case
> >>> the source tree change location.
> >>
> >> Btw, since symlinks aren't being liked, would there be a way to make
> >> things work using vpath?
> > 
> > No, that's not possible. With "vpath = /build/xen/common/efi", make
> > would look at path "/build/xen/common/efi/arch/x86/efi/runtime.c" to
> > build "arch/x86/efi/runtime.o".
> 
> But /build/xen/common/efi/arch/x86/efi/runtime.c doesn't exist (and
> never will afaict), so wouldn't make go on finding the file elsewhere?

If we have the implicit rule
    %.o: %.c

and vpath set.
When trying to build the target "arch/x86/efi/runtime.o", make will try
our above rule and look for "arch/x86/efi/runtime.c" as make will not
remove the directory part from the path. If that prerequisite isn't
found, make will also try to prepend $(VPATH) to it.

I don't think it's not possible to tell make to substitute a directory
for vpath, in a target or prerequisite.

Cheers,

-- 
Anthony PERARD



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.