Mirai's Miscellaneous Misadventures

M52 / makefile

1# license: AGPLv3 or later
2# copyright 2024 zamfofex
3
4CFLAGS = -ansi -Wall -Wextra -Wpedantic -O3
5
6obj = \
7	core/animations.o \
8	core/cameras.o \
9	core/controls.o \
10	core/dialogues.o \
11	core/displays.o \
12	core/effects.o \
13	core/font.o \
14	core/ground.o \
15	core/math.o \
16	core/motion.o \
17	core/packbits.o \
18	core/sprites.o \
19	core/stages.o \
20	core/text.o \
21	core/images.o \
22	models/homura.o \
23	models/mirai.o \
24	models/haruka.o \
25	models/hebijo.o \
26	models/ryoubi.o \
27	models/ryouna.o \
28	models/base.o \
29	chapter-I/main.o
30
31mimimi: $(obj) engines/sdl.o
32	$(CC) $(LDFLAGS) -o $@ $^ -lSDL2
33
34mimimi.wasm: $(obj) engines/wasm.o
35	$(CC) $(LDFLAGS) -Wl,--import-undefined -o mimimi0.wasm $^
36	wasm-opt -O4 --asyncify -o $@ mimimi0.wasm
37
38%.o: %.c mimimi.h models/models.h
39	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
40
41.PHONY: clean
42
43clean:
44	$(RM) mimimi */*.o *.wasm