-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
33 lines (28 loc) · 1016 Bytes
/
makefile
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
#changing platform dependant stuff, do not change this
# Linux (default)
LDFLAGS = -lGL -lGLU -lglut
CFLAGS=-g -std=c++11
CC=g++
EXEEXT=
MATH_LIB = PMath
SG_LIB = SceneGraph
# Windows (cygwin)
ifeq "$(OS)" "Windows_NT"
EXEEXT=.exe #on windows applications must have .exe extension
RM=del #rm command for windows powershell
LDFLAGS = -lfreeglut -lglu32 -lopengl32
else
# OS X
OS := $(shell uname)
ifeq ($(OS), Darwin)
LDFLAGS = -framework Carbon -framework OpenGL -framework GLUT
endif
endif
PROGRAM_NAME= ButFox
#run target to compile and build, and then launch the executable
run: $(PROGRAM_NAME)
./$(PROGRAM_NAME)$(EXEEXT)
$(PROGRAM_NAME): main.o $(MATH_LIB)/PVector.o $(MATH_LIB)/PPoint.o $(SG_LIB)/node.o $(SG_LIB)/nodeGroup.o $(SG_LIB)/nodeModel.o $(SG_LIB)/nodeTransform.o $(SG_LIB)/sceneGraph.o Light.o Material.o StarfoxUtils.o PPMLoader.o
$(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS)
clean:
$(RM) *.o $(PROGRAM_NAME)$(EXEEXT) $(MATH_LIB)/*.o $(SG_LIB)/*.o