diff options
| author | wyatt8740 <wyatt8740@users.noreply.github.com> | 2024-08-04 21:24:12 -0400 |
|---|---|---|
| committer | wyatt8740 <wyatt8740@users.noreply.github.com> | 2024-08-04 21:24:12 -0400 |
| commit | d2e5a93462902bab7c11aaad1ad52b1dc300d814 (patch) | |
| tree | 8bdfb56f8c1359fe2857d42700e1bd8506d6874e | |
| parent | e40d2a7e2ffc175c98e77bc5df3c8907f7042a1c (diff) | |
| download | quake-pum-d2e5a93462902bab7c11aaad1ad52b1dc300d814.tar.gz | |
almost-working amd64 makefile
| -rw-r--r-- | WinQuake/Makefile.amd64 | 794 |
1 files changed, 794 insertions, 0 deletions
diff --git a/WinQuake/Makefile.amd64 b/WinQuake/Makefile.amd64 new file mode 100644 index 0000000..7bdb3cb --- /dev/null +++ b/WinQuake/Makefile.amd64 @@ -0,0 +1,794 @@ +# Makefile for Linux 2.0 +# +# Aug '98 by Zoid <zoid@idsoftware.com> +# +# ELF only +# + +# wyatt: sdl2 audio, mostly borrowed from quakespasm with some tweaks for +# otherwise-vanilla Quake. +# _comment out_ USE_SDL2 definitions to disable (falls back to OSS DMA sound). +# non-1 values might work for SDL 1.x support, but this is currently +# untested (though likely to work). +USE_SDL2=1 + +# work-in-progress... Trying to remove the need for assembly in SW rendered quake. Oh boy. +NO_X86_ASM=1 + +ifeq ($(NO_X86_ASM),0) +ASM_FLAG = -U__i386__ +ASM_CFLAG = +else +ASM_FLAG = +ASM_CFLAG = -DNO_X86_ASM=1 +endif + +ifeq ($(USE_SDL2),1) +SDL_CONFIG ?= sdl2-config +else +SDL_CONFIG ?= sdl-config +endif +SDL_CFLAGS := $(shell $(SDL_CONFIG) --cflags) -DUSE_SDL2 +SDL_LIBS := $(shell $(SDL_CONFIG) --libs) -lXi -lX11 -lXt -lXxf86vm -lXss -lXrandr -lXcursor -lwayland-client -lxkbcommon -lwayland-cursor -ldrm -lwayland-egl -lgbm -lXinerama -lpulse -lasound + +BASEVERSION=1.09 +VERSION=$(BASEVERSION)$(GLIBC) + +ifneq (,$(findstring libc6,$(shell if [ -e /lib/libc.so.6 ];then echo libc6;fi))) +GLIBC=-glibc +else +GLIBC= +endif + +ifneq (,$(findstring alpha,$(shell uname -m))) +ARCH=axp +else +ARCH=i386 +endif +NOARCH=noarch + +# Edit this path, or you probably will run into trouble. +MOUNT_DIR=/home/wyatt/development/Quake-LinuxUpdate/WinQuake +MASTER_DIR=/grog/Projects/QuakeMaster +MESA_DIR=/usr/local/src/Mesa-2.6 + +BUILD_DEBUG_DIR=debug$(ARCH)$(GLIBC) +BUILD_RELEASE_DIR=release$(ARCH)$(GLIBC) + +EGCS=/usr/bin/gcc +CC=$(EGCS) + +# GCC 10 seems to require -no-pie to function properly. It _definitely_ +# does require -fcommon. -m32 is because I am building on a 64-bit machine +# and this game still has some i386 (32-bit) assembly that I haven't replaced +# or otherwise added alternative, portable code for. +# Hopefully, I'll be able to run this game on PowerPC some day. +BASE_CFLAGS=-Dstricmp=strcasecmp -fcommon -no-pie $(ASM_CFLAG) +# might have to change these, too, if you are on another architecture or +# cross-compiling (don't use 'native'): +RELEASE_CFLAGS=$(BASE_CFLAGS) -g -mtune=native -O3 -march=native +# note that powerpc uses -mcpu instead of -march, if I ever do port it. +DEBUG_CFLAGS=$(BASE_CFLAGS) -g +LDFLAGS=-lm +SVGALDFLAGS=-lvga +XLDFLAGS=-L/usr/X11R6/lib -L/usr/lib/x86_64-linux-gnu -lX11 -lXext /usr/lib/x86_64-linux-gnu/libXxf86dga.so.1.0.0 +XCFLAGS=-DX11 + +MESAGLLDFLAGS=-L/usr/lib/X11 -L/usr/local/lib -L$(MESA_DIR)/lib -lMesaGL -lglide2x -lX11 -lXext -ldl +TDFXGLLDFLAGS=-L$(TDFXGL_DIR)/release$(ARCH)$(GLIBC) -l3dfxgl -lglide2x -ldl +GLLDFLAGS=-L/usr/X11/lib -L/usr/local/lib -lGL -lX11 -lXext -ldl /usr/lib/x86_64-linux-gnu/libXxf86dga.so.1.0.0 /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0 -lm +GLCFLAGS=-DGLQUAKE -I$(MESA_DIR)/include -I/usr/include/glide + +DO_CC=$(CC) $(CFLAGS) $(ASM_FLAG) -o $@ -c $< +DO_DEBUG_CC=$(CC) $(ASM_FLAG) $(DEBUG_CFLAGS) -o $@ -c $< +DO_GL_CC=$(CC) $(CFLAGS) $(ASM_FLAG) $(GLCFLAGS) $(SDL_CFLAGS) -o $@ -c $< +DO_GL_DEBUG_CC=$(CC) $(ASM_FLAG) $(DEBUG_CFLAGS) $(GLCFLAGS) $(SDL_CFLAGS) -o $@ -c $< +DO_X11_CC=$(CC) $(CFLAGS) $(ASM_FLAG) $(XCFLAGS) $(SDL_CFLAGS) -o $@ -c $< +DO_X11_DEBUG_CC=$(CC) $(ASM_FLAG) $(DEBUG_CFLAGS) $(XCFLAGS) $(SDL_CFLAGS) -o $@ -c $< +DO_O_CC=$(CC) -O $(CFLAGS) $(ASM_FLAG) -o $@ -c $< +DO_AS=$(CC) $(CFLAGS) $(ASM_FLAG) -DELF -x assembler-with-cpp -o $@ -c $< +DO_GL_AS=$(CC) $(CFLAGS) $(ASM_FLAG) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< + +############################################################################# +# SETUP AND BUILD +############################################################################# + +# GLQuake build: +# TARGETS=$(BUILDDIR)/bin/glquake.glx + +# X11 Quake (software-rendered) build: +TARGETS=$(BUILDDIR)/bin/quake.x11 + +build_debug: + @-mkdir $(BUILD_DEBUG_DIR) \ + $(BUILD_DEBUG_DIR)/bin \ + $(BUILD_DEBUG_DIR)/glquake \ + $(BUILD_DEBUG_DIR)/squake \ + $(BUILD_DEBUG_DIR)/unixded \ + $(BUILD_DEBUG_DIR)/x11 + $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +build_release: + @-mkdir $(BUILD_RELEASE_DIR) \ + $(BUILD_RELEASE_DIR)/bin \ + $(BUILD_RELEASE_DIR)/glquake \ + $(BUILD_RELEASE_DIR)/squake \ + $(BUILD_RELEASE_DIR)/unixded \ + $(BUILD_RELEASE_DIR)/x11 + $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)" + +all: build_debug build_release + +targets: $(TARGETS) + +############################################################################# +# X11 Quake +############################################################################# +# REPLACED snd_linux.o with snd_sdl.o from quakespasm +# $(BUILDDIR)/x11/snd_linux.o \ + +X11_OBJS = \ + $(BUILDDIR)/x11/cl_demo.o \ + $(BUILDDIR)/x11/cl_input.o \ + $(BUILDDIR)/x11/cl_main.o \ + $(BUILDDIR)/x11/cl_parse.o \ + $(BUILDDIR)/x11/cl_tent.o \ + $(BUILDDIR)/x11/chase.o \ + $(BUILDDIR)/x11/cmd.o \ + $(BUILDDIR)/x11/common.o \ + $(BUILDDIR)/x11/console.o \ + $(BUILDDIR)/x11/crc.o \ + $(BUILDDIR)/x11/cvar.o \ + $(BUILDDIR)/x11/draw.o \ + $(BUILDDIR)/x11/d_edge.o \ + $(BUILDDIR)/x11/d_fill.o \ + $(BUILDDIR)/x11/d_init.o \ + $(BUILDDIR)/x11/d_modech.o \ + $(BUILDDIR)/x11/d_part.o \ + $(BUILDDIR)/x11/d_polyse.o \ + $(BUILDDIR)/x11/d_scan.o \ + $(BUILDDIR)/x11/d_sky.o \ + $(BUILDDIR)/x11/d_sprite.o \ + $(BUILDDIR)/x11/d_surf.o \ + $(BUILDDIR)/x11/d_vars.o \ + $(BUILDDIR)/x11/d_zpoint.o \ + $(BUILDDIR)/x11/host.o \ + $(BUILDDIR)/x11/host_cmd.o \ + $(BUILDDIR)/x11/keys.o \ + $(BUILDDIR)/x11/menu.o \ + $(BUILDDIR)/x11/mathlib.o \ + $(BUILDDIR)/x11/model.o \ + $(BUILDDIR)/x11/net_dgrm.o \ + $(BUILDDIR)/x11/net_loop.o \ + $(BUILDDIR)/x11/net_main.o \ + $(BUILDDIR)/x11/net_vcr.o \ + $(BUILDDIR)/x11/net_udp.o \ + $(BUILDDIR)/x11/net_bsd.o \ + $(BUILDDIR)/x11/pr_cmds.o \ + $(BUILDDIR)/x11/pr_edict.o \ + $(BUILDDIR)/x11/pr_exec.o \ + $(BUILDDIR)/x11/r_aclip.o \ + $(BUILDDIR)/x11/r_alias.o \ + $(BUILDDIR)/x11/r_bsp.o \ + $(BUILDDIR)/x11/r_light.o \ + $(BUILDDIR)/x11/r_draw.o \ + $(BUILDDIR)/x11/r_efrag.o \ + $(BUILDDIR)/x11/r_edge.o \ + $(BUILDDIR)/x11/r_misc.o \ + $(BUILDDIR)/x11/r_main.o \ + $(BUILDDIR)/x11/r_sky.o \ + $(BUILDDIR)/x11/r_sprite.o \ + $(BUILDDIR)/x11/r_surf.o \ + $(BUILDDIR)/x11/r_part.o \ + $(BUILDDIR)/x11/r_vars.o \ + $(BUILDDIR)/x11/screen.o \ + $(BUILDDIR)/x11/sbar.o \ + $(BUILDDIR)/x11/sv_main.o \ + $(BUILDDIR)/x11/sv_phys.o \ + $(BUILDDIR)/x11/sv_move.o \ + $(BUILDDIR)/x11/sv_user.o \ + $(BUILDDIR)/x11/zone.o \ + $(BUILDDIR)/x11/view.o \ + $(BUILDDIR)/x11/wad.o \ + $(BUILDDIR)/x11/world.o \ + $(BUILDDIR)/x11/cd_linux.o \ + $(BUILDDIR)/x11/sys_linux.o \ + $(BUILDDIR)/x11/vid_x.o \ + $(BUILDDIR)/x11/snd_dma.o \ + $(BUILDDIR)/x11/snd_mem.o \ + $(BUILDDIR)/x11/snd_mix.o + + +ifeq ($(NO_X86_ASM),1) +X11_OBJS := $(X11_OBJS) \ + $(BUILDDIR)/x11/nonintel.o +else +X11_OBJS := $(X11_OBJS) \ + $(BUILDDIR)/x11/d_draw.o \ + $(BUILDDIR)/x11/d_draw16.o \ + $(BUILDDIR)/x11/d_parta.o \ + $(BUILDDIR)/x11/d_polysa.o \ + $(BUILDDIR)/x11/d_scana.o \ + $(BUILDDIR)/x11/d_spr8.o \ + $(BUILDDIR)/x11/d_varsa.o \ + $(BUILDDIR)/x11/math.o \ + $(BUILDDIR)/x11/r_aliasa.o \ + $(BUILDDIR)/x11/r_drawa.o \ + $(BUILDDIR)/x11/r_edgea.o \ + $(BUILDDIR)/x11/r_varsa.o \ + $(BUILDDIR)/x11/surf16.o \ + $(BUILDDIR)/x11/surf8.o \ + $(BUILDDIR)/x11/worlda.o \ + $(BUILDDIR)/x11/r_aclipa.o \ + $(BUILDDIR)/x11/snd_mixa.o \ + $(BUILDDIR)/x11/sys_dosa.o +endif + +ifeq ($(USE_SDL2),1) +# sdl sound +X11_OBJS := $(X11_OBJS) \ + $(BUILDDIR)/x11/snd_sdl.o +else +# OSS sound +X11_OBJS := $(X11_OBJS) \ + $(BUILDDIR)/x11/snd_linux.o +endif + +$(BUILDDIR)/bin/quake.x11 : $(X11_OBJS) + $(CC) $(CFLAGS) -o $@ $(X11_OBJS) $(XLDFLAGS) $(SDL_LIBS) $(LDFLAGS) + +#### + +$(BUILDDIR)/x11/cl_demo.o : $(MOUNT_DIR)/cl_demo.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cl_input.o : $(MOUNT_DIR)/cl_input.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cl_main.o : $(MOUNT_DIR)/cl_main.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cl_parse.o : $(MOUNT_DIR)/cl_parse.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cl_tent.o : $(MOUNT_DIR)/cl_tent.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/chase.o : $(MOUNT_DIR)/chase.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cmd.o : $(MOUNT_DIR)/cmd.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/common.o : $(MOUNT_DIR)/common.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/console.o : $(MOUNT_DIR)/console.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/crc.o : $(MOUNT_DIR)/crc.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cvar.o : $(MOUNT_DIR)/cvar.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/draw.o : $(MOUNT_DIR)/draw.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_edge.o : $(MOUNT_DIR)/d_edge.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_fill.o : $(MOUNT_DIR)/d_fill.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_init.o : $(MOUNT_DIR)/d_init.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_modech.o : $(MOUNT_DIR)/d_modech.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_part.o : $(MOUNT_DIR)/d_part.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_polyse.o : $(MOUNT_DIR)/d_polyse.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_scan.o : $(MOUNT_DIR)/d_scan.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_sky.o : $(MOUNT_DIR)/d_sky.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_sprite.o : $(MOUNT_DIR)/d_sprite.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_surf.o : $(MOUNT_DIR)/d_surf.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_vars.o : $(MOUNT_DIR)/d_vars.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/d_zpoint.o : $(MOUNT_DIR)/d_zpoint.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/host.o : $(MOUNT_DIR)/host.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/host_cmd.o : $(MOUNT_DIR)/host_cmd.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/keys.o : $(MOUNT_DIR)/keys.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/menu.o : $(MOUNT_DIR)/menu.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/mathlib.o : $(MOUNT_DIR)/mathlib.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/model.o : $(MOUNT_DIR)/model.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/net_loop.o : $(MOUNT_DIR)/net_loop.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/net_main.o : $(MOUNT_DIR)/net_main.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/net_vcr.o : $(MOUNT_DIR)/net_vcr.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/net_udp.o : $(MOUNT_DIR)/net_udp.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/net_bsd.o : $(MOUNT_DIR)/net_bsd.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/nonintel.o : $(MOUNT_DIR)/nonintel.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/pr_cmds.o : $(MOUNT_DIR)/pr_cmds.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/pr_edict.o : $(MOUNT_DIR)/pr_edict.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/pr_exec.o : $(MOUNT_DIR)/pr_exec.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_aclip.o : $(MOUNT_DIR)/r_aclip.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_alias.o : $(MOUNT_DIR)/r_alias.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_bsp.o : $(MOUNT_DIR)/r_bsp.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_light.o : $(MOUNT_DIR)/r_light.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_draw.o : $(MOUNT_DIR)/r_draw.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_efrag.o : $(MOUNT_DIR)/r_efrag.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_edge.o : $(MOUNT_DIR)/r_edge.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_misc.o : $(MOUNT_DIR)/r_misc.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_main.o : $(MOUNT_DIR)/r_main.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_sky.o : $(MOUNT_DIR)/r_sky.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_sprite.o : $(MOUNT_DIR)/r_sprite.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_surf.o : $(MOUNT_DIR)/r_surf.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_part.o : $(MOUNT_DIR)/r_part.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/r_vars.o : $(MOUNT_DIR)/r_vars.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/screen.o : $(MOUNT_DIR)/screen.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/sbar.o : $(MOUNT_DIR)/sbar.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/sv_main.o : $(MOUNT_DIR)/sv_main.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/sv_phys.o : $(MOUNT_DIR)/sv_phys.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/sv_move.o : $(MOUNT_DIR)/sv_move.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/sv_user.o : $(MOUNT_DIR)/sv_user.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/zone.o : $(MOUNT_DIR)/zone.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/view.o : $(MOUNT_DIR)/view.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/wad.o : $(MOUNT_DIR)/wad.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/world.o : $(MOUNT_DIR)/world.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/cd_linux.o : $(MOUNT_DIR)/cd_linux.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/sys_linux.o :$(MOUNT_DIR)/sys_linux.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/vid_x.o: $(MOUNT_DIR)/vid_x.c + $(DO_O_CC) + +$(BUILDDIR)/x11/snd_dma.o : $(MOUNT_DIR)/snd_dma.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/snd_mem.o : $(MOUNT_DIR)/snd_mem.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/snd_mix.o : $(MOUNT_DIR)/snd_mix.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/snd_linux.o :$(MOUNT_DIR)/snd_linux.c + $(DO_X11_CC) + +$(BUILDDIR)/x11/snd_sdl.o :$(MOUNT_DIR)/snd_sdl.c + $(DO_X11_CC) + +##### + +$(BUILDDIR)/x11/d_copy.o : $(MOUNT_DIR)/d_copy.s + $(DO_AS) + +$(BUILDDIR)/x11/d_draw.o : $(MOUNT_DIR)/d_draw.s + $(DO_AS) + +$(BUILDDIR)/x11/d_draw16.o : $(MOUNT_DIR)/d_draw16.s + $(DO_AS) + +$(BUILDDIR)/x11/d_parta.o : $(MOUNT_DIR)/d_parta.s + $(DO_AS) + +$(BUILDDIR)/x11/d_polysa.o : $(MOUNT_DIR)/d_polysa.s + $(DO_AS) + +$(BUILDDIR)/x11/d_scana.o : $(MOUNT_DIR)/d_scana.s + $(DO_AS) + +$(BUILDDIR)/x11/d_spr8.o : $(MOUNT_DIR)/d_spr8.s + $(DO_AS) + +$(BUILDDIR)/x11/d_varsa.o : $(MOUNT_DIR)/d_varsa.s + $(DO_AS) + +$(BUILDDIR)/x11/math.o : $(MOUNT_DIR)/math.s + $(DO_AS) + +$(BUILDDIR)/x11/r_aliasa.o : $(MOUNT_DIR)/r_aliasa.s + $(DO_AS) + +$(BUILDDIR)/x11/r_drawa.o : $(MOUNT_DIR)/r_drawa.s + $(DO_AS) + +$(BUILDDIR)/x11/r_edgea.o : $(MOUNT_DIR)/r_edgea.s + $(DO_AS) + +$(BUILDDIR)/x11/r_varsa.o : $(MOUNT_DIR)/r_varsa.s + $(DO_AS) + +$(BUILDDIR)/x11/surf16.o : $(MOUNT_DIR)/surf16.s + $(DO_AS) + +$(BUILDDIR)/x11/surf8.o : $(MOUNT_DIR)/surf8.s + $(DO_AS) + +$(BUILDDIR)/x11/worlda.o : $(MOUNT_DIR)/worlda.s + $(DO_AS) + +$(BUILDDIR)/x11/r_aclipa.o : $(MOUNT_DIR)/r_aclipa.s + $(DO_AS) + +$(BUILDDIR)/x11/snd_mixa.o : $(MOUNT_DIR)/snd_mixa.s + $(DO_AS) + +$(BUILDDIR)/x11/sys_dosa.o : $(MOUNT_DIR)/sys_dosa.s + $(DO_AS) + +############################################################################# +# GLQuake +############################################################################# + +GLQUAKE_OBJS= \ + $(BUILDDIR)/glquake/cl_demo.o \ + $(BUILDDIR)/glquake/cl_input.o \ + $(BUILDDIR)/glquake/cl_main.o \ + $(BUILDDIR)/glquake/cl_parse.o \ + $(BUILDDIR)/glquake/cl_tent.o \ + $(BUILDDIR)/glquake/chase.o \ + $(BUILDDIR)/glquake/cmd.o \ + $(BUILDDIR)/glquake/common.o \ + $(BUILDDIR)/glquake/console.o \ + $(BUILDDIR)/glquake/crc.o \ + $(BUILDDIR)/glquake/cvar.o \ + \ + $(BUILDDIR)/glquake/gl_draw.o \ + $(BUILDDIR)/glquake/gl_mesh.o \ + $(BUILDDIR)/glquake/gl_model.o \ + $(BUILDDIR)/glquake/gl_refrag.o \ + $(BUILDDIR)/glquake/gl_rlight.o \ + $(BUILDDIR)/glquake/gl_rmain.o \ + $(BUILDDIR)/glquake/gl_rmisc.o \ + $(BUILDDIR)/glquake/gl_rsurf.o \ + $(BUILDDIR)/glquake/gl_screen.o \ + $(BUILDDIR)/glquake/gl_test.o \ + $(BUILDDIR)/glquake/gl_warp.o \ + \ + $(BUILDDIR)/glquake/host.o \ + $(BUILDDIR)/glquake/host_cmd.o \ + $(BUILDDIR)/glquake/keys.o \ + $(BUILDDIR)/glquake/menu.o \ + $(BUILDDIR)/glquake/mathlib.o \ + $(BUILDDIR)/glquake/net_dgrm.o \ + $(BUILDDIR)/glquake/net_loop.o \ + $(BUILDDIR)/glquake/net_main.o \ + $(BUILDDIR)/glquake/net_vcr.o \ + $(BUILDDIR)/glquake/net_udp.o \ + $(BUILDDIR)/glquake/net_bsd.o \ + $(BUILDDIR)/glquake/pr_cmds.o \ + $(BUILDDIR)/glquake/pr_edict.o \ + $(BUILDDIR)/glquake/pr_exec.o \ + $(BUILDDIR)/glquake/r_part.o \ + $(BUILDDIR)/glquake/sbar.o \ + $(BUILDDIR)/glquake/sv_main.o \ + $(BUILDDIR)/glquake/sv_phys.o \ + $(BUILDDIR)/glquake/sv_move.o \ + $(BUILDDIR)/glquake/sv_user.o \ + $(BUILDDIR)/glquake/zone.o \ + $(BUILDDIR)/glquake/view.o \ + $(BUILDDIR)/glquake/wad.o \ + $(BUILDDIR)/glquake/world.o \ + $(BUILDDIR)/glquake/cd_linux.o \ + $(BUILDDIR)/glquake/sys_linux.o \ + $(BUILDDIR)/glquake/snd_dma.o \ + $(BUILDDIR)/glquake/snd_mem.o \ + $(BUILDDIR)/glquake/snd_mix.o \ + \ + $(BUILDDIR)/glquake/math.o \ + $(BUILDDIR)/glquake/worlda.o \ + $(BUILDDIR)/glquake/snd_mixa.o \ + $(BUILDDIR)/glquake/sys_dosa.o + +ifeq ($(USE_SDL2),1) +# sdl sound +GLQUAKE_OBJS := $(GLQUAKE_OBJS) \ + $(BUILDDIR)/glquake/snd_sdl.o +else +# OSS sound +GLQUAKE_OBJS := $(GLQUAkE_OBJS) \ + $(BUILDDIR)/glquake/snd_linux.o +endif + +GLSVGA_OBJS=$(BUILDDIR)/glquake/gl_vidlinux.o + +GLX_OBJS=$(BUILDDIR)/glquake/gl_vidlinuxglx.o + +$(BUILDDIR)/bin/glquake : $(GLQUAKE_OBJS) $(GLSVGA_OBJS) + $(CC) $(CFLAGS) -o $@ $(GLQUAKE_OBJS) $(GLSVGA_OBJS) $(MESAGLLDFLAGS) $(SVGALDFLAGS) $(SDL_LIBS) $(LDFLAGS) + +$(BUILDDIR)/bin/glquake.glx : $(GLQUAKE_OBJS) $(GLX_OBJS) + $(CC) $(CFLAGS) -o $@ $(GLQUAKE_OBJS) $(GLX_OBJS) $(GLLDFLAGS) $(SDL_LIBS) $(LDFLAGS) + +$(BUILDDIR)/bin/glquake.3dfxgl : $(GLQUAKE_OBJS) $(GLSVGA_OBJS) + $(CC) $(CFLAGS) -o $@ $(GLQUAKE_OBJS) $(GLSVGA_OBJS) $(TDFXGLLDFLAGS) $(SVGALDFLAGS) $(SDL_LIBS) $(LDFLAGS) + +$(BUILDDIR)/glquake/cl_demo.o : $(MOUNT_DIR)/cl_demo.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cl_input.o : $(MOUNT_DIR)/cl_input.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cl_main.o : $(MOUNT_DIR)/cl_main.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cl_parse.o : $(MOUNT_DIR)/cl_parse.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cl_tent.o : $(MOUNT_DIR)/cl_tent.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/chase.o : $(MOUNT_DIR)/chase.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cmd.o : $(MOUNT_DIR)/cmd.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/common.o : $(MOUNT_DIR)/common.c + $(DO_GL_DEBUG_CC) + +$(BUILDDIR)/glquake/console.o : $(MOUNT_DIR)/console.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/crc.o : $(MOUNT_DIR)/crc.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cvar.o : $(MOUNT_DIR)/cvar.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_draw.o : $(MOUNT_DIR)/gl_draw.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_mesh.o : $(MOUNT_DIR)/gl_mesh.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_model.o : $(MOUNT_DIR)/gl_model.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_refrag.o : $(MOUNT_DIR)/gl_refrag.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_rlight.o : $(MOUNT_DIR)/gl_rlight.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_rmain.o : $(MOUNT_DIR)/gl_rmain.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_rmisc.o : $(MOUNT_DIR)/gl_rmisc.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_rsurf.o : $(MOUNT_DIR)/gl_rsurf.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_screen.o : $(MOUNT_DIR)/gl_screen.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_test.o : $(MOUNT_DIR)/gl_test.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_vidlinux.o : $(MOUNT_DIR)/gl_vidlinux.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_vidlinuxglx.o : $(MOUNT_DIR)/gl_vidlinuxglx.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/gl_warp.o : $(MOUNT_DIR)/gl_warp.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/host.o : $(MOUNT_DIR)/host.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/host_cmd.o : $(MOUNT_DIR)/host_cmd.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/keys.o : $(MOUNT_DIR)/keys.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/menu.o : $(MOUNT_DIR)/menu.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/mathlib.o : $(MOUNT_DIR)/mathlib.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/net_loop.o : $(MOUNT_DIR)/net_loop.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/net_main.o : $(MOUNT_DIR)/net_main.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/net_vcr.o : $(MOUNT_DIR)/net_vcr.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/net_udp.o : $(MOUNT_DIR)/net_udp.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/net_bsd.o : $(MOUNT_DIR)/net_bsd.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/pr_cmds.o : $(MOUNT_DIR)/pr_cmds.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/pr_edict.o : $(MOUNT_DIR)/pr_edict.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/pr_exec.o : $(MOUNT_DIR)/pr_exec.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/r_part.o : $(MOUNT_DIR)/r_part.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/sbar.o : $(MOUNT_DIR)/sbar.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/sv_main.o : $(MOUNT_DIR)/sv_main.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/sv_phys.o : $(MOUNT_DIR)/sv_phys.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/sv_move.o : $(MOUNT_DIR)/sv_move.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/sv_user.o : $(MOUNT_DIR)/sv_user.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/zone.o : $(MOUNT_DIR)/zone.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/view.o : $(MOUNT_DIR)/view.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/wad.o : $(MOUNT_DIR)/wad.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/world.o : $(MOUNT_DIR)/world.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/cd_linux.o : $(MOUNT_DIR)/cd_linux.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/sys_linux.o : $(MOUNT_DIR)/sys_linux.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/snd_dma.o : $(MOUNT_DIR)/snd_dma.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/snd_mem.o : $(MOUNT_DIR)/snd_mem.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/snd_mix.o : $(MOUNT_DIR)/snd_mix.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/snd_linux.o : $(MOUNT_DIR)/snd_linux.c + $(DO_GL_CC) + +$(BUILDDIR)/glquake/math.o : $(MOUNT_DIR)/math.s + $(DO_GL_AS) + +$(BUILDDIR)/glquake/worlda.o : $(MOUNT_DIR)/worlda.s + $(DO_GL_AS) + +$(BUILDDIR)/glquake/snd_mixa.o : $(MOUNT_DIR)/snd_mixa.s + $(DO_GL_AS) + +$(BUILDDIR)/glquake/sys_dosa.o : $(MOUNT_DIR)/sys_dosa.s + $(DO_GL_AS) + +############################################################################# +# MISC +############################################################################# + +clean: clean-debug clean-release + rm -f squake.spec glquake.spec quake.x11.spec + +clean-debug: + $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +clean-release: + $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)" + +clean2: + -rm -f $(SQUAKE_OBJS) $(X11_OBJS) $(GLQUAKE_OBJS) $(GLSVGA_OBJS) \ + $(GLX_OBJS) + |
