[Scons-users] dependency tracking across sub directories
Ram Bhamidipaty
rambham at gmail.com
Mon Oct 22 00:23:34 EDT 2012
On Sun, Oct 21, 2012 at 6:59 PM, William Deegan
<bill at baddogconsulting.com> wrote:
> Ram,
>
> On Oct 21, 2012, at 4:49 PM, Ram Bhamidipaty <rambham at gmail.com> wrote:
>
>> I have a source setup like this:
>>
>> <root>
>> <root>SConstruct
>>
>> <root>/lib1/lib1.c
>>
>> <root>/bin1/bin1.c
>>
>> The binary bin1 depends on the library lib1.
>>
>> What is a good way to track this? I currently have SConscript files in
>> each sub directory. The problem I am running into is that the
>> SConscript file in the bin directory needs to depend on the library
>> Node object. But how I get that object into the SConscript file.
>>
>> I suppose I could have the lib1/SConstript file return an object and
>> then that could be passed to the bin1/SConscript - but that seems
>> wrong - then the SConscript files themselves will have dependencies
>> (need to do lib/SConscript before bin/SConscript). Seems messy.
>>
>> Is it better to have everything in the one SConscruct file?
>
> Assuming you set the directory that your library is built into in your env['LIBPATH'] list, then you should just be able to specify the library(ies) in the LIBS in your program statement.
>
> Hmm. I was just looking at the documents and we don't have a good example in them.
>
>
> so if you build your library into libdir then in your bin1 dir's SConscript
> env.Program('bin',['bin1.c'],LIBDIR=['../libdir'],LIBS=['lib1'])
>
Thank you. I did later find this in the user guide. It would be
helpful if it were in the man page as well.
-Ram
More information about the Scons-users
mailing list