# # Quake Makefile for Linux 2.0 # # Aug '98 by Zoid # modified for tenebrae by fabe # more modification by the tenebrae team # # ELF only # BASEVERSION=1.09 VERSION=$(BASEVERSION)$(GLIBC) GLIBC=.glibc ARCH=i386 NOARCH=noarch MOUNT_DIR = ../ MASTER_DIR = /usr/local/share/games/quake BUILD_DEBUG_DIR = debug$(ARCH)$(GLIBC) BUILD_RELEASE_DIR = release$(ARCH)$(GLIBC) LEX = /usr/bin/flex -i -Cfr CC = /usr/bin/gcc X11_LIBS = -L/usr/X11R6/lib -lpthread -lX11 -lXext -lXxf86dga -lXxf86vm XML_CFLAGS = -I/usr/include/libxml2 XML_LIBS = -lxml2 # to enable OpenGL code in source OPENGL_CFLAGS = -D__glx__ -DGLQUAKE OPENGL_LIBS = -lGL -lGLU PNG_LIBS = -lpng -lz #OPENAL_LIBS = -lopenal #OPENAL_CFLAGS = -DOPENAL -I/usr/local/include/AL BASE_CFLAGS = -DBASEDIR="$(MASTER_DIR)" -DUSERPREF_DIR $(OPENGL_CFLAGS) $(OPENAL_CFLAGS) -I$(MOUNT_DIR) $(XML_CFLAGS) RELEASE_CFLAGS = $(BASE_CFLAGS) -mpentiumpro -O6 -ffast-math -funroll-loops \ -fomit-frame-pointer -fexpensive-optimizations DEBUG_CFLAGS = $(BASE_CFLAGS) -g LDFLAGS = -lm -ldl $(X11_LIBS) $(OPENGL_LIBS) $(PNG_LIBS) $(OPENAL_LIBS) $(XML_LIBS) DO_GL_CC = $(CC) $(CFLAGS) -o $@ -c $< DO_GL_AS = $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $< DO_LEX = $(LEX) -o$@ $< ############################################################################# # SETUP AND BUILD ############################################################################# TARGETS=$(BUILDDIR)/bin/tenebrae.run build_debug: @-mkdir -p $(BUILD_DEBUG_DIR) \ $(BUILD_DEBUG_DIR)/bin \ $(BUILD_DEBUG_DIR)/glquake $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)" build_release: @-mkdir -p $(BUILD_RELEASE_DIR) \ $(BUILD_RELEASE_DIR)/bin \ $(BUILD_RELEASE_DIR)/glquake $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)" all: build_debug build_release targets: $(TARGETS) ############################################################################# # 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_aliasinstant.o \ $(BUILDDIR)/glquake/gl_brushinstant.o \ $(BUILDDIR)/glquake/gl_bumpdriver.o \ $(BUILDDIR)/glquake/gl_bumpgf.o \ $(BUILDDIR)/glquake/gl_bumparb.o \ $(BUILDDIR)/glquake/gl_bumpmap.o \ $(BUILDDIR)/glquake/gl_bumpparhelia.o \ $(BUILDDIR)/glquake/gl_bumpradeon.o \ $(BUILDDIR)/glquake/gl_common.o \ $(BUILDDIR)/glquake/gl_curves.o \ $(BUILDDIR)/glquake/gl_draw.o \ $(BUILDDIR)/glquake/gl_decals.o \ $(BUILDDIR)/glquake/gl_glare.o \ $(BUILDDIR)/glquake/gl_md3.o \ $(BUILDDIR)/glquake/gl_mesh.o \ $(BUILDDIR)/glquake/gl_model.o \ $(BUILDDIR)/glquake/gl_q3bsp.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_screenrect.o \ $(BUILDDIR)/glquake/gl_shadow.o \ $(BUILDDIR)/glquake/gl_svbsp.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_q3support.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/snd_linux.o \ $(BUILDDIR)/glquake/gl_vidlinuxglx.o \ $(BUILDDIR)/glquake/math.o \ $(BUILDDIR)/glquake/snd_mixa.o \ $(BUILDDIR)/glquake/sys_dosa.o \ \ $(BUILDDIR)/glquake/lex.yy.o \ $(BUILDDIR)/glquake/te_scripts.o $(BUILDDIR)/bin/tenebrae.run : $(GLQUAKE_OBJS) $(CC) $(CFLAGS) -o $@ $(GLQUAKE_OBJS) $(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_CC) $(BUILDDIR)/glquake/conproc.o : $(MOUNT_DIR)/conproc.c $(DO_GL_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_aliasinstant.o : $(MOUNT_DIR)/gl_aliasinstant.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_draw.o : $(MOUNT_DIR)/gl_draw.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_brushinstant.o : $(MOUNT_DIR)/gl_brushinstant.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_bumpdriver.o : $(MOUNT_DIR)/gl_bumpdriver.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_bumpgf.o : $(MOUNT_DIR)/gl_bumpgf.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_bumparb.o : $(MOUNT_DIR)/gl_bumparb.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_bumpmap.o : $(MOUNT_DIR)/gl_bumpmap.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_bumpparhelia.o : $(MOUNT_DIR)/gl_bumpparhelia.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_bumpradeon.o : $(MOUNT_DIR)/gl_bumpradeon.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_common.o : $(MOUNT_DIR)/gl_common.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_curves.o : $(MOUNT_DIR)/gl_curves.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_decals.o : $(MOUNT_DIR)/gl_decals.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_glare.o : $(MOUNT_DIR)/gl_glare.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_mesh.o : $(MOUNT_DIR)/gl_mesh.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_md3.o : $(MOUNT_DIR)/gl_md3.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_model.o : $(MOUNT_DIR)/gl_model.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_q3bsp.o : $(MOUNT_DIR)/gl_q3bsp.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_screenrect.o : $(MOUNT_DIR)/gl_screenrect.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_shadow.o : $(MOUNT_DIR)/gl_shadow.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_svbsp.o : $(MOUNT_DIR)/gl_svbsp.c $(DO_GL_CC) $(BUILDDIR)/glquake/gl_test.o : $(MOUNT_DIR)/gl_test.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_q3support.o : $(MOUNT_DIR)/sv_q3support.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) $(MOUNT_DIR)/lex.yy.c : $(MOUNT_DIR)/lex_part.l $(DO_LEX) $(BUILDDIR)/glquake/lex.yy.o : $(MOUNT_DIR)/lex.yy.c $(DO_GL_CC) $(BUILDDIR)/glquake/te_scripts.o : $(MOUNT_DIR)/te_scripts.c $(MOUNT_DIR)/te_scripts.h $(DO_GL_CC) ############################################################################# # MISC ############################################################################# clean: clean-debug clean-release rm -f glquake.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 $(GLQUAKE_OBJS)