Such a nice grateful post for a FREE mod that's 11 years old, gee no linux makefile for a project that was based on Win32. Duh.
Downloading of the DLL is not necessary for clients.
Downloading of the DLL from a game server to a client would be a SERIOUS security risk and a stupid idea.
Since you are a grateful Linux user and want/need a makefile, here's a start:
#
# Quake2 Pissed off Bunny mod Makefile for Linux and OS X
#
# Modified May 5 2011 by QwazyWabbit <wabbit@clanwos.org>
#
# This makefile should reside with the sources.
# To build the complete project simply type:
# make clean
# make depends
# make
#
# Adding or changing components becomes a process of simply editing
# the GAME_OBJS list and repeating the 'make depends' command to
# update the dependencies.
#
# Requires GNU make.
#
# This builds the gamei386.so for Linux and OS X based on the
# Pissed off Bunny mod by Richard Stanaway (r1ch)
#
ARCH=i386
#use these cflags to optimize it
CFLAGS=-O3 -Wall
#use these when debugging
#CFLAGS=-g
# flavors of Linux
ifeq ($(shell uname),Linux)
#SVNDEV := -D'SVN_REV="$(shell svnversion -n .)"'
#CFLAGS += $(SVNDEV)
CFLAGS += -DLINUX
LIBTOOL = ldd
endif
# OS X wants to be Linux and FreeBSD too.
ifeq ($(shell uname),Darwin)
#SVNDEV := -D'SVN_REV="$(shell svnversion -n .)"'
#CFLAGS += $(SVNDEV)
CFLAGS += -DLINUX
LIBTOOL = otool
endif
LDFLAGS=-ldl -lm -shared -o
SHLIBEXT=so
SHLIBCFLAGS=-fPIC
SHLIBLDFLAGS=-shared
DO_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
#############################################################################
# SETUP AND BUILD GAME
#############################################################################
.c.o:
$(DO_CC)
GAME_OBJS = \
g_ai.o g_chase.o g_cmds.o g_combat.o g_func.o g_items.o \
g_main.o g_misc.o g_monster.o g_phys.o g_save.o \
g_spawn.o g_svcmds.o g_target.o g_trigger.o g_turret.o \
g_utils.o g_weapon.o m_actor.o m_berserk.o m_boss2.o \
m_boss3.o m_boss31.o m_boss32.o m_brain.o m_chick.o \
m_flash.o m_flipper.o m_float.o m_flyer.o m_gladiator.o \
m_gunner.o m_hover.o m_infantry.o m_insane.o m_medic.o \
m_move.o m_mutant.o m_parasite.o m_soldier.o m_supertank.o \
m_tank.o p_client.o p_hud.o p_trail.o p_view.o \
p_weapon.o q_devels.o q_shared.o
game$(ARCH).$(SHLIBEXT): $(GAME_OBJS)
$(CC) $(LDFLAGS) $@ $(GAME_OBJS)
cp $@ ~/quake2/bunny/$@
$(LIBTOOL) -r $@
#############################################################################
# MISC
#############################################################################
clean:
rm -f $(GAME_OBJS)
# output dependencies to console
depend:
$(CC) -MM $(GAME_OBJS:.o=.c)
# output dependencies to file
depends:
$(CC) $(CFLAGS) -MM $(GAME_OBJS:.o=.c) > dependencies
$*.o: $*.c
$(CC) $(CFLAGS) -c $*.c
$*.c: $(ORIGDIR)/$*.c
tr -d '\015' < $(ORIGDIR)/$*.c > $*.c
$*.h: $(ORIGDIR)/$*.h
tr -d '\015' < $(ORIGDIR)/$*.h > $*.h
# use dependencies file during build
-include dependencies
#############################################################################
# EOF
#############################################################################