git-subtree-dir: src/dp_doom git-subtree-split: 190992421c7c643afc99d7f7c511c162f65bea85
125 lines
2.3 KiB
Makefile
125 lines
2.3 KiB
Makefile
|
|
WILDMIDI ?= 1
|
|
SDL ?= 2
|
|
|
|
ifeq ($(RELEASE),1)
|
|
CFLAGS=-O2 -s -DNDEBUG
|
|
else
|
|
CFLAGS=-ggdb3 -Og -fsanitize=address -fwrapv
|
|
endif
|
|
|
|
CFLAGS_ALL=-Wall -Wextra -Wpedantic -Wshift-overflow=2 $(CFLAGS)
|
|
LIBS=
|
|
|
|
ifeq ($(WILDMIDI),1)
|
|
CFLAGS_ALL+=$(shell pkg-config --cflags wildmidi) -DWILDMIDI
|
|
LIBS+=$(shell pkg-config --libs wildmidi)
|
|
endif
|
|
|
|
# subdirectory for objects
|
|
O=linux
|
|
|
|
# not too sophisticated dependency
|
|
OBJS= \
|
|
$(O)/doomdef.o \
|
|
$(O)/doomstat.o \
|
|
$(O)/dstrings.o \
|
|
$(O)/i_sound.o \
|
|
$(O)/i_system.o \
|
|
$(O)/i_video.o \
|
|
$(O)/i_main.o \
|
|
$(O)/i_net.o \
|
|
$(O)/tables.o \
|
|
$(O)/f_finale.o \
|
|
$(O)/f_wipe.o \
|
|
$(O)/d_main.o \
|
|
$(O)/d_net.o \
|
|
$(O)/d_items.o \
|
|
$(O)/g_game.o \
|
|
$(O)/m_menu.o \
|
|
$(O)/m_misc.o \
|
|
$(O)/m_argv.o \
|
|
$(O)/m_bbox.o \
|
|
$(O)/m_fixed.o \
|
|
$(O)/m_swap.o \
|
|
$(O)/m_cheat.o \
|
|
$(O)/m_random.o \
|
|
$(O)/am_map.o \
|
|
$(O)/p_ceilng.o \
|
|
$(O)/p_doors.o \
|
|
$(O)/p_enemy.o \
|
|
$(O)/p_floor.o \
|
|
$(O)/p_inter.o \
|
|
$(O)/p_lights.o \
|
|
$(O)/p_map.o \
|
|
$(O)/p_maputl.o \
|
|
$(O)/p_plats.o \
|
|
$(O)/p_pspr.o \
|
|
$(O)/p_setup.o \
|
|
$(O)/p_sight.o \
|
|
$(O)/p_spec.o \
|
|
$(O)/p_switch.o \
|
|
$(O)/p_mobj.o \
|
|
$(O)/p_telept.o \
|
|
$(O)/p_tick.o \
|
|
$(O)/p_saveg.o \
|
|
$(O)/p_user.o \
|
|
$(O)/r_bsp.o \
|
|
$(O)/r_data.o \
|
|
$(O)/r_draw.o \
|
|
$(O)/r_main.o \
|
|
$(O)/r_plane.o \
|
|
$(O)/r_segs.o \
|
|
$(O)/r_sky.o \
|
|
$(O)/r_things.o \
|
|
$(O)/w_wad.o \
|
|
$(O)/wi_stuff.o \
|
|
$(O)/v_video.o \
|
|
$(O)/st_lib.o \
|
|
$(O)/st_stuff.o \
|
|
$(O)/hu_stuff.o \
|
|
$(O)/hu_lib.o \
|
|
$(O)/s_sound.o \
|
|
$(O)/z_zone.o \
|
|
$(O)/info.o \
|
|
$(O)/sounds.o
|
|
|
|
ifeq ($(SDL),2)
|
|
OBJS+= \
|
|
$(O)/ib_sound/sdl.o \
|
|
$(O)/ib_system/sdl.o \
|
|
$(O)/ib_video/sdl.o
|
|
|
|
CFLAGS_ALL+=$(shell pkg-config --cflags sdl2)
|
|
LIBS+=$(shell pkg-config --libs sdl2)
|
|
else
|
|
ifeq ($(SDL),1)
|
|
OBJS+= \
|
|
$(O)/ib_sound/sdl.o \
|
|
$(O)/ib_system/sdl.o \
|
|
$(O)/ib_video/sdl.o
|
|
|
|
CFLAGS_ALL+=$(shell pkg-config --cflags sdl)
|
|
LIBS+=$(shell pkg-config --libs sdl)
|
|
else
|
|
OBJS+= \
|
|
$(O)/ib_sound/miniaudio.o \
|
|
$(O)/ib_system/posix.o \
|
|
$(O)/ib_video/xlib.o
|
|
|
|
LIBS+=-lXext -lX11 -lnsl -lm -ldl -lpthread
|
|
endif
|
|
endif
|
|
|
|
all: $(O)/linuxxdoom
|
|
|
|
clean:
|
|
rm -f *.o *~ *.flc
|
|
rm -f linux/*
|
|
|
|
$(O)/linuxxdoom: $(OBJS)
|
|
$(CC) $(CFLAGS_ALL) $(LDFLAGS) $(OBJS) -o $(O)/linuxxdoom $(LIBS)
|
|
|
|
$(O)/%.o: %.c
|
|
mkdir -p $(@D)
|
|
$(CC) $(CFLAGS_ALL) -c $< -o $@
|