diff --git a/Makefile b/Makefile index 4e0b285..02fe25b 100644 --- a/Makefile +++ b/Makefile @@ -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 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: mkdir -p build ln -srf datastructures src/ ln -srf c-colours src/ +