title: (.text+0x20): undefined reference to `main' and undefined reference to function
body: <p>I am having issue getting my makefile to work without errors. The first issue i have is with an undefined reference to main. I have main in my producer.c file as a function. The second issue is an undefined reference to SearchCustomer().</p>
  
  <p>error:</p>
  
  <pre><code>bash-4.1$ make
  gcc -Wall -c producer.c shared.h
  gcc -Wall -c consumer.c shared.h
  gcc -Wall -c AddRemove.c shared.h
  gcc -pthread -Wall -o producer.o consumer.o AddRemove.o
  /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: In function `_start':
  (.text+0x20): undefined reference to `main'
  AddRemove.o: In function `AddRemove':
  AddRemove.c:(.text+0xb1): undefined reference to `SearchCustomer'
  AddRemove.c:(.text+0x1e9): undefined reference to `SearchCustomer'
  AddRemove.c:(.text+0x351): undefined reference to `SearchCustomer'
  collect2: ld returned 1 exit status
  make: *** [producer] Error 1
  </code></pre>
  
  <p>makefile:</p>
  
  <pre><code>COMPILER = gcc
  CCFLAGS = -Wall
  all: main
  
  debug:
      make DEBUG=TRUE
  
  
  main: producer.o consumer.o AddRemove.o
      $(COMPILER) -pthread $(CCFLAGS) -o producer.o consumer.o AddRemove.o
  producer.o: producer.c shared.h
      $(COMPILER) $(CCFLAGS) -c producer.c shared.h
  consumer.o: consumer.c shared.h
      $(COMPILER) $(CCFLAGS) -c consumer.c shared.h
  AddRemove.o: AddRemove.c shared.h
      $(COMPILER) $(CCFLAGS) -c AddRemove.c shared.h
  
  
  ifeq ($(DEBUG), TRUE)
      CCFLAGS += -g
  endif
  
  clean:
      rm -f *.o
  </code></pre>