I'm looking for some key works which could sum up the below. I'm going to purchase a book or a few books to help me understand these areas. Would anyone be able to suggest books or a book on this topic.
The topic is:
I want to understand more about building software, understanding how a program links to it's dependencies an why we link a program in certain ways. At this stage I'm trying to use open source software.
For example: Recently I have attempted to build some program source code though it required the Binary / Include/ and Lib directory of another program in it's makefile. When I included those three directories (i did this using a relative path), the build process worked. Given this... I still don't understand why I included those directories or how this somehow connects to the larger program.
Also. .. I don't understand why we set the Bin Path of my compiler in the system variables and how this assists the program build process or it's actual operation.
It will be tempting to pick apart this question and answer parts individually but I'm taking a longer term view. Undersanding the answers to these questions must fall under a field of study but I just don't know what that field of study is? Maybe 'project administratioN'? OR 'Understanding program communication/archtecture'. I have no doubt someone out there will have some idea what I'm talking about.
Websites are marginally useful because they have often not been edidted like books and will often contain more technical speak which clouds the main topic being explained. If anyone does have some suggestions I would be glad to hear from your.
Thanks so much.