CFLAGS=-Icommon -Imenu -Iengine -O2 CXXFLAGS=$(CFLAGS) LDFLAGS=-lglut -lm -lGLEW CXX=g++ CC=gcc all: matchblox_menu matchblox_engine $(CXX) $(LDFLAGS) main.o message_queue.o bitmap.o button.o font.o menu.o C_Smoother.o C_3DObject.o C_Hand.o C_Block.o C_Log.o C_Environment.o C_Box.o C_MatchBloxEngine.o wiimote_utils.o -o MatchBlox matchblox_common: $(CC) $(CFLAGS) -o message_queue.o -c common/message_queue.c $(CC) $(CFLAGS) -o bitmap.o -c common/bitmap.c $(CC) $(CFLAGS) -o font.o -c common/font.c $(CXX) $(CXXFLAGS) -o C_Smoother.o -c common/C_Smoother.cpp $(CXX) $(CXXFLAGS) -o wiimote_utils.o -c common/wiimote_utils.cpp matchblox_menu: matchblox_common $(CC) $(CFLAGS) -o button.o -c menu/button.c $(CC) $(CFLAGS) -o menu.o -c menu/menu.c matchblox_engine: matchblox_common $(CXX) $(CXXFLAGS) -o C_3DObject.o -c engine/C_3DObject.cpp $(CXX) $(CXXFLAGS) -o C_Hand.o -c engine/C_Hand.cpp $(CXX) $(CXXFLAGS) -o C_Block.o -c engine/C_Block.cpp $(CXX) $(CXXFLAGS) -o C_Log.o -c engine/C_Log.cpp $(CXX) $(CXXFLAGS) -o C_Environment.o -c engine/C_Environment.cpp $(CXX) $(CXXFLAGS) -o C_Box.o -c engine/C_Box.cpp $(CXX) $(CXXFLAGS) -o C_MatchBloxEngine.o -c engine/C_MatchBloxEngine.cpp $(CXX) $(CXXFLAGS) -o main.o -c main.cpp #automatically generate targets with their dependencies %.d: %.cpp @set -e; rm -f $@; \ $(CC) -M $(CFLAGS) $< > $@.$$$$; \ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ #include the automatically generated targets include $(sources:.cpp=.d) clean: -rm MatchBlox *.o *.d