|
|
|
@ -9,23 +9,30 @@ endif
@@ -9,23 +9,30 @@ endif
|
|
|
|
|
debug = true
|
|
|
|
|
|
|
|
|
|
ifeq ($(target),windows) |
|
|
|
|
CC=x86_64-w64-mingw32-gcc -DWIN32
|
|
|
|
|
CC=x86_64-w64-mingw32-gcc -DWIN32 -g
|
|
|
|
|
SDL_INCLUDE = -Dmain=SDL_main -Lsdllib -lSDL2main -lSDL2main -lSDL2_mixer -lSDL2_ttf -lSDL2 -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,-static -lpthread -lm
|
|
|
|
|
CCFLAGS=$(SDL_INCLUDE) -O3
|
|
|
|
|
else |
|
|
|
|
CC=gcc -D__linux__
|
|
|
|
|
SDL_INCLUDE= -lSDL2 -lm -lSDL2_ttf -lSDL2_mixer
|
|
|
|
|
ifeq ($(target),web) |
|
|
|
|
CC=emcc
|
|
|
|
|
SDL_INCLUDE= -s USE_SDL=2 -s USE_SDL_MIXER=2 -s USE_SDL_TTF=2 -s FULL_ES3=1 --preload-file "TerminusTTF.ttf"
|
|
|
|
|
CCFLAGS=$(SDL_INCLUDE) -O2
|
|
|
|
|
else |
|
|
|
|
CC=gcc -D__linux__
|
|
|
|
|
SDL_INCLUDE= -lSDL2 -lSDL2_ttf -lSDL2_mixer -lm
|
|
|
|
|
CCFLAGS=$(SDL_INCLUDE) -O3
|
|
|
|
|
endif |
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
ifdef debug |
|
|
|
|
CC += -g -Wall
|
|
|
|
|
CC += -fsanitize=address -g -ggdb -fno-omit-frame-pointer -Wall
|
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
.PHONY: default |
|
|
|
|
.PHONY: all |
|
|
|
|
.PHONY: run |
|
|
|
|
.PHONY: dist |
|
|
|
|
.PHONY: web |
|
|
|
|
|
|
|
|
|
default: all |
|
|
|
|
|
|
|
|
@ -46,8 +53,12 @@ run: all
@@ -46,8 +53,12 @@ run: all
|
|
|
|
|
|
|
|
|
|
all: $(EXE) |
|
|
|
|
|
|
|
|
|
$(EXE): prebuild build/main.o build/vect.o build/logger.o build/game.o build/garbo.o build/draw.o build/controlscheme.o build/environment.o build/colours.o build/datatypes.o build/audio.o |
|
|
|
|
cd build && $(CC) -o $(EXE) main.o vect.o game.o logger.o draw.o garbo.o environment.o controlscheme.o colours.o datatypes.o audio.o $(CCFLAGS)
|
|
|
|
|
web: $(EXE) |
|
|
|
|
$(CC) -o build/index.html build/main.o build/vect.o build/game.o build/logger.o build/draw.o build/garbo.o build/environment.o build/controlscheme.o build/colours.o build/datatypes.o build/audio.o $(CCFLAGS)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(EXE): prebuild build/main.o build/vect.o build/logger.o build/game.o build/garbo.o build/draw.o build/controlscheme.o build/environment.o build/colours.o build/datatypes.o build/audio.o |
|
|
|
|
cd build && $(CC) -o $(EXE) main.o vect.o game.o logger.o draw.o garbo.o environment.o controlscheme.o colours.o datatypes.o audio.o $(CCFLAGS)
|
|
|
|
|
|
|
|
|
|
build/colours.o: c-colours/colours.c c-colours/colours.h |
|
|
|
|
$(CC) -c c-colours/colours.c -o build/colours.o $(CCFLAGS)
|
|
|
|
@ -89,3 +100,4 @@ prebuild:
@@ -89,3 +100,4 @@ prebuild:
|
|
|
|
|
mkdir -p build
|
|
|
|
|
ln -srf datastructures src/
|
|
|
|
|
ln -srf c-colours src/
|
|
|
|
|
|
|
|
|
|