lfnetwork.com mark read register faq members calendar

Thread: The Official ICC Makefile for JKA's SDK
Thread Tools Display Modes
Post a new thread. Add a reply to this thread. Indicate all threads in this forum as read. Subscribe to this forum. RSS feed: this forum RSS feed: all forums
Old 04-08-2004, 12:26 AM   #1
razorace
Impressive, Terran!
 
razorace's Avatar
 
Join Date: May 2002
Posts: 9,172
The Official ICC Makefile for JKA's SDK

That's right ladies, I just got the ICC makefile directly from the dude that did the linux compiles for Raven. I hope this helps everyone.
Quote:
Attachced... Just replace the makefile in the codemp/unix directory, and run
make release
to build a final releae or
make
or
make debug
to create a debug release
Code:
#
# GNU Make required
#

PLATFORM=$(shell uname|tr A-Z a-z)
PLATFORM_RELEASE=$(shell uname -r)

###
### These paths are where you probably want to change things
###

# Where we are building from (where the source code should be!)
MOUNT_DIR=../


# Where we are building to, libMesaVoodooGL.so.3.3 should be here, etc.
# the demo pk3 file should be here in demoq3/pak0.pk3 or baseq3/pak0.pk3
BDIR=$(MOUNT_DIR)/../run


# Build name
# BUILD_NAME=$(BUILD_NAME)
BUILD_NAME=jamp



#############################################################################
##
## You shouldn't have to touch anything below here
##
#############################################################################

BASEQ3_DIR=$(BDIR)/base

BD=debug$(ARCH)$(GLIBC)
BR=release$(ARCH)$(GLIBC)
CDIR=$(MOUNT_DIR)/client
SDIR=$(MOUNT_DIR)/server
RDIR=$(MOUNT_DIR)/renderer
CMDIR=$(MOUNT_DIR)/qcommon
UDIR=$(MOUNT_DIR)/unix
GDIR=$(MOUNT_DIR)/game
CGDIR=$(MOUNT_DIR)/cgame
BAIDIR=$(GDIR)
BLIBDIR=$(MOUNT_DIR)/botlib
NDIR=$(MOUNT_DIR)/null
UIDIR=$(MOUNT_DIR)/ui
Q3UIDIR=$(MOUNT_DIR)/q3_ui
FTDIR=$(MOUNT_DIR)/ft2
JPDIR=$(MOUNT_DIR)/jpeg-6
SPLNDIR=$(MOUNT_DIR)/splines
GHOUL2DIR=$(MOUNT_DIR)/ghoul2
IDIR=$(MOUNT_DIR)/icarus
ZLIB=$(MOUNT_DIR)/zlib32
RMGDIR=$(MOUNT_DIR)/RMG

#############################################################################
# SETUP AND BUILD -- LINUX
#############################################################################

## Defaults
DLL_ONLY=false

  ifneq (,$(findstring libc6,$(shell if [ -e /lib/libc.so.6* ];then echo libc6;fi)))
    GLIBC=-glibc
  else
    GLIBC=
  endif #libc6 test

  MESADIR=../Mesa/
  ARCH=i386
  RPMARCH=i386
  VENDOR=unknown
  DLL_ONLY=false

  BASE_CFLAGS =  -D_JK2 -D_M_IX86 -Kc++ -w -I/opt/intel/compiler50/ia32/include 
  # rcg010216: DLL_ONLY for PPC
  ifeq ($(strip $(DLL_ONLY)),true)
    BASE_CFLAGS += -DDLL_ONLY
  endif


  GL_CFAGS = -I/usr/X11R6/include 

  DEBUG_CFLAGS=$(BASE_CFLAGS) -g  
  NEWPGCC=/opt/intel/compiler50/ia32/bin/icc
  CC=$(shell if [ -f $(NEWPGCC) ]; then echo $(NEWPGCC); else echo pgcc; fi )
  CXX=/usr/bin/g++
# NOTE: the -fomit-frame-pointer option leads to an unstable binary on my test box if it was built on the main box
#   but building on the Mdk 7.2 baseline seems to work
# -O2 -unroll
  RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O2 -unroll -DFINAL_BUILD

  LIBEXT=a

  SHLIBEXT=so
  SHLIBCFLAGS=-D_JK2 -DJK2AWARDS -DQAGAME -DMISSIONPACK 
  SHLIBLDFLAGS=-shared $(LDFLAGS)

  ARFLAGS=ar rv
  RANLIB=ranlib

  THREAD_LDFLAGS=-lpthread
  LDFLAGS=-ldl -lm  
  GLLDFLAGS=-L/usr/X11R6/lib -L$(MESADIR)/lib -lX11 -lXext -lXxf86dga -lXxf86vm

#  TARGETS=\
#   $(B)/$(PLATFORM)jampded \
#   $(B)/baseq3/jampgame$(ARCH).$(SHLIBEXT) 

  TARGETS=\
  $(B)/baseq3/jampgame$(ARCH).$(SHLIBEXT) 

DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
DO_CXX=$(CXX) $(CFLAGS) -o $@ -c $<
DO_SMP_CC=$(CC) $(CFLAGS) -DSMP -o $@ -c $<
DO_BOT_CC=$(CC) $(CFLAGS) -use_msasm -DBOTLIB  -o $@ -c $<   # $(SHLIBCFLAGS) # bk001212
DO_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) -o $@ -c $<
DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -use_msasm -o $@ -c $<
DO_SHLIB_DEBUG_CC=$(CC) $(DEBUG_CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
DO_NASM=nasm -f elf -o $@  $<
DO_DED_CC=$(CC) -DDEDICATED -DC_ONLY $(CFLAGS) -use_msasm -o $@ -c $<
DO_DED_CC2=$(CC) -D__linux2__ -DDEDICATED -DC_ONLY $(CFLAGS) -o $@ -c $<
DO_DED_CPP=$(CXX) -DDEDICATED -DC_ONLY $(CFLAGS) -o $@ -c $<

#DO_LCC=$(LCC) -o $@ -S -Wf-target=bytecode -Wf-g -DQ3_VM -I$(CGDIR) -I$(GDIR)  -I$(UIDIR)  $< 

#### DEFAULT TARGET
default:build_debug

debug: build_debug
release: build_release

build_debug:
$(MAKE)  targets  B=$(BD) CFLAGS="$(DEBUG_CFLAGS)"

build_release:
$(MAKE)  targets  B=$(BR) CFLAGS="$(RELEASE_CFLAGS)"

#Build both debug and release builds
all:build_debug build_release


targets:makedirs $(TARGETS)

makedirs:
@if [ ! -d $(B) ];then mkdir $(B);fi
@if [ ! -d $(B)/ded ];then mkdir $(B)/ded;fi
@if [ ! -d $(B)/baseq3 ];then mkdir $(B)/baseq3;fi
@if [ ! -d $(B)/baseq3/game ];then mkdir $(B)/baseq3/game;fi


#############################################################################
# DEDICATED SERVER                        
#############################################################################

Q3DOBJ = \
$(B)/ded/sv_bot.o \
$(B)/ded/sv_client.o \
$(B)/ded/sv_ccmds.o \
$(B)/ded/sv_game.o \
$(B)/ded/sv_init.o \
$(B)/ded/sv_main.o \
$(B)/ded/sv_net_chan.o \
$(B)/ded/sv_snapshot.o \
$(B)/ded/sv_world.o \
\
$(B)/ded/cm_load.o \
$(B)/ded/stringed_ingame.o \
$(B)/ded/stringed_interface.o \
$(B)/ded/GenericParser2.o \
$(B)/ded/cm_patch.o \
$(B)/ded/cm_polylib.o \
$(B)/ded/cm_test.o \
$(B)/ded/cm_trace.o \
$(B)/ded/common.o \
$(B)/ded/cvar.o \
$(B)/ded/md4.o \
$(B)/ded/msg.o \
$(B)/ded/net_chan.o \
$(B)/ded/huffman.o \
\
$(B)/ded/q_math.o \
$(B)/ded/q_shared.o \
$(B)/ded/z_memman_pc.o \
\
$(B)/ded/inflate.o \
$(B)/ded/deflate.o \
$(B)/ded/zipcommon.o \
\
$(B)/ded/unzip.o \
$(B)/ded/vm.o \
$(B)/ded/vm_interpreted.o \
\
$(B)/ded/be_aas_bspq3.o \
$(B)/ded/be_aas_cluster.o \
$(B)/ded/be_aas_debug.o \
$(B)/ded/be_aas_entity.o \
$(B)/ded/be_aas_file.o \
$(B)/ded/be_aas_main.o \
$(B)/ded/be_aas_move.o \
$(B)/ded/be_aas_optimize.o \
$(B)/ded/be_aas_reach.o \
$(B)/ded/be_aas_route.o \
$(B)/ded/be_aas_routealt.o \
$(B)/ded/be_aas_sample.o \
$(B)/ded/be_ai_char.o \
$(B)/ded/be_ai_chat.o \
$(B)/ded/be_ai_gen.o \
$(B)/ded/be_ai_goal.o \
$(B)/ded/be_ai_move.o \
$(B)/ded/be_ai_weap.o \
$(B)/ded/be_ai_weight.o \
$(B)/ded/be_ea.o \
$(B)/ded/be_interface.o \
$(B)/ded/l_crc.o \
$(B)/ded/l_libvar.o \
$(B)/ded/l_log.o \
$(B)/ded/l_memory.o \
$(B)/ded/l_precomp.o \
$(B)/ded/l_script.o \
$(B)/ded/l_struct.o \
\
$(B)/ded/linux_common.o \
$(B)/ded/unix_main.o \
$(B)/ded/unix_net.o \
$(B)/ded/unix_shared.o \
\
$(B)/ded/G2_API.o \
$(B)/ded/G2_bolts.o \
$(B)/ded/G2_surfaces.o \
$(B)/ded/G2_misc.o \
\
$(B)/ded/null_client.o \
$(B)/ded/null_input.o \
$(B)/ded/null_snddma.o \
$(B)/ded/null_glimp.o \
$(B)/ded/null_renderer.o \
\
$(B)/ded/BlockStream.o \
$(B)/ded/GameInterface.o \
$(B)/ded/Instance.o \
$(B)/ded/Interface.o \
$(B)/ded/Memory.o \
$(B)/ded/Q3_Interface.o \
$(B)/ded/Q3_Registers.o \
$(B)/ded/Sequence.o \
$(B)/ded/Sequencer.o \
$(B)/ded/TaskManager.o \
\
$(B)/ded/tr_model.o \
$(B)/ded/tr_image.o \
$(B)/ded/RoffSystem.o \
$(B)/ded/tr_ghoul2.o \
$(B)/ded/matcomp.o \
$(B)/ded/tr_init.o \
$(B)/ded/tr_main.o \
$(B)/ded/tr_backend.o \
$(B)/ded/tr_mesh.o \
$(B)/ded/G2_bones.o \
$(B)/ded/tr_shader.o \
$(B)/ded/cmd_pc.o \
$(B)/ded/navigator.o \
$(B)/ded/gameCallbacks.o \
$(B)/ded/files_common.o \
$(B)/ded/cmd_common.o \
$(B)/ded/files_pc.o \
$(B)/ded/RM_Manager.o \
$(B)/ded/RM_Mission.o \
$(B)/ded/RM_Instance.o \
$(B)/ded/RM_InstanceFile.o \
$(B)/ded/RM_Instance_BSP.o \
$(B)/ded/RM_Instance_Group.o \
$(B)/ded/RM_Instance_Void.o \
$(B)/ded/RM_Instance_Random.o \
$(B)/ded/RM_Objective.o \
$(B)/ded/RM_Terrain.o \
$(B)/ded/RM_Path.o \
$(B)/ded/RM_Area.o \
$(B)/ded/cm_terrain.o \
$(B)/ded/cm_randomterrain.o \
$(B)/ded/cm_shader.o \

#ifeq ($(ARCH),i386)
  Q3DOBJ += $(B)/ded/vm_x86.o $(B)/ded/ftol.o $(B)/ded/snapvector.o
#endif

ifeq ($(ARCH),ppc)
  ifeq ($(DLL_ONLY),false)
    Q3DOBJ += $(B)/ded/vm_ppc.o
  endif
endif

$(B)/$(PLATFORM)jampded : $(Q3DOBJ)
$(CC)  -o $@ $(Q3DOBJ) $(LDFLAGS)

$(B)/ded/sv_bot.o : $(SDIR)/sv_bot.cpp; $(DO_DED_CC) 
$(B)/ded/sv_client.o : $(SDIR)/sv_client.cpp; $(DO_DED_CC) 
$(B)/ded/sv_ccmds.o : $(SDIR)/sv_ccmds.cpp; $(DO_DED_CC) 
$(B)/ded/sv_game.o : $(SDIR)/sv_game.cpp; $(DO_DED_CC) 
$(B)/ded/sv_init.o : $(SDIR)/sv_init.cpp; $(DO_DED_CC) 
$(B)/ded/sv_main.o : $(SDIR)/sv_main.cpp; $(DO_DED_CC) 
$(B)/ded/sv_net_chan.o : $(SDIR)/sv_net_chan.cpp; $(DO_DED_CC) 
$(B)/ded/sv_snapshot.o : $(SDIR)/sv_snapshot.cpp; $(DO_DED_CC) 
$(B)/ded/sv_world.o : $(SDIR)/sv_world.cpp; $(DO_DED_CC) 
$(B)/ded/gameCallbacks.o : $(SDIR)/NPCNav/gameCallbacks.cpp; $(DO_DED_CC)
$(B)/ded/navigator.o: $(SDIR)/NPCNav/navigator.cpp; $(DO_DED_CC)

$(B)/ded/cm_load.o : $(CMDIR)/cm_load.cpp; $(DO_DED_CC) 
$(B)/ded/stringed_ingame.o : $(CMDIR)/stringed_ingame.cpp; $(DO_DED_CC)
$(B)/ded/stringed_interface.o : $(CMDIR)/stringed_interface.cpp; $(DO_DED_CC)
$(B)/ded/GenericParser2.o : $(CMDIR)/GenericParser2.cpp; $(DO_DED_CC)
$(B)/ded/cm_shader.o : $(CMDIR)/cm_shader.cpp; $(DO_DED_CC)
$(B)/ded/cm_polylib.o : $(CMDIR)/cm_polylib.cpp; $(DO_DED_CC) 
$(B)/ded/cm_test.o : $(CMDIR)/cm_test.cpp; $(DO_DED_CC) 
$(B)/ded/cm_trace.o : $(CMDIR)/cm_trace.cpp; $(DO_DED_CC) 
$(B)/ded/cm_patch.o : $(CMDIR)/cm_patch.cpp; $(DO_DED_CC) 
$(B)/ded/common.o : $(CMDIR)/common.cpp; $(DO_DED_CC) 
$(B)/ded/cvar.o : $(CMDIR)/cvar.cpp; $(DO_DED_CC) 
$(B)/ded/files.o : $(CMDIR)/files.cpp; $(DO_DED_CC) 
$(B)/ded/md4.o : $(CMDIR)/md4.cpp; $(DO_DED_CC) 
$(B)/ded/msg.o : $(CMDIR)/msg.cpp; $(DO_DED_CC)
$(B)/ded/net_chan.o : $(CMDIR)/net_chan.cpp; $(DO_DED_CC)
$(B)/ded/huffman.o : $(CMDIR)/huffman.cpp; $(DO_DED_CC)
$(B)/ded/q_shared.o : $(CMDIR)/q_shared.cpp; $(DO_DED_CC) 
$(B)/ded/q_math.o : $(GDIR)/q_math.c; $(DO_DED_CC) 
$(B)/ded/z_memman_pc.o : $(CMDIR)/z_memman_pc.cpp; $(DO_DED_CC)
$(B)/ded/files_common.o : $(CMDIR)/files_common.cpp; $(DO_DED_CC)
$(B)/ded/cmd_common.o : $(CMDIR)/cmd_common.cpp; $(DO_DED_CC)
$(B)/ded/files_pc.o : $(CMDIR)/files_pc.cpp; $(DO_DED_CC)

$(B)/ded/RM_Manager.o : $(RMGDIR)/RM_Manager.cpp; $(DO_DED_CC)
$(B)/ded/RM_Mission.o : $(RMGDIR)/RM_Mission.cpp; $(DO_DED_CC)
$(B)/ded/RM_Instance.o: $(RMGDIR)/RM_Instance.cpp; $(DO_DED_CC)
$(B)/ded/RM_InstanceFile.o : $(RMGDIR)/RM_InstanceFile.cpp; $(DO_DED_CC)
$(B)/ded/RM_Instance_Void.o : $(RMGDIR)/RM_Instance_Void.cpp; $(DO_DED_CC)
$(B)/ded/RM_Instance_Random.o : $(RMGDIR)/RM_Instance_Random.cpp; $(DO_DED_CC)
$(B)/ded/RM_Instance_Group.o : $(RMGDIR)/RM_Instance_Group.cpp; $(DO_DED_CC)
$(B)/ded/RM_Instance_BSP.o : $(RMGDIR)/RM_Instance_BSP.cpp; $(DO_DED_CC)
$(B)/ded/RM_Objective.o : $(RMGDIR)/RM_Objective.cpp; $(DO_DED_CC)
$(B)/ded/RM_Path.o : $(RMGDIR)/RM_Path.cpp; $(DO_DED_CC)
$(B)/ded/RM_Area.o : $(RMGDIR)/RM_Area.cpp; $(DO_DED_CC)
$(B)/ded/RM_Terrain.o : $(RMGDIR)/RM_Terrain.cpp; $(DO_DED_CC)
$(B)/ded/tr_terrain.o : $(RDIR)/tr_terrain.cpp; $(DO_DED_CC)
$(B)/ded/cm_terrain.o : $(CMDIR)/cm_terrain.cpp; $(DO_DED_CC)
$(B)/ded/cm_randomterrain.o : $(CMDIR)/cm_randomterrain.cpp; $(DO_DED_CC)

$(B)/ded/G2_API.o : $(GHOUL2DIR)/G2_API.cpp; $(DO_DED_CC)
$(B)/ded/G2_bolts.o : $(GHOUL2DIR)/G2_bolts.cpp; $(DO_DED_CC)
$(B)/ded/G2_bones.o : $(GHOUL2DIR)/G2_bones.cpp; $(DO_DED_CC)
$(B)/ded/G2_misc.o : $(GHOUL2DIR)/G2_misc.cpp; $(DO_DED_CC)
$(B)/ded/G2_surfaces.o : $(GHOUL2DIR)/G2_surfaces.cpp; $(DO_DED_CC)

$(B)/ded/RoffSystem.o : $(CMDIR)/RoffSystem.cpp; $(DO_DED_CC)

$(B)/ded/inflate.o : $(ZLIB)/inflate.cpp; $(DO_DED_CC)
$(B)/ded/deflate.o : $(ZLIB)/deflate.cpp; $(DO_DED_CC)
$(B)/ded/zipcommon.o : $(ZLIB)/zipcommon.cpp; $(DO_DED_CC)

$(B)/ded/tr_model.o : $(RDIR)/tr_model.cpp; $(DO_DED_CC)
$(B)/ded/tr_image.o : $(RDIR)/tr_image.cpp; $(DO_DED_CC)
$(B)/ded/tr_ghoul2.o : $(RDIR)/tr_ghoul2.cpp; $(DO_DED_CC)
$(B)/ded/tr_shader.o : $(RDIR)/tr_shader.cpp; $(DO_DED_CC)
$(B)/ded/tr_sky.o : $(RDIR)/tr_shader.cpp; $(DO_DED_CC)
$(B)/ded/tr_cmds.o : $(RDIR)/tr_cmds.cpp; $(DO_DED_CC)
$(B)/ded/tr_backend.o : $(RDIR)/tr_backend.cpp; $(DO_DED_CC)
$(B)/ded/tr_animation.o : $(RDIR)/tr_animation.cpp; $(DO_DED_CC)
$(B)/ded/tr_bsp.o : $(RDIR)/tr_bsp.cpp; $(DO_DED_CC)
$(B)/ded/tr_curve.o : $(RDIR)/tr_curve.cpp; $(DO_DED_CC)
$(B)/ded/tr_flares.o : $(RDIR)/tr_flares.cpp; $(DO_DED_CC)
$(B)/ded/tr_font.o : $(RDIR)/tr_font.cpp; $(DO_DED_CC)
$(B)/ded/tr_init.o : $(RDIR)/tr_init.cpp; $(DO_DED_CC)
$(B)/ded/tr_light.o : $(RDIR)/tr_light.cpp; $(DO_DED_CC)
$(B)/ded/tr_main.o : $(RDIR)/tr_main.cpp; $(DO_DED_CC)
$(B)/ded/tr_marks.o : $(RDIR)/tr_marks.cpp; $(DO_DED_CC)
$(B)/ded/tr_mesh.o : $(RDIR)/tr_mesh.cpp; $(DO_DED_CC)
$(B)/ded/tr_noise.o : $(RDIR)/tr_noise.cpp; $(DO_DED_CC)
$(B)/ded/tr_quicksprite.o : $(RDIR)/tr_quicksprite.cpp; $(DO_DED_CC)
$(B)/ded/tr_scene.o : $(RDIR)/tr_scene.cpp; $(DO_DED_CC)
$(B)/ded/tr_shade.o : $(RDIR)/tr_shade.cpp; $(DO_DED_CC)
$(B)/ded/tr_shade_calc.o : $(RDIR)/tr_shade_calc.cpp; $(DO_DED_CC)
$(B)/ded/tr_shadows.o : $(RDIR)/tr_shadows.cpp; $(DO_DED_CC)
$(B)/ded/tr_surface.o : $(RDIR)/tr_surface.cpp; $(DO_DED_CC)
$(B)/ded/tr_surfacesprites.o : $(RDIR)/tr_surfacesprites.cpp; $(DO_DED_CC)
$(B)/ded/tr_world.o : $(RDIR)/tr_world.cpp; $(DO_DED_CC)
$(B)/ded/tr_worldeffects.o : $(RDIR)/tr_worldeffects.cpp; $(DO_DED_CC)
$(B)/ded/matcomp.o : $(RDIR)/matcomp.c; $(DO_DED_CC)


$(B)/ded/be_aas_bspq3.o : $(BLIBDIR)/be_aas_bspq3.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_cluster.o : $(BLIBDIR)/be_aas_cluster.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_debug.o : $(BLIBDIR)/be_aas_debug.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_entity.o : $(BLIBDIR)/be_aas_entity.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_file.o : $(BLIBDIR)/be_aas_file.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_main.o : $(BLIBDIR)/be_aas_main.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_move.o : $(BLIBDIR)/be_aas_move.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_optimize.o : $(BLIBDIR)/be_aas_optimize.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_reach.o : $(BLIBDIR)/be_aas_reach.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_route.o : $(BLIBDIR)/be_aas_route.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_routealt.o : $(BLIBDIR)/be_aas_routealt.cpp; $(DO_BOT_CC) 
$(B)/ded/be_aas_sample.o : $(BLIBDIR)/be_aas_sample.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_char.o : $(BLIBDIR)/be_ai_char.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_chat.o : $(BLIBDIR)/be_ai_chat.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_gen.o : $(BLIBDIR)/be_ai_gen.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_goal.o : $(BLIBDIR)/be_ai_goal.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_move.o : $(BLIBDIR)/be_ai_move.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_weap.o : $(BLIBDIR)/be_ai_weap.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ai_weight.o : $(BLIBDIR)/be_ai_weight.cpp; $(DO_BOT_CC) 
$(B)/ded/be_ea.o : $(BLIBDIR)/be_ea.cpp; $(DO_BOT_CC) 
$(B)/ded/be_interface.o : $(BLIBDIR)/be_interface.cpp; $(DO_BOT_CC) 
$(B)/ded/l_crc.o : $(BLIBDIR)/l_crc.cpp; $(DO_BOT_CC) 
$(B)/ded/l_libvar.o : $(BLIBDIR)/l_libvar.cpp; $(DO_BOT_CC) 
$(B)/ded/l_log.o : $(BLIBDIR)/l_log.cpp; $(DO_BOT_CC) 
$(B)/ded/l_memory.o : $(BLIBDIR)/l_memory.cpp; $(DO_BOT_CC) 
$(B)/ded/l_precomp.o : $(BLIBDIR)/l_precomp.cpp; $(DO_BOT_CC) 
$(B)/ded/l_script.o : $(BLIBDIR)/l_script.cpp; $(DO_BOT_CC) 
$(B)/ded/l_struct.o : $(BLIBDIR)/l_struct.cpp; $(DO_BOT_CC) 

$(B)/ded/linux_common.o : $(UDIR)/linux_common.c; $(DO_CC)
$(B)/ded/linux_glimp.o : $(UDIR)/linux_glimp.c; $(DO_DED_CC)
$(B)/ded/unix_main.o : $(UDIR)/unix_main.c; $(DO_DED_CC) 
$(B)/ded/unix_net.o : $(UDIR)/unix_net.c; $(DO_DED_CC) 
$(B)/ded/unix_shared.o : $(UDIR)/unix_shared.cpp; $(DO_DED_CC) 
$(B)/ded/linux_qgl.o : $(UDIR)/linux_qgl.c; $(DO_DED_CC)
$(B)/ded/null_client.o : $(NDIR)/null_client.cpp; $(DO_DED_CC) 
$(B)/ded/null_input.o : $(NDIR)/null_input.cpp; $(DO_DED_CC) 
$(B)/ded/null_snddma.o : $(NDIR)/null_snddma.cpp; $(DO_DED_CC) 
$(B)/ded/null_glimp.o : $(NDIR)/null_glimp.cpp; $(DO_DED_CC)
$(B)/ded/null_main.o : $(NDIR)/null_main.cpp; $(DO_DED_CC)
$(B)/ded/null_net.o : $(NDIR)/null_net.cpp; $(DO_DED_CC)
$(B)/ded/null_renderer.o : $(NDIR)/null_renderer.cpp; $(DO_DED_CC)
$(B)/ded/unzip.o : $(CMDIR)/unzip.cpp; $(DO_DED_CC) 
$(B)/ded/vm.o : $(CMDIR)/vm.cpp; $(DO_DED_CC) 
$(B)/ded/vm_interpreted.o : $(CMDIR)/vm_interpreted.cpp; $(DO_DED_CC) 
$(B)/ded/cmd_pc.o : $(CMDIR)/cmd_pc.cpp; $(DO_DED_CC)

$(B)/ded/BlockStream.o : $(IDIR)/BlockStream.cpp; $(DO_DED_CC)
$(B)/ded/GameInterface.o : $(IDIR)/GameInterface.cpp; $(DO_DED_CC)
$(B)/ded/Instance.o : $(IDIR)/Instance.cpp; $(DO_DED_CC)
$(B)/ded/Interface.o : $(IDIR)/Interface.cpp; $(DO_DED_CC)
$(B)/ded/Memory.o : $(IDIR)/Memory.cpp; $(DO_DED_CC)
$(B)/ded/Q3_Interface.o : $(IDIR)/Q3_Interface.cpp; $(DO_DED_CC)
$(B)/ded/Q3_Registers.o : $(IDIR)/Q3_Registers.cpp; $(DO_DED_CC)
$(B)/ded/Sequence.o: $(IDIR)/Sequence.cpp; $(DO_DED_CC)
$(B)/ded/Sequencer.o : $(IDIR)/Sequencer.cpp; $(DO_DED_CC)
$(B)/ded/TaskManager.o: $(IDIR)/TaskManager.cpp; $(DO_DED_CC)

#ifeq ($(ARCH),i386)
$(B)/ded/vm_x86.o : $(CMDIR)/vm_x86.cpp; $(DO_DED_CC2) 
$(B)/ded/ftol.o : $(UDIR)/ftol.nasm; $(DO_NASM)
$(B)/ded/snapvector.o : $(UDIR)/snapvector.nasm; $(DO_NASM) 
#endif

ifeq ($(ARCH),ppc)
ifeq ($(DLL_ONLY),false)
$(B)/ded/vm_ppc.o : $(CMDIR)/vm_ppc.c; $(DO_DED_CC)
endif
endif


#############################################################################
## BASEQ3 GAME
#############################################################################

Q3GOBJ = \
$(B)/baseq3/game/g_main.o \
$(B)/baseq3/game/AnimalNPC.o \
$(B)/baseq3/game/FighterNPC.o \
$(B)/baseq3/game/NPC.o \
$(B)/baseq3/game/NPC_AI_Atst.o \
$(B)/baseq3/game/NPC_AI_Default.o \
$(B)/baseq3/game/NPC_AI_Droid.o \
$(B)/baseq3/game/NPC_AI_GalakMech.o \
$(B)/baseq3/game/NPC_AI_Grenadier.o \
$(B)/baseq3/game/NPC_AI_Howler.o \
$(B)/baseq3/game/NPC_AI_ImperialProbe.o \
$(B)/baseq3/game/NPC_AI_Interrogator.o \
$(B)/baseq3/game/NPC_AI_Jedi.o \
$(B)/baseq3/game/NPC_AI_Mark1.o \
$(B)/baseq3/game/NPC_AI_Mark2.o \
$(B)/baseq3/game/NPC_AI_MineMonster.o \
$(B)/baseq3/game/NPC_AI_Rancor.o \
$(B)/baseq3/game/NPC_AI_Remote.o \
$(B)/baseq3/game/NPC_AI_Seeker.o \
$(B)/baseq3/game/NPC_AI_Sentry.o \
$(B)/baseq3/game/NPC_AI_Sniper.o \
$(B)/baseq3/game/NPC_AI_Stormtrooper.o \
$(B)/baseq3/game/NPC_AI_Utils.o \
$(B)/baseq3/game/NPC_AI_Wampa.o \
$(B)/baseq3/game/NPC_behavior.o \
$(B)/baseq3/game/NPC_combat.o \
$(B)/baseq3/game/NPC_goal.o \
$(B)/baseq3/game/NPC_misc.o \
$(B)/baseq3/game/NPC_move.o \
$(B)/baseq3/game/NPC_reactions.o \
$(B)/baseq3/game/NPC_senses.o \
$(B)/baseq3/game/NPC_sounds.o \
$(B)/baseq3/game/NPC_spawn.o \
$(B)/baseq3/game/NPC_stats.o \
$(B)/baseq3/game/NPC_utils.o \
$(B)/baseq3/game/SpeederNPC.o \
$(B)/baseq3/game/WalkerNPC.o \
$(B)/baseq3/game/ai_main.o \
$(B)/baseq3/game/ai_util.o \
$(B)/baseq3/game/ai_wpnav.o \
$(B)/baseq3/game/bg_g2_utils.o \
$(B)/baseq3/game/bg_lib.o \
$(B)/baseq3/game/bg_misc.o \
$(B)/baseq3/game/bg_panimate.o \
$(B)/baseq3/game/bg_pmove.o \
$(B)/baseq3/game/bg_saber.o \
$(B)/baseq3/game/bg_saberLoad.o \
$(B)/baseq3/game/bg_saga.o \
$(B)/baseq3/game/bg_slidemove.o \
$(B)/baseq3/game/bg_vehicleLoad.o \
$(B)/baseq3/game/bg_weapons.o \
$(B)/baseq3/game/g_ICARUScb.o \
$(B)/baseq3/game/g_active.o \
$(B)/baseq3/game/g_arenas.o \
$(B)/baseq3/game/g_bot.o \
$(B)/baseq3/game/g_client.o \
$(B)/baseq3/game/g_cmds.o \
$(B)/baseq3/game/g_combat.o \
$(B)/baseq3/game/g_exphysics.o \
$(B)/baseq3/game/g_items.o \
$(B)/baseq3/game/g_log.o \
$(B)/baseq3/game/g_mem.o \
$(B)/baseq3/game/g_misc.o \
$(B)/baseq3/game/g_missile.o \
$(B)/baseq3/game/g_mover.o \
$(B)/baseq3/game/g_nav.o \
$(B)/baseq3/game/g_navnew.o \
$(B)/baseq3/game/g_object.o \
$(B)/baseq3/game/g_saga.o \
$(B)/baseq3/game/g_session.o \
$(B)/baseq3/game/g_spawn.o \
$(B)/baseq3/game/g_strap.o \
$(B)/baseq3/game/g_svcmds.o \
$(B)/baseq3/game/g_syscalls.o \
$(B)/baseq3/game/g_target.o \
$(B)/baseq3/game/g_team.o \
$(B)/baseq3/game/g_timer.o \
$(B)/baseq3/game/g_trigger.o \
$(B)/baseq3/game/g_turret.o \
$(B)/baseq3/game/g_turret_G2.o \
$(B)/baseq3/game/g_utils.o \
$(B)/baseq3/game/g_vehicleTurret.o \
$(B)/baseq3/game/g_vehicles.o \
$(B)/baseq3/game/g_weapon.o \
$(B)/baseq3/game/tri_coll_test.o \
$(B)/baseq3/game/w_force.o \
$(B)/baseq3/game/w_saber.o \
\
$(B)/baseq3/game/q_math.o \
$(B)/baseq3/game/q_shared.o

$(B)/baseq3/jampgame$(ARCH).$(SHLIBEXT) : $(Q3GOBJ)
$(CC)  $(SHLIBLDFLAGS) -o $@ $(Q3GOBJ)

$(B)/baseq3/game/ai_main.o : $(GDIR)/ai_main.c; $(DO_SHLIB_CC)     
$(B)/baseq3/game/ai_util.o : $(GDIR)/ai_util.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/ai_wpnav.o : $(GDIR)/ai_wpnav.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/AnimalNPC.o : $(GDIR)/AnimalNPC.c; $(DO_SHLIB_CC)   
$(B)/baseq3/game/FighterNPC.o : $(GDIR)/FighterNPC.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC.o : $(GDIR)/NPC.c; $(DO_SHLIB_CC)      
$(B)/baseq3/game/NPC_AI_Atst.o : $(GDIR)/NPC_AI_Atst.c; $(DO_SHLIB_CC)  
$(B)/baseq3/game/NPC_AI_Default.o : $(GDIR)/NPC_AI_Default.c; $(DO_SHLIB_CC)     
$(B)/baseq3/game/NPC_AI_Droid.o : $(GDIR)/NPC_AI_Droid.c; $(DO_SHLIB_CC)     
$(B)/baseq3/game/NPC_AI_GalakMech.o : $(GDIR)/NPC_AI_GalakMech.c; $(DO_SHLIB_CC)     
$(B)/baseq3/game/NPC_AI_Grenadier.o : $(GDIR)/NPC_AI_Grenadier.c; $(DO_SHLIB_CC)    
$(B)/baseq3/game/NPC_AI_Howler.o : $(GDIR)/NPC_AI_Howler.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_ImperialProbe.o : $(GDIR)/NPC_AI_ImperialProbe.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Interrogator.o : $(GDIR)/NPC_AI_Interrogator.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Jedi.o : $(GDIR)/NPC_AI_Jedi.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Mark1.o : $(GDIR)/NPC_AI_Mark1.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Mark2.o : $(GDIR)/NPC_AI_Mark2.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_MineMonster.o : $(GDIR)/NPC_AI_MineMonster.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Rancor.o : $(GDIR)/NPC_AI_Rancor.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Remote.o : $(GDIR)/NPC_AI_Remote.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Seeker.o : $(GDIR)/NPC_AI_Seeker.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Sentry.o : $(GDIR)/NPC_AI_Sentry.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Sniper.o : $(GDIR)/NPC_AI_Sniper.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Stormtrooper.o : $(GDIR)/NPC_AI_Stormtrooper.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Utils.o : $(GDIR)/NPC_AI_Utils.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_AI_Wampa.o : $(GDIR)/NPC_AI_Wampa.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_behavior.o : $(GDIR)/NPC_behavior.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_combat.o : $(GDIR)/NPC_combat.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_goal.o : $(GDIR)/NPC_goal.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_misc.o : $(GDIR)/NPC_misc.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_reactions.o : $(GDIR)/NPC_reactions.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_senses.o : $(GDIR)/NPC_senses.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_sounds.o : $(GDIR)/NPC_sounds.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_spawn.o : $(GDIR)/NPC_spawn.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_stats.o : $(GDIR)/NPC_stats.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_utils.o : $(GDIR)/NPC_utils.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/SpeederNPC.o : $(GDIR)/SpeederNPC.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/WalkerNPC.o : $(GDIR)/WalkerNPC.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/NPC_move.o : $(GDIR)/NPC_move.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_g2_utils.o : $(GDIR)/bg_g2_utils.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_lib.o : $(GDIR)/bg_lib.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_misc.o : $(GDIR)/bg_misc.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_panimate.o : $(GDIR)/bg_panimate.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_pmove.o : $(GDIR)/bg_pmove.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_saber.o : $(GDIR)/bg_saber.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_saberLoad.o : $(GDIR)/bg_saberLoad.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_saga.o : $(GDIR)/bg_saga.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_slidemove.o : $(GDIR)/bg_slidemove.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_vehicleLoad.o : $(GDIR)/bg_vehicleLoad.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/bg_weapons.o : $(GDIR)/bg_weapons.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_ICARUScb.o : $(GDIR)/g_ICARUScb.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_active.o : $(GDIR)/g_active.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_arenas.o : $(GDIR)/g_arenas.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_bot.o : $(GDIR)/g_bot.c; $(DO_SHLIB_CC)            
$(B)/baseq3/game/g_client.o : $(GDIR)/g_client.c; $(DO_SHLIB_CC)      
$(B)/baseq3/game/g_cmds.o : $(GDIR)/g_cmds.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_combat.o : $(GDIR)/g_combat.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_exphysics.o : $(GDIR)/g_exphysics.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_items.o : $(GDIR)/g_items.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_log.o : $(GDIR)/g_log.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_main.o : $(GDIR)/g_main.c; $(DO_SHLIB_CC)            
$(B)/baseq3/game/g_mem.o : $(GDIR)/g_mem.c; $(DO_SHLIB_CC)               
$(B)/baseq3/game/g_misc.o : $(GDIR)/g_misc.c; $(DO_SHLIB_CC)             
$(B)/baseq3/game/g_missile.o : $(GDIR)/g_missile.c; $(DO_SHLIB_CC)        
$(B)/baseq3/game/g_mover.o : $(GDIR)/g_mover.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_nav.o : $(GDIR)/g_nav.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_navnew.o : $(GDIR)/g_navnew.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_object.o : $(GDIR)/g_object.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_saga.o : $(GDIR)/g_saga.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_session.o : $(GDIR)/g_session.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_spawn.o : $(GDIR)/g_spawn.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_strap.o : $(GDIR)/g_strap.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_svcmds.o : $(GDIR)/g_svcmds.c; $(DO_SHLIB_CC)         
$(B)/baseq3/game/g_syscalls.o : $(GDIR)/g_syscalls.c; $(DO_SHLIB_CC)    
$(B)/baseq3/game/g_target.o : $(GDIR)/g_target.c; $(DO_SHLIB_CC)        
$(B)/baseq3/game/g_team.o : $(GDIR)/g_team.c; $(DO_SHLIB_CC)           
$(B)/baseq3/game/g_timer.o : $(GDIR)/g_timer.c; $(DO_SHLIB_CC)           
$(B)/baseq3/game/g_trigger.o : $(GDIR)/g_trigger.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_turret.o : $(GDIR)/g_turret.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_turret_G2.o : $(GDIR)/g_turret_G2.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/g_utils.o : $(GDIR)/g_utils.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_vehicleTurret.o : $(GDIR)/g_vehicleTurret.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_vehicles.o : $(GDIR)/g_vehicles.c; $(DO_SHLIB_CC)          
$(B)/baseq3/game/g_weapon.o : $(GDIR)/g_weapon.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/tri_coll_test.o : $(GDIR)/tri_coll_test.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/w_force.o : $(GDIR)/w_force.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/w_saber.o : $(GDIR)/w_saber.c; $(DO_SHLIB_CC)       
$(B)/baseq3/game/q_math.o : $(GDIR)/q_math.c; $(DO_SHLIB_CC)            
$(B)/baseq3/game/q_shared.o : $(GDIR)/q_shared.c; $(DO_SHLIB_CC)       

#############################################################################
# MISC
#############################################################################

# TTimo: FIXME: doesn't clean the binary and .so

clean:clean-debug clean-release

clean2: clean-bins
rm -f $(Q3OBJ) $(Q3POBJ) $(Q3POBJ_SMP) $(Q3DOBJ) $(MPGOBJ) $(Q3GOBJ) $(Q3CGOBJ) $(MPCGOBJ) $(Q3UIOBJ) $(MPUIOBJ)
rm -f $(CGDIR)/vm/*.asm
rm -f $(GDIR)/vm/*.asm
rm -f $(UIDIR)/vm/*.asm
rm -f $(Q3UIDIR)/vm/*.asm

# TTimo: linuxq3ded linuxquake3 linuxquake3-smp .. hardcoded the names .. maybe not such a good thing
# FIXME: also, removing the *.so is crappy .. I just want to avoid rm -rf debugi386-glibc to save the symlinks to pk3's for testing
clean-bins:
if [ -d $(B) ];then (find $(B) -name '*.so' -exec rm {} \;)fi
rm -f $(B)/linuxq3ded
rm -f $(B)/linuxquake3
rm -f $(B)/linuxquake3-smp
rm -f $(B)/baseq3/vm/cgame.qvm
rm -f $(B)/baseq3/vm/ui.qvm
rm -f $(B)/baseq3/vm/qagame.qvm
rm -f $(B)/missionpack/vm/cgame.qvm
rm -f $(B)/missionpack/vm/qagame.qvm
rm -f $(B)/missionpack/vm/ui.qvm

clean-debug:
$(MAKE) clean2 B=$(BD) CFLAGS="$(DEBUG_CFLAGS)"

clean-release:
$(MAKE) clean2 B=$(BR) CFLAGS="$(DEBUG_CFLAGS)"


---Jedi Guardian of the Newbie Questions
---Masters of the Force Team Leader / Creator
---Open Jedi Project Lead Moderator / Co-Founder
razorace is offline   you may: quote & reply,
Old 04-09-2004, 01:02 PM   #2
Slider744
Junior Member
 
Slider744's Avatar
 
Join Date: Dec 2003
Location: France
Posts: 260
is ICC supposed to compile the .so file better than gcc for intel hardware CPU?


******************************
Slider
JA+ MOD Author for Jedi Academy
the lastest version on

http://www.japlus.net/


******************************
Slider744 is offline   you may: quote & reply,
Old 04-09-2004, 08:29 PM   #3
Wudan
Got Balance?
 
Wudan's Avatar
 
Join Date: Oct 2002
Location: Salt Lake, UT
Posts: 1,442
It's rumored to compile the code without any changes, so you can just compile a win32, then compile linux without breaking your skull in 2.


Mt-Wudan.com
I made a silly little program called Dragon, which is an animation tool for the GLA format, used in Jedi Outcast, Jedi Academy and Krakatoa.
Wudan is offline   you may: quote & reply,
Old 04-10-2004, 02:37 AM   #4
razorace
Impressive, Terran!
 
razorace's Avatar
 
Join Date: May 2002
Posts: 9,172
Exactly. And the source of that rumor is straight from Raven. I tend to beleive them, especially when they did it for the Asteriods code as well.


---Jedi Guardian of the Newbie Questions
---Masters of the Force Team Leader / Creator
---Open Jedi Project Lead Moderator / Co-Founder
razorace is offline   you may: quote & reply,
Old 04-10-2004, 09:56 AM   #5
RenegadeOfPhunk
 
RenegadeOfPhunk's Avatar
 
Join Date: Apr 2002
Location: UK
Posts: 731
Well, I'd like more clarification about this - because the fact is you can alter the code and set up ANY linux compiler so that you dont' have to change the code between Win and Linux. It's a matter of wrapping changes between Win and Linux within a few preprocessor defines.

...so when Raven say they don't have to make any changes to compile it between Windows and Linux, do they mean I could download the original source code directly and wiithout one change, stick it into the Intel compiler for Linux and it would compile propely?
Or only after I had put in some initial #if's first?

..if the latter, then you don't actually need to use the Intel compiler - you can do what they did with any linux compiler. THe only other worry then I guess is whether it all compiles 'right'. e.g. like the push bug that Mushroom mentioned.


/* RenegadeOfPhunk */

OJP forums
OJP website - WIP

Movie Battles!
RenegadeOfPhunk is offline   you may: quote & reply,
Old 04-10-2004, 05:44 PM   #6
razorace
Impressive, Terran!
 
razorace's Avatar
 
Join Date: May 2002
Posts: 9,172
Well, the push bug is a bug in the code that Raven didn't fix for the original SDK. Remember that that's just a logic bug associated with different rand max defines.

However, that is the only problem that I'm aware of. Everything else should compile/run fine as long as you use ICC to compile.


---Jedi Guardian of the Newbie Questions
---Masters of the Force Team Leader / Creator
---Open Jedi Project Lead Moderator / Co-Founder
razorace is offline   you may: quote & reply,
Old 05-26-2006, 03:04 PM   #7
Tido
Rookie
 
Join Date: Jul 2004
Posts: 12
Quote:
Attachced... Just replace the makefile in the codemp/unix directory, and run
In the JA SDK, there is no 'unix' directory . I tried making one 'codemp/unix', but that didn't work either.

And when I try to use this makefile, I always get this error:
makefile:148: *** missing separator. Stop.

line 148: @if [ ! -d $(B) ];then mkdir $(B);fi


Any ideas?
Tido is offline   you may: quote & reply,
Old 05-26-2006, 07:10 PM   #8
Tido
Rookie
 
Join Date: Jul 2004
Posts: 12
Ah ended up finding out my own answer! The forum's code thingy doesn't remember TABs and the makefile requires one for all of those lines. I eventually got the makefile to work only to discover a new problem:

Quote:
todd@Harp:~/JA/Jedi_Academy_SDK/codemp/unix$ make
make targets B=debugi386-glibc CFLAGS="-D_JK2 -D_M_IX86 -Kc++ -w -I/opt/intel/cc/9.0/include -g "
make[1]: Entering directory `/home/todd/JA/Jedi_Academy_SDK/codemp/unix'
/opt/intel/cc/9.0/bin/icc -D_JK2 -D_M_IX86 -Kc++ -w -I/opt/intel/cc/9.0/include -g -D_JK2 -DJK2AWARDS -DQAGAME -DMISSIONPACK -use_msasm -o debugi386-glibc/baseq3/game/g_main.o -c /home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c
/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_public.h(726): catastrophic error: could not open source file "../icarus/icarus.h"
#include "../icarus/icarus.h"
^

compilation aborted for /home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c (code 4)
make[1]: *** [debugi386-glibc/baseq3/game/g_main.o] Error 4
make[1]: Leaving directory `/home/todd/JA/Jedi_Academy_SDK/codemp/unix'
make: *** [build_debug] Error 2
There is no icarus.h in ../icarus .
Tido is offline   you may: quote & reply,
Old 05-26-2006, 07:36 PM   #9
Tinny
 
Tinny's Avatar
 
Join Date: Apr 2002
Posts: 1,188
Wanna comment that line out and see what it does?


Redeemed!

An old school mod for jedi academy.
Tinny is offline   you may: quote & reply,
Old 05-26-2006, 07:38 PM   #10
Tido
Rookie
 
Join Date: Jul 2004
Posts: 12
Hehe ok, I'll give that a shot. I thought I read that doing that would mess up the mod's ability to play siege, though? Makes sense, though, since no other mod has icarus.h either.

*EDIT*

Well, doing that did work, but I'm not out of the woods yet:

Quote:
todd@Harp:~/JA/Jedi_Academy_SDK/codemp/unix$ make debug
make targets B=debugi386-glibc CFLAGS="-D_JK2 -D_M_IX86 -Kc++ -w -I/opt/intel/cc/9.0/include -g "
make[1]: Entering directory `/home/todd/JA/Jedi_Academy_SDK/codemp/unix'
/opt/intel/cc/9.0/bin/icc -D_JK2 -D_M_IX86 -Kc++ -w -I/opt/intel/cc/9.0/include -g -D_JK2 -DJK2AWARDS -DQAGAME -DMISSIONPACK -use_msasm -o debugi386-glibc/baseq3/game/g_main.o -c /home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c
/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(512): error: argument of type "int" is incompatible with parameter of type "qboolean={qboolean}"
return (int)ClientConnect( arg0, arg1, arg2 );
^

/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(512): error: argument of type "int" is incompatible with parameter of type "qboolean={qboolean}"
return (int)ClientConnect( arg0, arg1, arg2 );
^

/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(1015): error: a value of type "bool" cannot be assigned to an entity of type "qboolean={qboolean}"
navCalculatePaths = ( trap_Nav_Load( mapname.string, ckSum.integer ) == qfalse );
^

/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(1057): error: argument of type "int" is incompatible with parameter of type "qboolean={qboolean}"
G_InitBots( restart );
^

/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(2553): error: return value type does not match the function type
return level.teamScores[TEAM_RED] == level.teamScores[TEAM_BLUE];
^

/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(2559): error: return value type does not match the function type
return a == b;
^

/home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c(4067): error: a value of type "int" cannot be assigned to an entity of type "qboolean={qboolean}"
gQueueScoreMessage = 0;
^

compilation aborted for /home/todd/JA/Jedi_Academy_SDK/codemp/game/g_main.c (code 2)
make[1]: *** [debugi386-glibc/baseq3/game/g_main.o] Error 2
make[1]: Leaving directory `/home/todd/JA/Jedi_Academy_SDK/codemp/unix'
make: *** [build_debug] Error 2

Last edited by Tido; 05-26-2006 at 07:52 PM.
Tido is offline   you may: quote & reply,
Old 05-31-2006, 09:32 PM   #11
razorace
Impressive, Terran!
 
razorace's Avatar
 
Join Date: May 2002
Posts: 9,172
bah, what it's doing is erroring in situations where a qbooleaning is being manually set with a 1 or a 0. You're going to have to look thru the ICC manual and figure out how to turn off the warning/error checks for implicate typecasting.


---Jedi Guardian of the Newbie Questions
---Masters of the Force Team Leader / Creator
---Open Jedi Project Lead Moderator / Co-Founder
razorace is offline   you may: quote & reply,
Old 06-03-2006, 11:13 PM   #12
Tido
Rookie
 
Join Date: Jul 2004
Posts: 12
Quote:
Originally Posted by razorace
bah, what it's doing is erroring in situations where a qbooleaning is being manually set with a 1 or a 0. You're going to have to look thru the ICC manual and figure out how to turn off the warning/error checks for implicate typecasting.
Hmm, having a hard time finding anything in the ICC docs about that. Got any other terms to try?
Tido is offline   you may: quote & reply,
Old 06-08-2006, 04:25 PM   #13
razorace
Impressive, Terran!
 
razorace's Avatar
 
Join Date: May 2002
Posts: 9,172
Check the manual's section on disabling compiler warnings/errors. I can't really get more specific. Maybe try Google? That normally helps me.


---Jedi Guardian of the Newbie Questions
---Masters of the Force Team Leader / Creator
---Open Jedi Project Lead Moderator / Co-Founder
razorace is offline   you may: quote & reply,
Post a new thread. Add a reply to this thread. Indicate all threads in this forum as read. Subscribe to this forum. RSS feed: this forum RSS feed: all forums
Go Back   LucasForums > Network > JediKnight Series > Editing Central > JA Coding > The Official ICC Makefile for JKA's SDK

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:43 AM.

LFNetwork, LLC ©2002-2011 - All rights reserved.
Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.