-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (52 loc) · 2.07 KB
/
Copy pathMakefile
File metadata and controls
69 lines (52 loc) · 2.07 KB
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
ifeq ($(V),1)
VB=''
else
VB=@
endif
CC = emcc
SRCDIR=src
OBJDIR=obj
BUILDDIR=build
SHELLFILE ?= $(SRCDIR)/emscripten-shell.html
OUTPUT=$(BUILDDIR)/doom
FAVICON=$(BUILDDIR)/favicon.ico
DOOM_PIXEL_RATIO ?= 2
EMSDL_FLAGS = -sUSE_SDL=2 -sUSE_SDL_MIXER=2 -sSDL2_MIXER_FORMATS='["mid"]'
CFLAGS = -DFEATURE_SOUND -DDOOM_PIXEL_RATIO_DEFAULT=$(DOOM_PIXEL_RATIO) $(EMSDL_FLAGS)
LDFLAGS = $(EMSDL_FLAGS) \
-sALLOW_MEMORY_GROWTH=1 \
--shell-file $(SHELLFILE) \
--preload-file tmp/doom1.wad@doom1.wad \
# --preload-file timidity.cfg \
# --preload-file dgguspat
LIBS = -lm -lc
SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_emscripten.o mus2mid.o i_sdlmusic.o i_sdlsound.o
OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM))
all: $(OUTPUT)
.PHONY: all clean print
clean:
rm -rf $(OBJDIR)
rm -f $(OUTPUT).html
rm -f $(OUTPUT).js
rm -f $(OUTPUT).data
rm -f $(OUTPUT).wasm
rm -f $(FAVICON)
$(OUTPUT): $(OBJS) $(FAVICON) | $(BUILDDIR)
@echo [Linking $@]
$(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \
-o $(OUTPUT).html $(LIBS)
$(FAVICON): $(SRCDIR)/favicon.ico | $(BUILDDIR)
@echo [Copying $<]
$(VB)cp $< $@
$(OBJS): | $(OBJDIR)
$(BUILDDIR):
mkdir -p $(BUILDDIR)
$(OBJDIR):
mkdir -p $(OBJDIR)
$(OBJDIR)/%.o: $(SRCDIR)/%.c
@echo [Compiling $<]
$(VB)$(CC) $(CFLAGS) -c $< -o $@
print:
@echo OBJS: $(OBJS)
serve:
@npx serve $(BUILDDIR) -p 8000