-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
76 lines (52 loc) · 1.57 KB
/
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
############
MACHINE= $(shell uname -s)
ifeq ($(MACHINE),Darwin)
OPENGL_INC= -FOpenGL
OPENGL_LIB= -framework OpenGL
SDL_INC= `sdl2-config --cflags`
SDL_LIB= `sdl2-config --libs` -lSDL2_ttf
IMG_INC= -I/usr/local/include
IMG_LIB= -L/usr/local/lib -lpng -ljpeg
else
OPENGL_INC= -I/usr/X11R6/include
OPENGL_LIB= -L/usr/lib64 -lGL -lGLU
SDL_INC= `sdl2-config --cflags` -I/usr/local/include/SDL2
SDL_LIB= `sdl2-config --libs` -L/usr/local/lib -lSDL2_ttf
IMG_INC= -I/usr/include
IMG_LIB= -L/usr/lib64 -lpng -ljpeg
endif
# object files have corresponding source files
BINDIR= bin
OBJDIR_C= d1vconverter/objs
OBJS_C= $(addprefix $(OBJDIR_C)/, main.o d1vConverter.o)
INCLUDE_C= $(IMG_INC)
LIBS_C= $(IMG_LIB)
OBJDIR_P= d1vplayer/objs
OBJS_P= $(addprefix $(OBJDIR_P)/, main.o d1vPlayer.o)
INCLUDE_P= $(SDL_INC) $(OPENGL_INC)
LIBS_P= $(SDL_LIB) $(OPENGL_LIB)
CXX= g++
COMPILER_FLAGS= -g
EXEC_C= $(BINDIR)/d1vconverter
EXEC_P= $(BINDIR)/d1vplayer
all: d1vconverter d1vplayer
d1vconverter: $(BINDIR) $(EXEC_C)
d1vplayer: $(BINDIR) $(EXEC_P)
$(BINDIR):
mkdir -p $(BINDIR)
$(EXEC_C): $(OBJS_C)
$(CXX) $(COMPILER_FLAGS) -o $(EXEC_C) $(OBJS_C) $(LIBS_C)
$(OBJDIR_C)/%.o: d1vconverter/src/%.cpp
$(CXX) -c $(COMPILER_FLAGS) -o $@ $< $(INCLUDE_C)
$(OBJS_C): | $(OBJDIR_C)
$(OBJDIR_C):
mkdir -p $(OBJDIR_C)
$(EXEC_P): $(OBJS_P)
$(CXX) $(COMPILER_FLAGS) -o $(EXEC_P) $(OBJS_P) $(LIBS_P)
$(OBJDIR_P)/%.o: d1vplayer/src/%.cpp
$(CXX) -c $(COMPILER_FLAGS) -o $@ $< $(INCLUDE_P)
$(OBJS_P): | $(OBJDIR_P)
$(OBJDIR_P):
mkdir -p $(OBJDIR_P)
clean:
rm -f $(EXEC_C) $(OBJS_C) $(EXEC_P) $(OBJS_P)