[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNASkApBQS+AwJpQvQuCuAnfjHrfC3NCNc83Ntu=k8A0pWQ@mail.gmail.com>
Date: Sun, 28 Jan 2018 07:28:04 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Jakub Kicinski <kubakici@...pl>
Cc: Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Sam Ravnborg <sam@...nborg.org>
Subject: Re: Mutli-directory module Makefiles
2018-01-26 4:47 GMT+09:00 Jakub Kicinski <kubakici@...pl>:
> On Thu, 25 Jan 2018 22:08:34 +0900, Masahiro Yamada wrote:
>> 2018-01-23 6:46 GMT+09:00 Jakub Kicinski <kubakici@...pl>:
>> > Hi!
>> >
>> > in drivers/net/ethernet/netronome/nfp there is a module which is built
>> > from C sources in 4 directories. What is the best way to handle that?
>> >
>> > Currently we just add all the objects in one Makefile:
>> >
>> > nfp-objs := \
>> > nfpcore/nfp6000_pcie.o \
>> > nfpcore/nfp_cppcore.o \
>> > etc.
>>
>>
>> I recommend you to refactor the Makefile,
>> adding Makefiles into nfpcore, nic, flower, bpf sub-directories.
>>
>>
>> Also, ifeq is ugly,
>> can you rewrite like follows?
>>
>>
>> nfp-$(CONFIG_NFP_APP_FLOWER) += flower/
>> nfp-$(CONFIG_BPF_SYSCALL) += bpf/
>> nfp-$(CONFIG_NFP_DEBUG) += nfp_net_debugfs.o
>
> I tried that, but what do I build inside the directories? I tried
> adding the objects to nfp-objs, building a lib.a, or trying to build a
> separate object, but it's either ignored or dependency is not obeyed
> and nfp.o complains that the subdirectory object doesn't exist yet
> when the build of subdirectory finishes later :(
>
> Sorry for not spotting your response earlier! It went into Spam for
> some reason :S
>
Sorry, I was misunderstanding.
The notation I suggested
is not supported for composite objects (like nfp-objs, nfp-y).
The only solution is to move all files to the same directory,
as Sam pointed out.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists