euh salut jai un piti problème avec un makefile que jai pourtant depuis 3 mois et qui ma valu une bonne cinquantaine de mails d´insulte des linuxiens qui se sont sentis rejettés. Il s´agit du makefile de mon mod Jedi Academy ( mais pour ceux qui ont déjà touché au modding Q3, il ne sagit pas de QVMs, JA est le seul jeu Q3 à réutiliser les DLLs, SOs, etc., et son SDK nétait livré quavec une solution VS7, le makefile est donc tiré dun sdk non officiel ) , qui ma pas lair tt à fait au point. Le voilou :
- --------------------
CC = gcc
CFLAGS = -I../cgame -I../ui -I../qcommon -I../server -I../icarus -I../ghoul2 -fPIC -DMISSIONPACK -DQAGAME -DQ3_VM -D_JK2MP -D__linux__ -DFINAL_BUILD -march=i586 -O3
TARGET = jampgamei386.so
OFILES = AnimalNPC.o FighterNPC.o NPC.o NPC_AI_Atst.o NPC_AI_Default.o NPC_AI_Droid.o NPC_AI_GalakMech.o NPC_AI_Grenadier.o NPC_AI_Howler.o NPC_AI_ImperialProbe.o NPC_AI_Interrogator.o NPC_AI_Jedi.o NPC_AI_Mark1.o NPC_AI_Mark2.o NPC_AI_MineMonster.o NPC_AI_Rancor.o NPC_AI_Remote.o NPC_AI_Seeker.o NPC_AI_Sentry.o NPC_AI_Sniper.o NPC_AI_Stormtrooper.o NPC_AI_Utils.o NPC_AI_Wampa.o NPC_behavior.o NPC_combat.o NPC_goal.o NPC_misc.o NPC_move.o NPC_reactions.o NPC_senses.o NPC_sounds.o NPC_spawn.o NPC_stats.o NPC_utils.o SpeederNPC.o WalkerNPC.o ai_main.o ai_util.o ai_wpnav.o bg_g2_utils.o bg_misc.o bg_panimate.o bg_pmove.o bg_saber.o bg_saberLoad.o bg_saga.o bg_slidemove.o bg_vehicleLoad.o bg_weapons.o g_ICARUScb.o g_active.o g_arenas.o g_bot.o g_client.o g_cmds.o g_combat.o g_exphysics.o g_items.o g_log.o g_main.o g_mem.o g_misc.o g_missile.o g_mover.o g_nav.o g_navnew.o g_object.o g_saga.o g_session.o g_spawn.o g_strap.o g_svcmds.o g_syscalls.o g_target.o g_team.o g_timer.o g_trigger.o g_turret.o g_turret_G2.o g_utils.o g_vehicleTurret.o g_vehicles.o g_weapon.o q_math.o q_shared.o tri_coll_test.o w_force.o w_saber.o g_admin.o
$(TARGET): $(OFILES)
$(CC) -shared -o $(TARGET) $(OFILES) -lm
. c.o:
$(CC) $(CFLAGS) -c $*.c -o $*.o
clean:
rm -f $(OFILES)
rm -f $(TARGET)
- --------------------
La compilation ( sous GCC, jai essayé avec les 3.2.3 et la 3.3.3 ) se passent pourtant sans problème, jobtiens des erreurs équivalentes à celles de VS2003, et une fois corrigées, tt est clean, net, sans lombre de warnings. Idem pour le linkage, à la différence près que lorsque jenlève un fichier objet de la liste, le texte sortant est identique et propre de tte erreur. Le résultat est que dans les 2 cas je me retrouve avec une lib . so que le jeu ne reconnait pas, et qui a fait plaisir à ts les clans qui bavaient à lattente du beta testing et qui se retrouvent avec une lib linux qui fait crasher leur serveur.
Qqun peutil maider en mindiquant où foire mon Makefile?