##### Variables that you may want to modify #####
#choose the compiler you want to use
-CC=gcc-3.1
+CC=gcc
#recommended for: anyone not using ALSA 0.5
OBJ_SND=snd_oss.o snd_dma.o snd_mix.o snd_mem.o
cl_main.o cl_parse.o cl_particles.o cl_screen.o cl_video.o \
console.o dpvsimpledecode.o fractalnoise.o gl_backend.o \
gl_draw.o gl_models.o gl_rmain.o gl_rsurf.o gl_textures.o \
- keys.o menu.o meshqueue.o r_crosshairs.o r_explosion.o \
+ jpeg.o keys.o menu.o meshqueue.o r_crosshairs.o r_explosion.o \
r_explosion.o r_lerpanim.o r_light.o r_modules.o r_sky.o \
r_sprites.o sbar.o ui.o vid_shared.o view.o wavefile.o \
- r_shadow.c
+ r_shadow.o
SERVEROBJECTS= pr_cmds.o pr_edict.o pr_exec.o sv_light.o sv_main.o sv_move.o \
sv_phys.o sv_user.o
SHAREDOBJECTS= builddate.o cmd.o collision.o common.o crc.o cvar.o \
model_alias.o model_brush.o model_shared.o model_sprite.o \
net_bsd.o net_dgrm.o net_loop.o net_main.o net_master.o \
net_udp.o palette.o portals.o protocol.o quakeio.o sys_linux.o \
- sys_shared.o transform.o world.o wad.o zone.o
+ sys_shared.o world.o wad.o zone.o
OBJ_COMMON= $(CLIENTOBJECTS) $(SERVEROBJECTS) $(SHAREDOBJECTS)
-OBJ_GLX= vid_glx.c $(OBJ_CD) $(OBJ_SND)
+OBJ_GLX= vid_glx.o $(OBJ_CD) $(OBJ_SND)
OBJ_DED= vid_null.o cd_null.o snd_null.o
# Link
-LDFLAGS_COMMON=-lm -ldl
+# LordHavoc note: I have been informed that system libraries must come last
+# on the linker line, and that -lm must always be last
+LDFLAGS_COMMON=-ldl -lm
LDFLAGS_DEBUG=-g -ggdb
LDFLAGS_PROFILE=-g -pg
LDFLAGS_RELEASE=
GLX_LIB=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm $(SOUNDLIB)
-DO_LD=$(CC) -o $@ $^ $(LDFLAGS)
+DO_LD=$(CC) $(LDFLAGS) -o $@ $^
##### Commands #####
# @echo
$(MAKE) $(EXE) \
CFLAGS="$(CFLAGS_COMMON) $(CFLAGS_DEBUG) $(OPTIM_DEBUG)"\
- LDFLAGS="$(LDFLAGS_COMMON) $(LDFLAGS_DEBUG)"
+ LDFLAGS="$(LDFLAGS_DEBUG)"
bin-profile :
@echo
# @echo
$(MAKE) $(EXE) \
CFLAGS="$(CFLAGS_COMMON) $(CFLAGS_PROFILE) $(OPTIM_RELEASE)"\
- LDFLAGS="$(LDFLAGS_COMMON) $(LDFLAGS_PROFILE)"
+ LDFLAGS="$(LDFLAGS_PROFILE)"
bin-release :
@echo
# @echo
$(MAKE) $(EXE) \
CFLAGS="$(CFLAGS_COMMON) $(CFLAGS_RELEASE) $(OPTIM_RELEASE)"\
- LDFLAGS="$(LDFLAGS_COMMON) $(LDFLAGS_RELEASE)"
+ LDFLAGS="$(LDFLAGS_RELEASE)"
builddate:
touch builddate.c
$(EXE_GLX): $(OBJ_COMMON) $(OBJ_GLX)
# @echo " Linking " $@
- $(DO_LD) $(GLX_LIB)
+ $(DO_LD) $(GLX_LIB) $(LDFLAGS_COMMON)
$(EXE_DED): $(OBJ_COMMON) $(OBJ_DED)
# @echo " Linking " $@
- $(DO_LD)
+ $(DO_LD) $(LDFLAGS_COMMON)
clean:
rm -f $(EXE_GLX) $(EXE_DED) *.o *.d