title: optional flavours of a target
body: <p>I want to manage some features and setup specific quirks at compile time. Thus, I must be able to modify the list of objects that have to be compiled to make the final target, the compile command and link command. So far I've been in need of using only two flavours of the program, where the other one (say <code>special</code>) one just added some <code>CXXFLAGS</code> and one object file:</p>
  
  <pre><code>specialclient: CXXFLAGS+=-DSPECIALBUILD
  specialclient: LDFLAGS+=-lanotherlib
  specialclient: libanotherlib client
  </code></pre>
  
  <p>where <code>client</code> is the normal target. But now that I need another selectable feature (say <code>peculiar</code>), things start to get complicate, because I want to be able to select any combination of the features; yet I don't want to specify targets for <code>peculiarclient</code> and <code>specialpeculiarclient</code>. I would like to be able to specify each feature in the command line, like <code>make [special] [peculiar] client</code>.</p>
  
  <p>How can I solve this problem?</p>