Re: Mutli-directory module Makefiles

From: Jakub Kicinski
Date: Thu Jan 25 2018 - 14:47:54 EST


On Thu, 25 Jan 2018 22:08:34 +0900, Masahiro Yamada wrote:
> 2018-01-23 6:46 GMT+09:00 Jakub Kicinski <kubakici@xxxxx>:
> > 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