title: Creating a project, from Makefile to static/dynamic libraries in UNIX
body: <p>Guys, would you describe a few things about c++ building blocks, on unix. </p>
  
  <p>I want to create an application that links against static libs and dynamic libs (.so). </p>
  
  <p><strong>Question 1:</strong> <em>How do I create static library using gcc/g++ ?How do  I make my app link against it.</em></p>
  
  <p><strong>Question 2:</strong> <em>How to specify it in the makefile, linking against static and dynamic libs, assuming that both libraries have header files</em></p>
  
  <p>Summary: I have been using makefiles and libraries for years, written by someone else. Thus every time I modified it, I simply cut-and-pasted things around, without really understanding it. Now I want to get down to the ground and understand the building/linking/Creating Makfile process in-depth.</p>
  
  <p><em>What is a good book describing these concepts in intimate details?</em></p>
  
  <p>Thanks</p>