Fix asset bundling to work on Windows

This commit is contained in:
2024-10-23 19:47:28 -04:00
parent af3692fd11
commit 0b21febc6b
5 changed files with 49 additions and 40 deletions
+37 -14
View File
@@ -1,19 +1,42 @@
CC?=gcc
LD?=ld
SHROOMSFLAGS=shrooms-vb-core/core/vb.c -I shrooms-vb-core/core
SDL2FLAGS=$(shell pkg-config sdl2 --cflags --libs)
SDL2FLAGS=$(shell pkg-config sdl2 --cflags --libs) -mconsole
.PHONY: clean
.PHONY: clean build
clean:
ifeq ($(OS),WINDOWS_NT)
@del shrooms-vb.exe
else
@rm -f shrooms-vb
endif
@rm -rf shrooms-vb output
build:
@$(CC) audio.c cli.c controller.c game.c graphics.c main.c assets/assets.s -I . \
$(SHROOMSFLAGS) $(SDL2FLAGS) \
-D POSIX_C_SOURCE=199309L \
-o shrooms-vb \
-O3 -fno-strict-aliasing \
-Werror -std=c90 -Wall -Wextra -Wpedantic
CFILES := $(foreach dir,./,$(notdir $(wildcard $(dir)/*.c)))
BINFILES := $(foreach dir,assets/,$(notdir $(wildcard $(dir)/*.bin)))
COBJS := $(CFILES:%.c=output/%.o)
SHROOMSOBJS := output/vb.o
BINOBJS := $(BINFILES:%.bin=output/%.o)
OFILES := $(COBJS) $(SHROOMSOBJS) $(BINOBJS)
output/%.o: %.c
@mkdir -p output
@$(CC) -c -o $@ $< -I . \
-I shrooms-vb-core/core $(SDL2FLAGS) \
-D _POSIX_C_SOURCE=199309L \
-O3 -flto -fno-strict-aliasing \
-Werror -std=c11 -Wall -Wextra -Wpedantic
output/vb.o: shrooms-vb-core/core/vb.c
@mkdir -p output
@$(CC) -c -o $@ $< -I . \
-I shrooms-vb-core/core $(SDL2FLAGS) \
-D _POSIX_C_SOURCE=199309L \
-O3 -flto -fno-strict-aliasing \
-Werror -std=c11 -Wall -Wextra -Wpedantic
output/%.o: assets/%.bin
@mkdir -p output
@$(LD) -r -b binary -o $@ $<
shrooms-vb: $(OFILES)
@$(CC) -o $@ $(OFILES) $(SDL2FLAGS) -flto
build: shrooms-vb