summaryrefslogtreecommitdiffstats
path: root/matchblox/Makefile
blob: e629b4059d310e4096f9247bd3c21fe7eb941e7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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