forked from Bniais/NineTeen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
79 lines (53 loc) · 1.95 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
77
78
79
OBJDIR = obj
BINDIR = bin
OBJS = $(addprefix $(OBJDIR)/, main.o room.o flappy_bird.o import.o libWeb.o textField.o tetris.o snake.o asteroid.o shooter.o hashage.o fullpath.o communFunctions.o leaderboard.o demineur.o )
SOURCE = launcher.c
HEADER = room.h flappy_bird.h tetris.h snake.h asteroid.h shooter.h demineur.h fullpath.h leaderboard.h
OUT = Nineteen
UNAME := $(shell uname)
CC = gcc
FLAGS = -g -c -Wall
LFLAGS = -lm -lcurl -lcurl -L/usr/local/opt/openssl/lib -lcrypto -lassimp
LSDL = `sdl2-config --cflags --libs` -lSDL2 -lSDL2_ttf -lSDL2_image -lSDL2_mixer
ifeq ($(UNAME), Linux)
FFLAGS = -lGL -lGLU -lglut
endif
ifeq ($(UNAME), Darwin)
FFLAGS = -framework OpenGL -framework GLUT
endif
all: $(OBJS)
$(CC) -g $(OBJS) -o $(BINDIR)/$(OUT) $(LFLAGS) $(LSDL) $(FFLAGS)
$(OBJDIR)/room.o: room/room.c $(OBJDIR)/import.o
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/main.o: main.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/flappy_bird.o : games/3_flappy_bird/flappy_bird.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/shooter.o : games/4_shooter/shooter.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/demineur.o : games/6_demineur/demineur.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/tetris.o : games/5_tetris/tetris.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/snake.o : games/2_snake/snake.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/asteroid.o : games/7_asteroid/asteroid.c
$(CC) $(FLAGS) $(LSDL) -o $@ $<
$(OBJDIR)/leaderboard.o : room/leaderboard/leaderboard.c
$(CC) -o $@ $< $(FLAGS) $(LSDL)
$(OBJDIR)/import.o : room/import.c
$(CC) -o $@ $< $(FLAGS) $(LSDL)
$(OBJDIR)/libWeb.o : include/libWeb.c
$(CC) -o $@ $< $(FLAGS)
$(OBJDIR)/hashage.o : include/hashage.c
$(CC) -o $@ $< $(FLAGS)
$(OBJDIR)/textField.o : include/textField.c
$(CC) -o $@ $< $(FLAGS)
$(OBJDIR)/fullpath.o : include/fullpath.c
$(CC) -o $@ $< $(FLAGS)
$(OBJDIR)/communFunctions.o : include/communFunctions.c
$(CC) -o $@ $< $(FLAGS)
clean:
rm -f $(OBJS) ./$(OUT)
run: $(OUT)
./$(OUT)