-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
77 lines (65 loc) · 2.06 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
CC=gcc
CCWIN=x86_64-w64-mingw32-gcc
WINFLAGS=-lmingw32
CFLAGS=-lSDL2main -lSDL2 -lSDL2_ttf -lSDL2_image -lSDL2_mixer -lm -ftrapv -O3
CDEBUGFLAGS=-Wall -g
WINLIBS=-ISDL2/include/ -LSDL2/lib/
OUT=xiprog
BUILDWIN=build-win/
BUILDLINUX=build-linux/
PROJECT=test
USER_FILES=$(wildcard projects/$(PROJECT)/src/*.h) $(wildcard projects/$(PROJECT)/src/*.c)
project:
cp -r template/ projects/$(PROJECT)
setup-linux:
rm -rf $(BUILDLINUX)
rm -rf config/
mkdir $(BUILDLINUX)
mkdir $(BUILDLINUX)./bin/
cp -r projects/${PROJECT}/src/config/ .
compile-linux:
make setup-linux
$(CC) $(wildcard *.h) $(wildcard *.c) $(USER_FILES) $(CFLAGS) -o $(OUT)
mv $(OUT) $(BUILDLINUX)./bin/
cp -r projects/$(PROJECT)/fnt/ $(BUILDLINUX)
cp -r projects/$(PROJECT)/spr/ $(BUILDLINUX)
cp -r projects/$(PROJECT)/snd/ $(BUILDLINUX)
debug-linux:
make setup-linux
$(CC) $(wildcard *.h) $(wildcard *.c) $(USER_FILES) $(CFLAGS) $(CDEBUGFLAGS) -o $(OUT)-debug
mv $(OUT)-debug $(BUILDLINUX)./bin/
cp -r projects/$(PROJECT)/fnt/ $(BUILDLINUX)
cp -r projects/$(PROJECT)/spr/ $(BUILDLINUX)
cp -r projects/$(PROJECT)/snd/ $(BUILDLINUX)
setup-win:
rm -rf $(BUILDWIN)
rm -rf config/
mkdir $(BUILDWIN)
mkdir $(BUILDWIN)./bin/
cp -r projects/$(PROJECT)/src/config/ .
compile-win:
make setup-win
$(CCWIN) $(wildcard *.h) $(wildcard *.c) $(USER_FILES) $(WINLIBS) $(WINFLAGS) $(CFLAGS) -o $(OUT).exe
mv $(OUT).exe $(BUILDWIN)./bin/
cp $(wildcard *.dll) $(BUILDWIN)./bin/
cp -r projects/$(PROJECT)/fnt/ $(BUILDWIN)
cp -r projects/$(PROJECT)/spr/ $(BUILDWIN)
cp -r projects/$(PROJECT)/snd/ $(BUILDWIN)
debug-win:
make setup-win
$(CCWIN) $(wildcard *.h) $(wildcard *.c) $(USER_FILES) $(WINLIBS) $(WINFLAGS) $(CFLAGS) $(CDEBUGFLAGS) -o $(OUT)-debug.exe
mv $(OUT)-debug.exe $(BUILDWIN)./bin/
cp $(wildcard *.dll) $(BUILDWIN)./bin/
cp -r projects/$(PROJECT)/fnt/ $(BUILDWIN)
cp -r projects/$(PROJECT)/spr/ $(BUILDWIN)
cp -r projects/$(PROJECT)/snd/ $(BUILDWIN)
compile-all:
make compile-linux
make compile-win
debug-all:
make debug-linux
make debug-win
clean:
rm -rf config/
rm -rf $(BUILDWIN)
rm -rf $(BUILDLINUX)