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