mirror of
https://git.code.sf.net/p/quake/quakeforge-old
synced 2024-11-10 14:42:06 +00:00
6c74e92dd2
experienced almost no visible benefit in terms of compile time, others with older machines will and the makefiles are generally cleaner now.
526 lines
14 KiB
Makefile
526 lines
14 KiB
Makefile
########################################################################
|
|
#
|
|
# Quake general stuff
|
|
#
|
|
|
|
PROJECT_DIR = @top_srcdir@
|
|
SRC_DIR = @srcdir@
|
|
QW_COMMON_DIR= $(PROJECT_DIR)/qw_common
|
|
COMMON_DIR = $(PROJECT_DIR)/common
|
|
BIN_PREFIX = qw-client
|
|
|
|
DESTDIR =
|
|
|
|
prefix = @prefix@
|
|
bindir = @bindir@
|
|
mandir = @mandir@
|
|
|
|
BUILD_DIR = ../targets/qw_client
|
|
|
|
LDFLAGS = @LDFLAGS@ @SND_LIBS@ -lm
|
|
LIBS = @LIBS@
|
|
CC = @CC@
|
|
INTEL_ARCH = @INTEL_ARCH@
|
|
|
|
ifneq ($(SRC_DIR),.)
|
|
SRC_DIR_INC = -I$(SRC_DIR)
|
|
endif
|
|
|
|
HAS_GGI = @HAS_GGI@
|
|
HAS_SVGA = @HAS_SVGA@
|
|
HAS_GLIDE = @HAS_GLIDE@
|
|
HAS_TDFXGL = @HAS_TDFXGL@
|
|
HAS_OGL = @HAS_OGL@
|
|
HAS_XIL = @HAS_XIL@
|
|
HAS_X11 = @HAS_X11@
|
|
HAS_SDL = @HAS_SDL@
|
|
|
|
MAKE_SURE_DIR = if test -d "$(BUILD_DIR)/$$DIR"; \
|
|
then \
|
|
true; \
|
|
else \
|
|
echo "Creating directory $(BUILD_DIR)/$$DIR"; \
|
|
mkdir -p $(BUILD_DIR)/$$DIR; \
|
|
fi
|
|
|
|
|
|
########################################################################
|
|
#
|
|
# Client targets
|
|
#
|
|
|
|
ifeq ($(HAS_OGL),yes)
|
|
GLQUAKE =$(BIN_PREFIX)-gl
|
|
endif
|
|
|
|
ifeq ($(HAS_TDFXGL),yes)
|
|
TDFXQUAKE= $(BIN_PREFIX)-3dfx
|
|
endif
|
|
|
|
ifeq ($(HAS_X11),yes)
|
|
X11QUAKE = $(BIN_PREFIX)-x11
|
|
endif
|
|
|
|
ifeq ($(HAS_SVGA),yes)
|
|
SVGAQUAKE = $(BIN_PREFIX)-svga
|
|
endif
|
|
|
|
ifeq ($(HAS_GGI),yes)
|
|
GGIQUAKE = $(BIN_PREFIX)-ggi
|
|
endif
|
|
|
|
ifeq ($(HAS_SDL),yes)
|
|
SDLQUAKE = $(BIN_PREFIX)-sdl
|
|
endif
|
|
|
|
RELEASE = @RELEASE@
|
|
ifeq ($(RELEASE),yes)
|
|
OPTFLAGS = @RELEASE_CFLAGS@
|
|
else
|
|
OPTFLAGS = -g
|
|
endif
|
|
|
|
targets = $(GGIQUAKE) $(SVGAQUAKE) $(GLQUAKE) $(TDFXQUAKE) $(X11QUAKE) $(SDLQUAKE)
|
|
CLEAN_TARGETS = $(patsubst %,clean-%, $(targets))
|
|
.PHONY: $(targets) ($CLEAN_TARGETS)
|
|
|
|
x: Makefile
|
|
@echo binaries: $(targets)
|
|
@echo other targets: distclean
|
|
@echo all: makes all targets - $(targets)
|
|
|
|
all: $(targets)
|
|
|
|
|
|
########################################################################
|
|
#
|
|
# Source files
|
|
#
|
|
|
|
# **** Note - two apps may appear to share source, but they may just share
|
|
# source file *names*
|
|
|
|
ifeq ($(INTEL_ARCH),yes)
|
|
# Source file the Intel archictecture only
|
|
UQ_GENERAL_SRC = worlda.s
|
|
UQ_SWREND_SRC_PLAT = dosasm.s
|
|
CL_ADDITIONAL_GENERAL_SRC = sys_dosa.s math.s
|
|
SWREND_SRC_PLAT = d_copy.s d_draw.s d_draw16.s d_parta.s d_polysa.s d_scana.s \
|
|
d_spr8.s d_varsa.s r_aclipa.s r_aliasa.s \
|
|
r_drawa.s r_edgea.s r_varsa.s surf16.s surf8.s
|
|
else
|
|
# Source files for non-Intel platforms
|
|
SWREND_SRC_PLAT = nonintel.c
|
|
endif
|
|
|
|
#
|
|
# System specific source files
|
|
#
|
|
CD_AUDIO_SRC = cd_wrapper.c
|
|
|
|
# sound
|
|
|
|
SND_STYLE = @SND_STYLE@
|
|
SND_SRC = snd_null.c
|
|
|
|
ifeq ($(SND_STYLE),ALSA)
|
|
SND_SRC = snd_alsa.c alsa.c
|
|
endif
|
|
ifeq ($(SND_STYLE),OSS)
|
|
SND_SRC = snd_dma.c snd_oss.c
|
|
endif
|
|
ifeq ($(SND_STYLE),Solaris)
|
|
SND_SRC = snd_dma.c snd_sun.c
|
|
endif
|
|
ifeq ($(SND_STYLE),MME)
|
|
SND_SRC = snd_dma.c snd_mme.c
|
|
endif
|
|
ifeq ($(SND_STYLE),Windows)
|
|
SND_SRC = snd_dma.c snd_win.c
|
|
endif
|
|
|
|
SND_SRC += snd_mem.c snd_mix.c snd_mixa.s
|
|
|
|
X11_VID_SRC = @X11_VID_SRC@
|
|
QW_X11_VID_SRC = vid_x.c
|
|
|
|
SYS_SRC = @SYS_SRC@
|
|
QW_CL_SYS_SRC = @QW_CL_SYS_SRC@
|
|
QW_SRV_SYS_SRC = @QW_SRV_SYS_SRC@
|
|
|
|
#
|
|
# Networking source files
|
|
#
|
|
# XXX - Should not assume UNIX
|
|
NET_SRC = net_bsd.c net_udp.c
|
|
QW_NET_SRC = net_udp.c net_com.c mdfour.c
|
|
UQ_NET_SRC = net_dgrm.c net_loop.c net_main.c net_vcr.c $(NET_SRC)
|
|
|
|
#
|
|
# Common source files
|
|
#
|
|
MISC_SRC = common.c crc.c cvar.c cmd.c mathlib.c register_check.c wad.c zone.c
|
|
|
|
#
|
|
# Rendering source files
|
|
#
|
|
|
|
# OpenGL
|
|
GL_REND_SRC = gl_screen.c gl_model.c gl_draw.c gl_mesh.c gl_refrag.c \
|
|
gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_warp.c nonintel.c
|
|
# gl_rlight.c gl_rmain.c gl_rmisc.c gl_rsurf.c gl_test.c gl_warp.c
|
|
QW_GL_REND_SRC = gl_ngraph.c
|
|
|
|
# Software source
|
|
SW_REND_SRC = screen.c $(SWREND_SRC_PLAT) draw.c \
|
|
d_edge.c d_fill.c d_init.c d_modech.c d_part.c d_polyse.c d_scan.c \
|
|
d_sky.c d_sprite.c d_surf.c d_vars.c d_zpoint.c r_aclip.c r_alias.c \
|
|
r_bsp.c r_draw.c r_edge.c r_efrag.c r_light.c r_main.c r_misc.c \
|
|
r_sky.c r_sprite.c r_surf.c r_vars.c
|
|
|
|
#
|
|
# Client source files
|
|
#
|
|
CL_SRC = cl_demo.c cl_input.c cl_main.c cl_parse.c cl_tent.c
|
|
QW_CL_SRC = cl_cam.c cl_ents.c cl_pred.c
|
|
CL_GUI_SRC= console.c sbar.c view.c keys.c menu.c
|
|
|
|
#
|
|
# Server source files
|
|
#
|
|
# Server-related source used by all
|
|
SRV_SRC = sv_main.c sv_user.c sv_move.c sv_phys.c
|
|
# Server-related source used just by QW server
|
|
QW_SRV_SRC = sv_ccmds.c sv_ents.c sv_init.c sv_send.c sv_nchan.c world.c
|
|
# Server-related source used just by UQ
|
|
UQ_SRV_SRC = host.c host_cmd.c $(SRV_SRC)
|
|
SRV_PR_SRC = pr_cmds.c pr_edict.c pr_exec.c
|
|
|
|
|
|
QW_GENERAL_SRC = pmove.c pmovetst.c
|
|
|
|
# Source common to both UQ and QW-client
|
|
CL_COMMON_SRC = $(MISC_SRC) $(CL_GUI_SRC) $(CL_SRC) \
|
|
$(CL_ADDITIONAL_GENERAL_SRC) $(SND_SRC) $(CD_AUDIO_SRC) r_part.c
|
|
|
|
########################################################################
|
|
#
|
|
# Directory specific stuff
|
|
#
|
|
DEFS = @DEFS@
|
|
CFLAGS = @CFLAGS@ -Wall -DQUAKEWORLD $(OPTFLAGS) $(DEFS) -I. \
|
|
$(SRC_DIR_INC) -I$(QW_COMMON_DIR) -I$(COMMON_DIR)
|
|
ALL_X11_SRC = $(GENERAL_SRC) $(SW_REND_SRC) $(QW_X11_VID_SRC) model.c
|
|
ALL_GL_SRC = $(GENERAL_SRC) $(GL_REND_SRC) $(GL_VID_SRC) $(QW_GL_REND_SRC)
|
|
ALL_TDFX_SRC = $(GENERAL_SRC) $(GL_REND_SRC) $(TDFX_VID_SRC) $(QW_GL_REND_SRC)
|
|
|
|
GENERAL_SRC = $(CL_COMMON_SRC) \
|
|
$(QW_CL_SRC) $(QW_NET_SRC) net_chan.c skin.c \
|
|
$(QW_CL_SYS_SRC) \
|
|
$(QW_GENERAL_SRC)
|
|
# XXX - add dos/win specifc source
|
|
|
|
###########################################################################
|
|
#
|
|
# Compilation rules
|
|
#
|
|
|
|
###########################################################################
|
|
#
|
|
# qw-client-x11
|
|
#
|
|
ifneq ($(X11QUAKE),)
|
|
|
|
# Map the list of source files into a list of object files
|
|
OBJSquake-x11 = $(patsubst %,$(BUILD_DIR)/x11/%,$(addsuffix .@OBJEXT@, $(basename $(ALL_X11_SRC) .c .s)))
|
|
|
|
X11_CFLAGS = -DX11 @X_CFLAGS@
|
|
X11_LDFLAGS = @X_LIBS@ -lX11 @X11_SHM_LIB@ @X_EXTRA_LIBS@
|
|
|
|
# This can be thought of as a macro that makes sure that the x11
|
|
# sub-directory is created
|
|
x11_DIR:
|
|
@DIR=x11; $(MAKE_SURE_DIR)
|
|
|
|
$(BUILD_DIR)/x11/%.o: $(SRC_DIR)/%.c
|
|
$(MAKE_SURE_x11_DIR)
|
|
$(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/x11/%.o: $(SRC_DIR)/%.s
|
|
$(MAKE_SURE_x11_DIR)
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/x11/%.o: $(COMMON_DIR)/%.c
|
|
$(MAKE_SURE_x11_DIR)
|
|
$(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
|
|
|
|
ifneq ($(QW_COMMON_DIR),)
|
|
$(BUILD_DIR)/x11/%.o: $(QW_COMMON_DIR)/%.c
|
|
$(MAKE_SURE_x11_DIR)
|
|
$(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
|
|
endif
|
|
|
|
$(BUILD_DIR)/x11/%.o: $(COMMON_DIR)/%.s
|
|
$(MAKE_SURE_x11_DIR)
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(X11QUAKE): x11_DIR $(BUILD_DIR)/../$(X11QUAKE)
|
|
|
|
$(BUILD_DIR)/../$(X11QUAKE): $(OBJSquake-x11)
|
|
$(CC) $(CFLAGS) $(OBJSquake-x11) $(X11_LDFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/../$(X11QUAKE)
|
|
# XXX - Can this be automated?
|
|
clean-$(X11QUAKE):
|
|
rm -f $(OBJSquake-x11)
|
|
endif
|
|
|
|
###########################################################################
|
|
#
|
|
# qw-client-svga
|
|
#
|
|
ifneq ($(SVGAQUAKE),)
|
|
ALL_SVGA_SRC = $(GENERAL_SRC) $(SW_REND_SRC) $(SVGA_VID_SRC) model.c
|
|
OBJSquake-svga= $(patsubst %,$(BUILD_DIR)/svga/%,$(addsuffix .@OBJEXT@, $(basename $(ALL_SVGA_SRC) .c .s)))
|
|
|
|
SVGA_CFLAGS = @SVGA_CFLAGS@
|
|
SVGA_LDFLAGS = @SVGA_LIBS@
|
|
SVGA_VID_SRC = vid_svgalib.c
|
|
|
|
# This can be thought of as a macro that makes sure that the x11
|
|
# sub-directory is created
|
|
svga_DIR:
|
|
@DIR=svga; $(MAKE_SURE_DIR)
|
|
|
|
# Not sure why this -O is needed, but it is...
|
|
$(BUILD_DIR)/svga/vid_svgalib.o: $(COMMON_DIR)/vid_svgalib.c
|
|
$(MAKE_SURE_svga_DIR)
|
|
$(CC) -O $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/svga/%.o: $(SRC_DIR)/%.c
|
|
$(MAKE_SURE_svga_DIR)
|
|
$(CC) $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/svga/%.o: $(SRC_DIR)/%.s
|
|
$(MAKE_SURE_svga_DIR)
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/svga/%.o: $(COMMON_DIR)/%.c
|
|
$(MAKE_SURE_svga_DIR)
|
|
$(CC) $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $<
|
|
|
|
ifneq ($(QW_COMMON_DIR),)
|
|
$(BUILD_DIR)/svga/%.o: $(QW_COMMON_DIR)/%.c
|
|
$(MAKE_SURE_svga_DIR)
|
|
$(CC) $(CFLAGS) $(SVGA_CFLAGS) -o $@ -c $<
|
|
endif
|
|
|
|
$(BUILD_DIR)/svga/%.o: $(COMMON_DIR)/%.s
|
|
$(MAKE_SURE_svga_DIR)
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(SVGAQUAKE): svga_DIR $(BUILD_DIR)/../$(SVGAQUAKE)
|
|
|
|
$(BUILD_DIR)/../$(SVGAQUAKE): $(OBJSquake-svga)
|
|
$(CC) $(CFLAGS) $(OBJSquake-svga) $(SVGA_LDFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/../$(SVGAQUAKE)
|
|
# XXX - Can this be automated?
|
|
clean-$(SVGAQUAKE):
|
|
rm -f $(OBJSquake-svga)
|
|
endif
|
|
|
|
###########################################################################
|
|
#
|
|
# qw-client-ggi
|
|
#
|
|
ifneq ($(GGIQUAKE),)
|
|
|
|
# Map the list of source files into a list of object files
|
|
ALL_GGI_SRC = $(GENERAL_SRC) $(SW_REND_SRC) $(GGI_VID_SRC) model.c
|
|
OBJSquake-ggi = $(patsubst %,$(BUILD_DIR)/ggi/%,$(addsuffix .@OBJEXT@, $(basename $(ALL_GGI_SRC) .c .s)))
|
|
|
|
GGI_CFLAGS = -DGGI @GGI_CFLAGS@
|
|
GGI_LDFLAGS = @GGI_LIBS@
|
|
GGI_VID_SRC = vid_ggi.c
|
|
|
|
# This can be thought of as a macro that makes sure that the ggi
|
|
# sub-directory is created
|
|
ggi_DIR:
|
|
@DIR=ggi; $(MAKE_SURE_DIR)
|
|
|
|
$(BUILD_DIR)/ggi/%.o: $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(GGI_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/ggi/%.o: $(SRC_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/ggi/%.o: $(COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(GGI_CFLAGS) -o $@ -c $<
|
|
|
|
ifneq ($(QW_COMMON_DIR),)
|
|
$(BUILD_DIR)/ggi/%.o: $(QW_COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(GGI_CFLAGS) -o $@ -c $<
|
|
endif
|
|
|
|
$(BUILD_DIR)/ggi/%.o: $(COMMON_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(GGIQUAKE): ggi_DIR $(BUILD_DIR)/../$(GGIQUAKE)
|
|
|
|
$(BUILD_DIR)/../$(GGIQUAKE): $(OBJSquake-ggi)
|
|
$(CC) $(CFLAGS) $(OBJSquake-ggi) $(GGI_LDFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/../$(GGIQUAKE)
|
|
# XXX - Can this be automated?
|
|
clean-$(GGIQUAKE):
|
|
rm -f $(OBJSquake-ggi)
|
|
endif
|
|
|
|
|
|
###########################################################################
|
|
#
|
|
# qw-client-gl
|
|
#
|
|
ifneq ($(GLQUAKE),)
|
|
OBJSquake-gl = $(patsubst %,$(BUILD_DIR)/gl/%,$(addsuffix .@OBJEXT@, $(basename $(ALL_GL_SRC) .c .s)))
|
|
|
|
GL_CFLAGS = -DGLQUAKE @OGL_CFLAGS@
|
|
GL_LDFLAGS = $(X11_LDFLAGS) @OGL_LIBS@
|
|
# XXX - is this platform independent?
|
|
GL_VID_SRC = gl_vidlinuxglx.c
|
|
|
|
# This can be thought of as a macro that makes sure that the x11
|
|
# sub-directory is created
|
|
gl_DIR:
|
|
@DIR=gl; $(MAKE_SURE_DIR)
|
|
|
|
$(BUILD_DIR)/gl/%.o: $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(GL_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/gl/%.o: $(SRC_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/gl/%.o: $(COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(GL_CFLAGS) -o $@ -c $<
|
|
|
|
ifneq ($(QW_COMMON_DIR),)
|
|
$(BUILD_DIR)/gl/%.o: $(QW_COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(GL_CFLAGS) -o $@ -c $<
|
|
endif
|
|
|
|
$(BUILD_DIR)/gl/%.o: $(COMMON_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(GLQUAKE): gl_DIR $(BUILD_DIR)/../$(GLQUAKE)
|
|
|
|
$(BUILD_DIR)/../$(GLQUAKE): $(OBJSquake-gl)
|
|
$(CC) $(CFLAGS) $(OBJSquake-gl) $(GL_LDFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/../$(GLQUAKE)
|
|
|
|
# XXX - Can this be automated?
|
|
clean-$(GLQUAKE):
|
|
rm -f $(OBJSquake-gl)
|
|
endif
|
|
|
|
###########################################################################
|
|
#
|
|
# qw-client-3dfx
|
|
#
|
|
ifneq ($(TDFXQUAKE),)
|
|
OBJSquake-3dfx = $(patsubst %,$(BUILD_DIR)/3dfx/%,$(addsuffix .@OBJEXT@, $(basename $(ALL_TDFX_SRC) .c .s)))
|
|
|
|
TDFX_CFLAGS = -DGLQUAKE @OGL_CFLAGS@ @GLIDE_CFLAGS@
|
|
TDFX_LDFLAGS = @SVGA_LIBS@ @TDFXGL_LIBS@
|
|
TDFX_VID_SRC = gl_vidlinux_3dfx.c
|
|
|
|
# This can be thought of as a macro that makes sure that the x11
|
|
# sub-directory is created
|
|
3dfx_DIR:
|
|
@DIR=3dfx; $(MAKE_SURE_DIR)
|
|
|
|
$(BUILD_DIR)/3dfx/%.o: $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(TDFX_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/3dfx/%.o: $(SRC_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/3dfx/%.o: $(COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(TDFX_CFLAGS) -o $@ -c $<
|
|
|
|
ifneq ($(QW_COMMON_DIR),)
|
|
$(BUILD_DIR)/3dfx/%.o: $(QW_COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(TDFX_CFLAGS) -o $@ -c $<
|
|
endif
|
|
|
|
$(BUILD_DIR)/3dfx/%.o: $(COMMON_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(TDFXQUAKE): 3dfx_DIR $(BUILD_DIR)/../$(TDFXQUAKE)
|
|
|
|
$(BUILD_DIR)/../$(TDFXQUAKE): $(OBJSquake-3dfx)
|
|
$(CC) $(CFLAGS) $(OBJSquake-3dfx) $(TDFX_LDFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/../$(TDFXQUAKE)
|
|
|
|
# XXX - Can this be automated?
|
|
clean-$(TDFXQUAKE):
|
|
rm -f $(OBJSquake-3dfx)
|
|
endif
|
|
|
|
|
|
###########################################################################
|
|
#
|
|
# qw-client-sdl
|
|
#
|
|
ifneq ($(SDLQUAKE),)
|
|
ALL_SDL_SRC = $(GENERAL_SRC) $(SW_REND_SRC) $(SDL_VID_SRC) model.c
|
|
OBJSquake-sdl= $(patsubst %,$(BUILD_DIR)/sdl/%,$(addsuffix .@OBJEXT@, $(basename $(ALL_SDL_SRC) .c .s)))
|
|
|
|
SDL_CFLAGS = @SDL_CFLAGS@
|
|
SDL_LDFLAGS = @SDL_LIBS@
|
|
SDL_VID_SRC = vid_sdl.c
|
|
|
|
# This can be thought of as a macro that makes sure that the x11
|
|
# sub-directory is created
|
|
sdl_DIR:
|
|
@DIR=sdl; $(MAKE_SURE_DIR)
|
|
|
|
$(BUILD_DIR)/sdl/%.o: $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/sdl/%.o: $(SRC_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(BUILD_DIR)/sdl/%.o: $(COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
|
|
|
|
ifneq ($(QW_COMMON_DIR),)
|
|
$(BUILD_DIR)/sdl/%.o: $(QW_COMMON_DIR)/%.c
|
|
$(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
|
|
endif
|
|
|
|
$(BUILD_DIR)/sdl/%.o: $(COMMON_DIR)/%.s
|
|
$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
|
|
|
|
$(SDLQUAKE): sdl_DIR $(BUILD_DIR)/../$(SDLQUAKE)
|
|
|
|
$(BUILD_DIR)/../$(SDLQUAKE): $(OBJSquake-sdl)
|
|
$(CC) $(CFLAGS) $(OBJSquake-sdl) $(SDL_LDFLAGS) $(LDFLAGS) -o $(BUILD_DIR)/../$(SDLQUAKE)
|
|
# XXX - Can this be automated?
|
|
clean-$(SDLQUAKE):
|
|
rm -f $(OBJSquake-sdl)
|
|
endif
|
|
|
|
###########################################################################
|
|
#
|
|
# cleaning (clean, distclean)
|
|
#
|
|
distclean: clean
|
|
rm -f config.cache config.log config.status Makefile
|
|
|
|
clean: $(CLEAN_TARGETS)
|
|
for i in $(targets); do \
|
|
rm -f $(BUILD_DIR)/../$$i; \
|
|
done
|
|
|
|
install: $(targets)
|
|
$(PROJECT_DIR)/mkinstalldirs $(DESTDIR)$(prefix)$(bindir)
|
|
for i in $(targets); do \
|
|
$(PROJECT_DIR)/install-sh -m 755 $(BUILD_DIR)/../$$i \
|
|
$(DESTDIR)$(prefix)$(bindir)/$$i; \
|
|
done
|
|
|
|
check:
|
|
@echo check not implemented
|