CXX = g++ -g -Wall MAIN_BINARIES = $(basename $(wildcard *Main.cpp)) TEST_BINARIES = ArrayTest # TEST_BINARIES = $(basename $(wildcard *Test.cpp)) HEADER = $(wildcard *.h) OBJECTS = Array.o .PRECIOUS: %.o all: compile test checkstyle compile: $(MAIN_BINARIES) $(TEST_BINARIES) test: $(TEST_BINARIES) for T in $(TEST_BINARIES); do ./$$T; done checkstyle: python ../cpplint.py *.h *.cpp clean: rm -f *.o rm -f $(MAIN_BINARIES) rm -f $(TEST_BINARIES) rm -f core %Main: %Main.o $(OBJECTS) $(CXX) -o $@ $^ %Test: %Test.o $(OBJECTS) $(CXX) -o $@ $^ -lgtest -lgtest_main %.o: %.cpp $(HEADER) $(CXX) -c $<