# # Quake Makefile for Linux 2.0 # # Aug '98 by Zoid # # ELF only # # ============================ # # Quake X11 Makefile for Linux # # Jul 2015 by eukara # 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 MOUNT_DIR=./ MASTER_DIR=./ BUILD_DEBUG_DIR=debug BUILD_RELEASE_DIR=release CC=gcc -m32 BASE_CFLAGS=-Dstricmp=strcasecmp RELEASE_CFLAGS=$(BASE_CFLAGS) DEBUG_CFLAGS=$(BASE_CFLAGS) -g LDFLAGS=-lm -ldl XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga XCFLAGS=-DX11 DO_CC=$(CC) $(CFLAGS) -o $@ -c $< DO_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) -o $@ -c $< DO_GL_CC=$(CC) $(CFLAGS) $(GLCFLAGS) -o $@ -c $< DO_GL_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) $(GLCFLAGS) -o $@ -c $< DO_X11_CC=$(CC) $(CFLAGS) $(XCFLAGS) -o $@ -c $< DO_X11_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) $(XCFLAGS) -o $@ -c $< DO_O_CC=$(CC) -O $(CFLAGS) -o $@ -c $< DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< DO_GL_AS=$(CC) $(CFLAGS) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< ############################################################################# # SETUP AND BUILD ############################################################################# TARGETS=$(BUILDDIR)/engoo.x11 build_debug: @-mkdir $(BUILD_DEBUG_DIR) \ $(BUILD_DEBUG_DIR)/obj $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" build_release: @-mkdir $(BUILD_RELEASE_DIR) \ $(BUILD_RELEASE_DIR)/obj $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)" all: build_debug build_release targets: $(TARGETS) ############################################################################# # X11 Quake ############################################################################# X11_OBJS = \ $(BUILDDIR)/obj/cl_demo.o \ $(BUILDDIR)/obj/cl_input.o \ $(BUILDDIR)/obj/cl_main.o \ $(BUILDDIR)/obj/cl_parse.o \ $(BUILDDIR)/obj/cl_tent.o \ $(BUILDDIR)/obj/chase.o \ $(BUILDDIR)/obj/cmd.o \ $(BUILDDIR)/obj/common.o \ $(BUILDDIR)/obj/console.o \ $(BUILDDIR)/obj/crc.o \ $(BUILDDIR)/obj/cvar.o \ $(BUILDDIR)/obj/draw.o \ $(BUILDDIR)/obj/d_edge.o \ $(BUILDDIR)/obj/d_fill.o \ $(BUILDDIR)/obj/d_init.o \ $(BUILDDIR)/obj/d_modech.o \ $(BUILDDIR)/obj/d_part.o \ $(BUILDDIR)/obj/d_polyse.o \ $(BUILDDIR)/obj/d_scan.o \ $(BUILDDIR)/obj/d_sky.o \ $(BUILDDIR)/obj/d_sprite.o \ $(BUILDDIR)/obj/d_surf.o \ $(BUILDDIR)/obj/d_vars.o \ $(BUILDDIR)/obj/d_zpoint.o \ $(BUILDDIR)/obj/host.o \ $(BUILDDIR)/obj/host_cmd.o \ $(BUILDDIR)/obj/keys.o \ $(BUILDDIR)/obj/menu.o \ $(BUILDDIR)/obj/mathlib.o \ $(BUILDDIR)/obj/model.o \ $(BUILDDIR)/obj/model_common.o \ $(BUILDDIR)/obj/net_dgrm.o \ $(BUILDDIR)/obj/net_loop.o \ $(BUILDDIR)/obj/net_main.o \ $(BUILDDIR)/obj/net_vcr.o \ $(BUILDDIR)/obj/net_udp.o \ $(BUILDDIR)/obj/net_bsd.o \ $(BUILDDIR)/obj/nonintel.o \ $(BUILDDIR)/obj/pr_cmds.o \ $(BUILDDIR)/obj/pr_edict.o \ $(BUILDDIR)/obj/pr_exec.o \ $(BUILDDIR)/obj/r_aclip.o \ $(BUILDDIR)/obj/r_alias.o \ $(BUILDDIR)/obj/r_bsp.o \ $(BUILDDIR)/obj/r_light.o \ $(BUILDDIR)/obj/r_draw.o \ $(BUILDDIR)/obj/r_efrag.o \ $(BUILDDIR)/obj/r_edge.o \ $(BUILDDIR)/obj/r_misc.o \ $(BUILDDIR)/obj/r_main.o \ $(BUILDDIR)/obj/r_sky.o \ $(BUILDDIR)/obj/r_sprite.o \ $(BUILDDIR)/obj/r_surf.o \ $(BUILDDIR)/obj/r_part.o \ $(BUILDDIR)/obj/r_vars.o \ $(BUILDDIR)/obj/screen.o \ $(BUILDDIR)/obj/sbar.o \ $(BUILDDIR)/obj/sv_main.o \ $(BUILDDIR)/obj/sv_phys.o \ $(BUILDDIR)/obj/sv_move.o \ $(BUILDDIR)/obj/sv_user.o \ $(BUILDDIR)/obj/zone.o \ $(BUILDDIR)/obj/view.o \ $(BUILDDIR)/obj/wad.o \ $(BUILDDIR)/obj/world.o \ $(BUILDDIR)/obj/cd_linux.o \ $(BUILDDIR)/obj/sys_linux.o \ $(BUILDDIR)/obj/vid_x.o \ $(BUILDDIR)/obj/snd_dma.o \ $(BUILDDIR)/obj/snd_mem.o \ $(BUILDDIR)/obj/snd_mix.o \ $(BUILDDIR)/obj/snd_linux.o \ $(BUILDDIR)/obj/bot.o \ $(BUILDDIR)/obj/nvs_client.o \ $(BUILDDIR)/obj/nvs_common.o \ $(BUILDDIR)/obj/nvs_server.o \ $(BUILDDIR)/obj/nvs_server_data.o \ \ $(BUILDDIR)/obj/d_draw.o \ $(BUILDDIR)/obj/d_draw16.o \ $(BUILDDIR)/obj/d_parta.o \ $(BUILDDIR)/obj/d_polysa.o \ $(BUILDDIR)/obj/d_scana.o \ $(BUILDDIR)/obj/d_spr8.o \ $(BUILDDIR)/obj/d_varsa.o \ $(BUILDDIR)/obj/math.o \ $(BUILDDIR)/obj/r_aliasa.o \ $(BUILDDIR)/obj/r_drawa.o \ $(BUILDDIR)/obj/r_edgea.o \ $(BUILDDIR)/obj/r_varsa.o \ $(BUILDDIR)/obj/surf16.o \ $(BUILDDIR)/obj/surf8.o \ $(BUILDDIR)/obj/surf8fst.o \ $(BUILDDIR)/obj/worlda.o \ $(BUILDDIR)/obj/r_aclipa.o \ $(BUILDDIR)/obj/snd_mixa.o \ $(BUILDDIR)/obj/sys_dosa.o $(BUILDDIR)/engoo.x11 : $(X11_OBJS) $(CC) $(CFLAGS) -o $@ $(X11_OBJS) $(XLDFLAGS) $(LDFLAGS) #### $(BUILDDIR)/obj/cl_demo.o : $(MOUNT_DIR)/cl_demo.c $(DO_X11_CC) $(BUILDDIR)/obj/cl_input.o : $(MOUNT_DIR)/cl_input.c $(DO_X11_CC) $(BUILDDIR)/obj/cl_main.o : $(MOUNT_DIR)/cl_main.c $(DO_X11_CC) $(BUILDDIR)/obj/cl_parse.o : $(MOUNT_DIR)/cl_parse.c $(DO_X11_CC) $(BUILDDIR)/obj/cl_tent.o : $(MOUNT_DIR)/cl_tent.c $(DO_X11_CC) $(BUILDDIR)/obj/chase.o : $(MOUNT_DIR)/chase.c $(DO_X11_CC) $(BUILDDIR)/obj/cmd.o : $(MOUNT_DIR)/cmd.c $(DO_X11_CC) $(BUILDDIR)/obj/common.o : $(MOUNT_DIR)/common.c $(DO_X11_DEBUG_CC) $(BUILDDIR)/obj/console.o : $(MOUNT_DIR)/console.c $(DO_X11_CC) $(BUILDDIR)/obj/crc.o : $(MOUNT_DIR)/crc.c $(DO_X11_CC) $(BUILDDIR)/obj/cvar.o : $(MOUNT_DIR)/cvar.c $(DO_X11_CC) $(BUILDDIR)/obj/draw.o : $(MOUNT_DIR)/draw.c $(DO_X11_CC) $(BUILDDIR)/obj/d_edge.o : $(MOUNT_DIR)/d_edge.c $(DO_X11_CC) $(BUILDDIR)/obj/d_fill.o : $(MOUNT_DIR)/d_fill.c $(DO_X11_CC) $(BUILDDIR)/obj/d_init.o : $(MOUNT_DIR)/d_init.c $(DO_X11_CC) $(BUILDDIR)/obj/d_modech.o : $(MOUNT_DIR)/d_modech.c $(DO_X11_CC) $(BUILDDIR)/obj/d_part.o : $(MOUNT_DIR)/d_part.c $(DO_X11_CC) $(BUILDDIR)/obj/d_polyse.o : $(MOUNT_DIR)/d_polyse.c $(DO_X11_CC) $(BUILDDIR)/obj/d_scan.o : $(MOUNT_DIR)/d_scan.c $(DO_X11_CC) $(BUILDDIR)/obj/d_sky.o : $(MOUNT_DIR)/d_sky.c $(DO_X11_CC) $(BUILDDIR)/obj/d_sprite.o : $(MOUNT_DIR)/d_sprite.c $(DO_X11_CC) $(BUILDDIR)/obj/d_surf.o : $(MOUNT_DIR)/d_surf.c $(DO_X11_CC) $(BUILDDIR)/obj/d_vars.o : $(MOUNT_DIR)/d_vars.c $(DO_X11_CC) $(BUILDDIR)/obj/d_zpoint.o : $(MOUNT_DIR)/d_zpoint.c $(DO_X11_CC) $(BUILDDIR)/obj/host.o : $(MOUNT_DIR)/host.c $(DO_X11_CC) $(BUILDDIR)/obj/host_cmd.o : $(MOUNT_DIR)/host_cmd.c $(DO_X11_CC) $(BUILDDIR)/obj/keys.o : $(MOUNT_DIR)/keys.c $(DO_X11_CC) $(BUILDDIR)/obj/menu.o : $(MOUNT_DIR)/menu.c $(DO_X11_CC) $(BUILDDIR)/obj/mathlib.o : $(MOUNT_DIR)/mathlib.c $(DO_X11_CC) $(BUILDDIR)/obj/model.o : $(MOUNT_DIR)/model.c $(DO_X11_CC) $(BUILDDIR)/obj/model_common.o :$(MOUNT_DIR)/model_common.c $(DO_X11_CC) $(BUILDDIR)/obj/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c $(DO_X11_CC) $(BUILDDIR)/obj/net_loop.o : $(MOUNT_DIR)/net_loop.c $(DO_X11_CC) $(BUILDDIR)/obj/net_main.o : $(MOUNT_DIR)/net_main.c $(DO_X11_CC) $(BUILDDIR)/obj/net_vcr.o : $(MOUNT_DIR)/net_vcr.c $(DO_X11_CC) $(BUILDDIR)/obj/net_udp.o : $(MOUNT_DIR)/net_udp.c $(DO_X11_CC) $(BUILDDIR)/obj/net_bsd.o : $(MOUNT_DIR)/net_bsd.c $(DO_X11_CC) $(BUILDDIR)/obj/nonintel.o : $(MOUNT_DIR)/nonintel.c $(DO_X11_CC) $(BUILDDIR)/obj/pr_cmds.o : $(MOUNT_DIR)/pr_cmds.c $(DO_X11_CC) $(BUILDDIR)/obj/pr_edict.o : $(MOUNT_DIR)/pr_edict.c $(DO_X11_CC) $(BUILDDIR)/obj/pr_exec.o : $(MOUNT_DIR)/pr_exec.c $(DO_X11_CC) $(BUILDDIR)/obj/r_aclip.o : $(MOUNT_DIR)/r_aclip.c $(DO_X11_CC) $(BUILDDIR)/obj/r_alias.o : $(MOUNT_DIR)/r_alias.c $(DO_X11_CC) $(BUILDDIR)/obj/r_bsp.o : $(MOUNT_DIR)/r_bsp.c $(DO_X11_CC) $(BUILDDIR)/obj/r_light.o : $(MOUNT_DIR)/r_light.c $(DO_X11_CC) $(BUILDDIR)/obj/r_draw.o : $(MOUNT_DIR)/r_draw.c $(DO_X11_CC) $(BUILDDIR)/obj/r_efrag.o : $(MOUNT_DIR)/r_efrag.c $(DO_X11_CC) $(BUILDDIR)/obj/r_edge.o : $(MOUNT_DIR)/r_edge.c $(DO_X11_CC) $(BUILDDIR)/obj/r_misc.o : $(MOUNT_DIR)/r_misc.c $(DO_X11_CC) $(BUILDDIR)/obj/r_main.o : $(MOUNT_DIR)/r_main.c $(DO_X11_CC) $(BUILDDIR)/obj/r_sky.o : $(MOUNT_DIR)/r_sky.c $(DO_X11_CC) $(BUILDDIR)/obj/r_sprite.o : $(MOUNT_DIR)/r_sprite.c $(DO_X11_CC) $(BUILDDIR)/obj/r_surf.o : $(MOUNT_DIR)/r_surf.c $(DO_X11_CC) $(BUILDDIR)/obj/r_part.o : $(MOUNT_DIR)/r_part.c $(DO_X11_CC) $(BUILDDIR)/obj/r_vars.o : $(MOUNT_DIR)/r_vars.c $(DO_X11_CC) $(BUILDDIR)/obj/screen.o : $(MOUNT_DIR)/screen.c $(DO_X11_CC) $(BUILDDIR)/obj/sbar.o : $(MOUNT_DIR)/sbar.c $(DO_X11_CC) $(BUILDDIR)/obj/sv_main.o : $(MOUNT_DIR)/sv_main.c $(DO_X11_CC) $(BUILDDIR)/obj/sv_phys.o : $(MOUNT_DIR)/sv_phys.c $(DO_X11_CC) $(BUILDDIR)/obj/sv_move.o : $(MOUNT_DIR)/sv_move.c $(DO_X11_CC) $(BUILDDIR)/obj/sv_user.o : $(MOUNT_DIR)/sv_user.c $(DO_X11_CC) $(BUILDDIR)/obj/zone.o : $(MOUNT_DIR)/zone.c $(DO_X11_CC) $(BUILDDIR)/obj/view.o : $(MOUNT_DIR)/view.c $(DO_X11_CC) $(BUILDDIR)/obj/wad.o : $(MOUNT_DIR)/wad.c $(DO_X11_CC) $(BUILDDIR)/obj/world.o : $(MOUNT_DIR)/world.c $(DO_X11_CC) $(BUILDDIR)/obj/cd_linux.o : $(MOUNT_DIR)/cd_linux.c $(DO_X11_CC) $(BUILDDIR)/obj/sys_linux.o :$(MOUNT_DIR)/sys_linux.c $(DO_X11_CC) $(BUILDDIR)/obj/vid_x.o: $(MOUNT_DIR)/vid_x.c $(DO_O_CC) $(BUILDDIR)/obj/snd_dma.o : $(MOUNT_DIR)/snd_dma.c $(DO_X11_CC) $(BUILDDIR)/obj/snd_mem.o : $(MOUNT_DIR)/snd_mem.c $(DO_X11_CC) $(BUILDDIR)/obj/snd_mix.o : $(MOUNT_DIR)/snd_mix.c $(DO_X11_CC) $(BUILDDIR)/obj/snd_linux.o :$(MOUNT_DIR)/snd_linux.c $(DO_X11_CC) $(BUILDDIR)/obj/bot.o :$(MOUNT_DIR)/bot.c $(DO_X11_CC) $(BUILDDIR)/obj/nvs_client.o :$(MOUNT_DIR)/nvs_client.c $(DO_X11_CC) $(BUILDDIR)/obj/nvs_common.o :$(MOUNT_DIR)/nvs_common.c $(DO_X11_CC) $(BUILDDIR)/obj/nvs_server.o :$(MOUNT_DIR)/nvs_server.c $(DO_X11_CC) $(BUILDDIR)/obj/nvs_server_data.o :$(MOUNT_DIR)/nvs_server_data.c $(DO_X11_CC) ##### $(BUILDDIR)/obj/d_copy.o : $(MOUNT_DIR)/../asm/d_copy.s $(DO_AS) $(BUILDDIR)/obj/d_draw.o : $(MOUNT_DIR)/../asm/d_draw.s $(DO_AS) $(BUILDDIR)/obj/d_draw16.o : $(MOUNT_DIR)/../asm/d_draw16.s $(DO_AS) $(BUILDDIR)/obj/d_parta.o : $(MOUNT_DIR)/../asm/d_parta.s $(DO_AS) $(BUILDDIR)/obj/d_polysa.o : $(MOUNT_DIR)/../asm/d_polysa.s $(DO_AS) $(BUILDDIR)/obj/d_scana.o : $(MOUNT_DIR)/../asm/d_scana.s $(DO_AS) $(BUILDDIR)/obj/d_spr8.o : $(MOUNT_DIR)/../asm/d_spr8.s $(DO_AS) $(BUILDDIR)/obj/d_varsa.o : $(MOUNT_DIR)/../asm/d_varsa.s $(DO_AS) $(BUILDDIR)/obj/math.o : $(MOUNT_DIR)/../asm/math.s $(DO_AS) $(BUILDDIR)/obj/r_aliasa.o : $(MOUNT_DIR)/../asm/r_aliasa.s $(DO_AS) $(BUILDDIR)/obj/r_drawa.o : $(MOUNT_DIR)/../asm/r_drawa.s $(DO_AS) $(BUILDDIR)/obj/r_edgea.o : $(MOUNT_DIR)/../asm/r_edgea.s $(DO_AS) $(BUILDDIR)/obj/r_varsa.o : $(MOUNT_DIR)/../asm/r_varsa.s $(DO_AS) $(BUILDDIR)/obj/surf16.o : $(MOUNT_DIR)/../asm/surf16.s $(DO_AS) $(BUILDDIR)/obj/surf8.o : $(MOUNT_DIR)/../asm/surf8.s $(DO_AS) $(BUILDDIR)/obj/surf8fst.o : $(MOUNT_DIR)/../asm/surf8fst.s $(DO_AS) $(BUILDDIR)/obj/worlda.o : $(MOUNT_DIR)/../asm/worlda.s $(DO_AS) $(BUILDDIR)/obj/r_aclipa.o : $(MOUNT_DIR)/../asm/r_aclipa.s $(DO_AS) $(BUILDDIR)/obj/snd_mixa.o : $(MOUNT_DIR)/../asm/snd_mixa.s $(DO_AS) $(BUILDDIR)/obj/sys_dosa.o : $(MOUNT_DIR)/../asm/sys_dosa.s $(DO_AS) ############################################################################# # MISC ############################################################################# clean: clean-debug clean-release 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 $(X11_OBJS)