title: What is this Makefile Doing?
body: <p>I'm new using makefiles and I have some makefiles.  One of them has these statements I tried to understand but I can't.</p>
  <h3>What is this makefile doing?</h3>
  <pre><code># debugging support
  ifeq ($(DEBUG), true)
  CFLAGS+=-DDEBUG -g
  endif 
  
  ifeq ($(DEBUG), gdb)
  CFLAGS+=-g
  endif
  
  ifeq ($(PROFILING), true)
  CFLAGS+=-p
  endif
  
  # symbolic names debugging
  ifeq ($(DEBUG_NAMES), true)
  CFLAGS+=-DDEBUG_NAMES
  endif 
  
  # architecture TODO: add others
  ifeq ($(ARCH), unix)
  CFLAGS+=-DUNIX
  endif
  
  # TODO: GC settings
  ifeq ($(HEAP), malloc)
  CFLAGS+=-DHEAP_MALLOC
  endif
  
  ifeq ($(STACK), malloc)
  CFLAGS+=-DSTACK_MALLOC
  endif
  
  # class loading method
  ifeq ($(CLASS), external)
  CFLAGS+=-DEXTERNAL_TUK
  endif
  
  # monitor allocation
  ifeq ($(MONITORS), ondemand)
  CFLAGS+=-DON_DEMAND_MONITORS
  endif
  </code></pre>
  <p>Amri</p>