-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
40 lines (32 loc) · 857 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
34
35
36
37
38
39
40
CC=gcc
CFLAGS=-c -Wall -Wextra -Werror -g -fPIC
LDFLAGS=-lallegro -lallegro_primitives -lallegro_font -lallegro_ttf \
-lm -lallegro_color
SOURCES= \
src/vector.c src/particles.c src/asteroid.c \
src/ship.c src/game.c src/bullets.c \
src/main.c
HEADERS=$(SOURCES:.c=.h)
OBJECTS=$(SOURCES:.c=.o)
EXECUTABLE=asteroids
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
.c.o:
$(CC) $(CFLAGS) $< -o $@
format:
astyle --style=java $(HEADERS) $(SOURCES)
clean:
rm -f src/*.o src/*.orig ./asteroids ./asteroids.zip
tags:
ctags -o TAGS -e $(HEADERS) $(SOURCES)
test: $(OBJECTS)
$(CC) -shared -Wl,-soname,lib$(EXECUTABLE).so -o lib$(EXECUTABLE).so $(OBJECTS) $(LDFLAGS)
nosetests3
asteroids.zip: $(SOURCES)
rm -rf dist
mkdir dist
git clone . dist
rm dist/.git -rf
zip -r asteroids.zip dist
rm -rf dist