tenebrae2/linux/Makefile.i386linux
2003-02-13 19:46:54 +00:00

430 lines
11 KiB
Text

#
# Quake Makefile for Linux 2.0
#
# Aug '98 by Zoid <zoid@idsoftware.com>
# modified for tenebrae by fabe <der.fabe@gmx.net>
# 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/shaders.o \
$(BUILDDIR)/glquake/textures.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_uxfindfirst.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/shaders.o : $(MOUNT_DIR)/shaders.c
$(DO_GL_CC)
$(BUILDDIR)/glquake/textures.o : $(MOUNT_DIR)/textures.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)/xmlmenu.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_uxfindfirst.o : $(MOUNT_DIR)/sys_uxfindfirst.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)