summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: fe1881c5a7649362b3c8bdbdbdd70e1ffe3ca1b8 (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
PROG = pyramid
OBJS = $(PROG).o ./lib/math3d.o ./lib/gltools.o ./lib/TriangleMesh.o ./lib/VBOMesh.o
CC = g++
DBGFLAGS = -g -O0
ifdef DEBUG
    CFLAGS = $(DBGFLAGS) -Wall
else
    CFLAGS = -Wall -O2 -march=native -mtune=native
endif
LDFLAGS = -lGLEW -lGL -lGLU -lm -lglut
SDL_CFLAGS := $(shell sdl-config --cflags)
SDL_LDFLAGS := $(shell sdl-config --libs)
SDL_image_CFLAGS := $(shell pkg-config --cflags SDL_image)
SDL_image_LDFLAGS := $(shell pkg-config --libs SDL_image)

$(PROG): $(OBJS)
	$(CC) $(LDFLAGS) $(SDL_LDFLAGS) $(SDL_image_LDFLAGS) $(OBJS) -o $(PROG)

$(PROG).o: $(PROG).cpp
	$(CC) -c $(CFLAGS) $(SDL_CFLAGS) $(SDL_image_CFLAGS) $(PROG).cpp

math3d.o: math3d.cpp
	$(CC) -c $(CFLAGS) math3d.cpp

gltools.o: gltools.cpp
	$(CC) -c $(CFLAGS) ./lib/gltools.cpp

TriangleMesh.o: TriangleMesh.cpp
	$(CC) -c $(CFLAGS) ./lib/TriangleMesh.cpp

VBOMesh.o: VBOMesh.cpp
	$(CC) -c $(CFLAGS) ./lib/VBOMesh.cpp

.PHONY: clean

clean:
	rm -f *.o ./$(PROG) ./lib/*.o