title: makefile error: undefined reference to main
body: <p>I am trying to compile my piece of code using make. Normally I compile my code like this:</p>
  
  <pre><code>mipsisa32r2el-timesys-linux-gnu-g++ -o testing -I/usr/include/libxml2 -L/develop/xc4/rootfs/parsecpp/lib -L/develop/xc4/rootfs/parsecpp/sqlite-mips2/lib -I/develop/xc4/rootfs/parsecpp/sqlite-mips2/include db.cpp main.cpp networkinterfacemodule.cpp network.cpp multiplex.cpp program.cpp service.cpp -lsqlite3 -lxml2
  </code></pre>
  
  <p>To get rid of this long command I tried to write a makefile:</p>
  
  <pre><code>CC= mipsisa32r2el-timesys-linux-gnu-g++
  
  export LD_LIBRARY_PATH=:/parsecpp/sqlite-mips2/lib:/parsecpp/lib:/tmp/vixs_temp/DirectFB/single_core/lib
  
  
  CFLAGS=-I/usr/include/libxml2 -I/develop/xc4/rootfs/parsecpp/sqlite-mips2/include
  
  LDFLAGS=-L/develop/xc4/rootfs/parsecpp/lib -L/develop/xc4/rootfs/parsecpp/sqlite-mips2/lib
  
  LIBS = -lsqlite3 -lxml2
  
  PROG=testing
  
  all: main.o db.o mod.o multiplex.o network.o networkinterfacemodule.o program.o service.o
      $(CC) -o $(PROG) $(CFLAGS) $(LDFLAGS)  main.o db.o mod.o multiplex.o network.o networkinterfacemodule.o program.o service.o $(LIBS) 
  
  main.o: main.cpp 
      $(CC) $(CFLAGS) $(LDFLAGS) main.cpp db.cpp networkinterfacemodule.cpp mod.cpp multiplex.cpp network.cpp program.cpp service.cpp $(LIBS)
  
  db.o: db.cpp 
      $(CC) $(CFLAGS) $(LDFLAGS) db.cpp $(LIBS)
  
  
  mod.o: mod.cpp
      $(CC) $(CFLAGS) $(LDFLAGS) mod.cpp $(LIBS)
  
  multiplex.o: multiplex.cpp
      $(CC) $(CFLAGS) $(LDFLAGS) multiplex.cpp $(LIBS)
  
  network.o: network.cpp
      $(CC) $(CFLAGS) $(LDFLAGS) network.cpp $(LIBS)
  
  networkmoduleinterface.o: networkinterfacemodule.cpp
      $(CC) $(CFLAGS) $(LDFLAGS) networkinterfacemodule.cpp $(LIBS)
  
  program.o: program.cpp
      $(CC) $(CFLAGS) $(LDFLAGS) program.cpp $(LIBS)
  
  service.o: service.cpp
      $(CC) $(CFLAGS) $(LDFLAGS) service.cpp $(LIBS)
  
  clean:
      rm -rf *o testing
  </code></pre>
  
  <p>Then I get this error:</p>
  
  <pre><code>/opt/timesys/linux-gnu/toolchain/bin/../../toolchain/lib/crt1.o: In function `__start':
  (.text+0xc): undefined reference to `main'
  /opt/timesys/linux-gnu/toolchain/bin/../../toolchain/lib/crt1.o: In function `__start':
  (.text+0x10): undefined reference to `main'
  collect2: ld returned 1 exit status
  make: *** [db.o] Error 1
  </code></pre>
  
  <p>Can anybody help me?</p>