title: How to link google test lib (libgtest.a) depending on architecture (ARMEL or i386)?
body: <p>I use Google Test in my C++ project.  I build the target either for my i386 virtual machine or for the real ARMEL target.  What I would like to do is have my Makefile link in the correct google test .a file for the right architecture, depending on the host system.  E.g. if I am running the test target from my i386 VM, I'd like to link in the i386 built libgtest.a, and ditto when building on my ARMEL system.  How do I do that?  I do not cross compile the ARM build, I build it on the ARM target hardware itself.  I don't really want to build libtest.a from scratch as it's pretty slow to build.</p>
  
  <p>My Makefile is:</p>
  
  <pre>
  
      CC = g++-4.7
      CXX := $(CC)
      SVNDEV := -D'SVN_REV="$(shell svnversion -n .)"'
      CFLAGS += -Os -Wall -Wno-write-strings $(SVNDEV) -Iinclude -I/usr/include/c++/4.7 -Llib
      CXXFLAGS += --std=c++11 -D_GLIBCXX_USE_NANOSLEEP $(CFLAGS)
      TARGET = connectionmanager
      LIBS = -lzmq -ljansson -lpthread
      objects = systeminterface.o linuxsysteminterface.o connectionmanagerutils.o connectionmanagerexception.o logger.o jsoninterface.o configuration.o  diagnosticslogger.o serial.o \
                modemstrategy.o lisac200modemstrategy.o maestrom1003gmodemstrategy.o
      test_objects = mocksysteminterface.o mockmodemstrategy.o test/connectionmanagertest.o test/connectionmanagerutiltest.o test/jsoninterfacetest.o test/gtest_main.o
  
      $(TARGET):      connectionmanager.o $(objects) $(LIBS)
  
      .PHONY: clean all test
  
      all: $(TARGET)
  
      cmmain.o: connectionmanager.cpp
              $(CXX) -DUNIT_TESTING $(CPPFLAGS) $(CXXFLAGS) -c connectionmanager.cpp -o cmmain.o
  
      connectionmanagertest : cmmain.o $(objects) $(test_objects) lib/libgtest.a $(LIBS)
              $(CXX) -DUNIT_TESTING $(CPPFLAGS) $(CXXFLAGS) $(LIBS) lib/libgtest.a $^ -o $@
  
      test: connectionmanagertest
              ./connectionmanagertest
  
      clean:
              rm -f $(TARGET)
              rm -f $(objects)
              rm -f $(test_objects)
              rm -f connectionmanager.o
              rm -f cmmain.o
              rm -f $(test_objects)
  
  </pre>