home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 15 / MA_Cover_15.iso / source / winquake / smakefile < prev    next >
Encoding:
Makefile  |  2000-03-11  |  9.4 KB  |  222 lines

  1. #
  2. # Quake Makefile for Amiga SAS/C
  3. #
  4.  
  5. COMMONFLAGS = parm=reg cpu=68060 math=68881 verbose define=id68k=1 \
  6.         code=far stringmerge data=far absfuncpointer define=AMIGA
  7.  
  8. SCFLAGS = optimize opttime optsched nodebug nostackcheck $(COMMONFLAGS)
  9.  
  10. #SCFLAGS = optimize opttime optsched debug=full nostackcheck $(COMMONFLAGS)
  11.  
  12. #SCFLAGS = nooptimize debug=full stackcheck $(COMMONFLAGS)
  13.  
  14. #SCFLAGS = profile optimize opttime debug=full nostackcheck $(COMMONFLAGS)
  15.  
  16. COMMONPPCFLAGS = parm=reg verbose stringmerge code=far data=far define=AMIGA \
  17.     define=idppc=1
  18.  
  19. SCPPCFLAGS = optimize opttime optsched nodebug nostackcheck $(COMMONPPCFLAGS)
  20.  
  21. #SCPPCFLAGS = nooptimize debug=full $(COMMONPPCFLAGS)
  22.  
  23. #SCPPCFLAGS = optimize opttime optsched debug=full nostackcheck $(COMMONPPCFLAGS)
  24.  
  25. COMMONWOSFLAGS = -pc -d AMIGA -d __PPC__ -d NDEBUG -d __VBCC__ -gD -gC -gPPC -g81 -w+
  26.  
  27. WOSFLAGS = -O9 $(COMMONWOSFLAGS)
  28.  
  29. #WOSFLAGS = -O1 $(COMMONWOSFLAGS)
  30.  
  31. COMMONVBCCFLAGS = +warpos -v -DAMIGA -D__PPC__ -DNDEBUG -amiga-align "-+"
  32.  
  33. VBCCFLAGS = -O1 $(COMMONVBCCFLAGS)
  34.  
  35. VBCCFLAGS2 = -O3 -maxoptpasses=20 $(COMMONVBCCFLAGS)
  36.  
  37. OBJS1 = cd_amiga.o chase.o cl_demo.o cl_input.o cl_main.o cl_parse.o cl_tent.o cmd.o \
  38.  common.o console.o crc.o cvar.o d_edge.o d_fill.o d_init.o d_modech.o \
  39.  d_part.o d_polyse.o d_scan.o d_sky.o d_sprite.o d_surf.o d_vars.o d_zpoint.o \
  40.  
  41. OBJS2 = draw.o host.o host_cmd.o in_amiga.o keys.o mathlib.o menu.o model.o \
  42.  net_dgrm.o net_loop.o net_main.o net_bsd.o net_amigaudp.o net_vcr.o nonintel.o pr_cmds.o \
  43.  pr_edict.o pr_exec.o r_aclip.o r_alias.o r_bsp.o r_draw.o r_edge.o r_efrag.o \
  44.  
  45. OBJS3 = r_light.o r_main.o r_misc1.o r_misc2.o r_part.o r_sky.o r_sprite.o \
  46.  r_surf.o r_vars.o sbar.o screen.o snd_dma.o snd_mem.o snd_mix.o snd_amiga.o \
  47.  sv_main.o sv_move.o sv_phys.o sv_user.o sys_amiga.o vid_amiga.o view.o wad.o \
  48.  world.o zone.o amiga_d_68k.o amiga_r_68k.o amiga_d_polyse68k.o \
  49.  c2p8_040_amlaukka.o
  50.  
  51. OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
  52.  
  53. OBJSGCC1 = cd_amiga.oGCC chase.oGCC cl_demo.oGCC cl_input.oGCC cl_main.oGCC cl_parse.oGCC cl_tent.oGCC cmd.oGCC \
  54.  common.oGCC console.oGCC crc.oGCC cvar.oGCC d_edge.oGCC d_fill.oGCC d_init.oGCC d_modech.oGCC \
  55.  d_part.oGCC d_polyse.oGCC d_scan.oGCC d_sky.oGCC d_sprite.oGCC d_surf.oGCC d_vars.oGCC d_zpoint.oGCC \
  56.  
  57. OBJSGCC2 = draw.oGCC host.oGCC host_cmd.oGCC in_amiga.oGCC keys.oGCC mathlib.oGCC menu.oGCC model.oGCC \
  58.  net_dgrm.oGCC net_loop.oGCC net_main.oGCC net_bsd.oGCC net_amigaudp.oGCC net_vcr.oGCC nonintel.oGCC pr_cmds.oGCC \
  59.  pr_edict.oGCC pr_exec.oGCC r_aclip.oGCC r_alias.oGCC r_bsp.oGCC r_draw.oGCC r_edge.oGCC r_efrag.oGCC \
  60.  
  61. OBJSGCC3 = r_light.oGCC r_main.oGCC r_misc.oGCC r_part.oGCC r_sky.oGCC r_sprite.oGCC \
  62.  r_surf.oGCC r_vars.oGCC sbar.oGCC screen.oGCC snd_dma.oGCC snd_mem.oGCC snd_mix.oGCC snd_amiga.oGCC \
  63.  sv_main.oGCC sv_move.oGCC sv_phys.oGCC sv_user.oGCC sys_amiga.oGCC vid_amiga.oGCC view.oGCC wad.oGCC \
  64.  world.oGCC zone.oGCC
  65.  
  66. OBJSGCC = $(OBJSGCC1) $(OBJSGCC2) $(OBJSGCC3)
  67.  
  68. # *.oPPC files are compiled with scppc
  69. # *.oPPC2 files are compiled with ppc-amigaos-gcc
  70.  
  71. #OBJSPPC1 = lib:sprofutil.o cd_amiga.oPPC chase.oPPC cl_demo.oPPC cl_input.oPPC cl_main.oPPC cl_parse.oPPC cl_tent.oPPC cmd.oPPC \
  72. OBJSPPC1 = cd_amiga.oPPC chase.oPPC cl_demo.oPPC cl_input.oPPC cl_main.oPPC cl_parse.oPPC cl_tent.oPPC cmd.oPPC \
  73.  common.oPPC console.oPPC crc.oPPC cvar.oPPC d_edge.oPPC2 d_fill.oPPC d_init.oPPC d_modech.oPPC \
  74.  d_part.oPPC2 d_polyse.oPPC2 d_scan.oPPC2 d_sky.oPPC d_sprite.oPPC d_surf.oPPC d_vars.oPPC d_zpoint.oPPC \
  75.  
  76. OBJSPPC2 = draw.oPPC host.oPPC host_cmd.oPPC in_amiga.oPPC keys.oPPC mathlib.oPPC2 menu.oPPC model.oPPC \
  77.  net_dgrm.oPPC net_loop.oPPC net_main.oPPC net_bsd.oPPC net_amigaudp.oPPC net_vcr.oPPC nonintel.oPPC pr_cmds.oPPC \
  78.  pr_edict.oPPC pr_exec.oPPC r_aclip.oPPC2 r_alias.oPPC2 r_bsp.oPPC2 r_draw.oPPC2 r_edge.oPPC2 r_efrag.oPPC \
  79.  
  80. OBJSPPC3 = r_light.oPPC2 r_main.oPPC r_misc.oPPC r_part.oPPC r_sky.oPPC r_sprite.oPPC \
  81.  r_surf.oPPC2 r_vars.oPPC sbar.oPPC screen.oPPC snd_dma.oPPC2 snd_mem.oPPC snd_mix.oPPC2 snd_amiga.oPPC \
  82.  sv_main.oPPC sv_move.oPPC sv_phys.oPPC sv_user.oPPC sys_amiga.oPPC vid_amiga.oPPC view.oPPC wad.oPPC \
  83.  world.oPPC zone.oPPC amiga_ppc_c2p.oPPC amiga_ppc_d_scan.oPPC amiga_ppc_mathlib.oPPC \
  84.  amiga_cgxtagfns.oPPC amiga_socket_lib.oPPC amiga_timer.oPPC
  85.  
  86. OBJSWOS = $(OBJSWOS1) $(OBJSWOS2) $(OBJSWOS3)
  87.  
  88. # WOS objects are also listed in wosobjects.txt.
  89.  
  90. OBJSWOS1 = cd_amiga.oWOS chase.oWOS cl_demo.oWOS cl_input.oWOS cl_main.oWOS cl_parse.oWOS cl_tent.oWOS cmd.oWOS \
  91.  common.oWOS console.oWOS crc.oWOS cvar.oWOS d_edge.oWOS d_fill.oWOS d_init.oWOS d_modech.oWOS \
  92.  d_part.oWOS d_polyse.oWOS d_scan.oWOS d_sky.oWOS d_sprite.oWOS d_surf.oWOS d_vars.oWOS d_zpoint.oWOS \
  93.  
  94. OBJSWOS2 = draw.oWOS host.oWOS host_cmd.oWOS in_amiga.oWOS keys.oWOS mathlib.oWOS menu.oWOS model.oWOS \
  95.  net_dgrm.oWOS net_loop.oWOS net_main.oWOS net_bsd.oWOS net_amigaudp.oWOS net_vcr.oWOS net_vcr.oWOS nonintel.oWOS pr_cmds.oWOS \
  96.  pr_edict.oWOS pr_exec.oWOS r_aclip.oWOS r_alias.oWOS r_bsp.oWOS r_draw.oWOS r_edge.oWOS r_efrag.oWOS \
  97.  
  98. OBJSWOS3 = r_light.oWOS r_main.oWOS r_misc.oWOS r_part.oWOS r_sky.oWOS r_sprite.oWOS \
  99.  r_surf.oWOS r_vars.oWOS sbar.oWOS screen.oWOS snd_dma.oWOS snd_mem.oWOS snd_mix.oWOS snd_amiga.oWOS \
  100.  sv_main.oWOS sv_move.oWOS sv_phys.oWOS sv_user.oWOS sys_amiga.oWOS vid_amiga.oWOS view.oWOS wad.oWOS \
  101.  world.oWOS zone.oWOS writechunkypixels_stub.oWOS cybergraphics_protos_stub.oWOS \
  102.  cdplayer_protos_stub.oWOS lowlevel_protos_stub.oWOS amiga_ppc_c2p.oWOS \
  103.  amiga_timer.oWOS
  104.  
  105. OBJSVBCC = $(OBJSVBCC1) $(OBJSVBCC2) $(OBJSVBCC3)
  106.  
  107. # *.oVBCC files are compiled with -O1
  108. # *.oVBCC2 files are compiled with -O3    Must also change vbccobjects.txt.
  109.  
  110. OBJSVBCC1 = cd_amiga.oVBCC chase.oVBCC cl_demo.oVBCC cl_input.oVBCC cl_main.oVBCC cl_parse.oVBCC cl_tent.oVBCC cmd.oVBCC \
  111.  common.oVBCC console.oVBCC crc.oVBCC cvar.oVBCC d_edge.oVBCC2 d_fill.oVBCC d_init.oVBCC d_modech.oVBCC \
  112.  d_part.oVBCC2 d_polyse.oVBCC2 d_scan.oVBCC2 d_sky.oVBCC d_sprite.oVBCC d_surf.oVBCC d_vars.oVBCC d_zpoint.oVBCC \
  113.  
  114. OBJSVBCC2 = draw.oVBCC host.oVBCC host_cmd.oVBCC in_amiga.oVBCC keys.oVBCC mathlib.oVBCC menu.oVBCC model.oVBCC \
  115.  net_dgrm.oVBCC net_loop.oVBCC net_main.oVBCC net_bsd.oVBCC net_amigaudp.oVBCC net_vcr.oVBCC nonintel.oVBCC pr_cmds.oVBCC \
  116.  pr_edict.oVBCC pr_exec.oVBCC r_aclip.oVBCC2 r_alias.oVBCC2 r_bsp.oVBCC r_draw.oVBCC r_edge.oVBCC2 r_efrag.oVBCC \
  117.  
  118. OBJSVBCC3 = r_light.oVBCC2 r_main.oVBCC r_misc.oVBCC r_part.oVBCC r_sky.oVBCC r_sprite.oVBCC \
  119.  r_surf.oVBCC2 r_vars.oVBCC sbar.oVBCC screen.oVBCC snd_dma.oVBCC snd_mem.oVBCC snd_mix.oVBCC snd_amiga.oVBCC \
  120.  sv_main.oVBCC sv_move.oVBCC sv_phys.oVBCC sv_user.oVBCC sys_amiga.oVBCC vid_amiga.oVBCC view.oVBCC wad.oVBCC \
  121.  world.oVBCC zone.oVBCC amiga_ppc_c2p.oVBCC amiga_timer.oVBCC
  122.  
  123. all: awinquake awinquakeppc awinquakewos awinquakevbcc awinquakegcc
  124.  
  125. awinquake: $(OBJS1) $(OBJS2) $(OBJS3)
  126.     slink < with <
  127.     from lib:c.o $(OBJS1) $(OBJS2) $(OBJS3) to awinquake \
  128.     lib lib:scm881.lib lib:sc.lib lib:amiga.lib \
  129.     noicons verbose smallcode stripdebug
  130. <
  131. #    addsym
  132.  
  133. awinquakegcc: $(OBJSGCC1) $(OBJSGCC2) $(OBJSGCC3)
  134.     gcc $(OBJS1) $(OBJS2) $(OBJS3) -o awinquakegcc
  135.  
  136. awinquakeppc: temp1.o temp2.o temp3.o
  137.     ppc-amigaos-ld -r -o awinquakeppc lib:c_ppc.o temp1.o temp2.o temp3.o \
  138.         lib:libmoto.a lib:scppc.a lib:end.o --Map ram:awinquakeppc.map
  139.     protect awinquakeppc +e
  140.  
  141. awinquakewos: $(OBJSWOS1) $(OBJSWOS2) $(OBJSWOS3)
  142.     assign sl: stormc:stormsys/lib
  143.     StormLink to awinquakewos stormc:stormsys/startups/startup603.o \
  144.     with wosobjects.txt \
  145.     lib storm603.lib ppcamiga.lib \
  146.     stormc:storm_socket/lib/socket.lib \
  147.     tmp_powerpc.lib sl:math603.lib \
  148.     sl:stormcstartup603.lib sl:stormcsupport603.lib map
  149.     assign sl: remove
  150.  
  151. awinquakevbcc: $(OBJSVBCC1) $(OBJSVBCC2) $(OBJSVBCC3)
  152.     vlink -o awinquakevbcc -nostdlib -Lvlibwos: vlibwos:warpup.o \
  153.     -Fvbccobjects.txt -b amigaehf -Lvbccwos:lib -Lstormc:storm_socket/lib \
  154.     -lauto -lamiga -lcybergraphics -lcdplayer -lsocket -lppcmath -lm -lextra -lvc vlibwos:x.o \
  155.     -s -x
  156.  
  157. .c.o:
  158.     sc ${SCFLAGS} $<
  159.  
  160. .s.o:
  161.     sc cpu=68060 $<
  162. #    phxass INCPATH=include: NOEXE MACHINE=68020 OPT=2 $<
  163.  
  164. .c.oGCC:
  165.     gcc -c -o $*.oGCC -O3 -m68040 -m68881 -DAMIGA -fomit-frame-pointer -funroll-loops -ffast-math -Ignu:include $<
  166.  
  167. .c.oPPC:
  168.     scppc ${SCPPCFLAGS} objectname $*.oPPC $<
  169.  
  170. .c.oPPC2:
  171.     ppc-amigaos-gcc -V 2.95.2 -c -O3 -DAMIGA -D__PPC__ -Didppc=1 -DNDEBUG -mcpu=604e -fomit-frame-pointer -funroll-loops -ffast-math -o $*.oPPC2 -Ignu:include $<
  172. #    ppc-amigaos-gcc -V egcs-2.91.66 -c -O3 -DAMIGA -D__PPC__ -Didppc=1 -DNDEBUG -mcpu=604 -fomit-frame-pointer -funroll-loops -ffast-math -o $*.oPPC2 -Ignu:include $<
  173.  
  174. .s.oPPC:
  175.     pasm -o $*.oPPC $<
  176.  
  177. .c.oWOS:
  178.     StormC_PPC -c ${WOSFLAGS} -o $*.oWOS $<
  179.  
  180. .p.oWOS:
  181.     PowerASM TO $*.oWOS FROM $<
  182.  
  183. .c.oVBCC:
  184.     vc -c ${VBCCFLAGS} -o $*.oVBCC $<
  185.  
  186. .c.oVBCC2:
  187.     vc -c ${VBCCFLAGS2} -o $*.oVBCC2 $<
  188.  
  189. .s.oVBCC:
  190.     pasm -o $*.oVBCC -F2 $<
  191.  
  192. temp1.o: $(OBJSPPC1)
  193.     ppc-amigaos-ld $(LDFLAGS) -r -o temp1.o $(OBJSPPC1)
  194.  
  195. temp2.o: $(OBJSPPC2)
  196.     ppc-amigaos-ld $(LDFLAGS) -r -o temp2.o $(OBJSPPC2)
  197.  
  198. temp3.o: $(OBJSPPC3)
  199.     ppc-amigaos-ld $(LDFLAGS) -r -o temp3.o $(OBJSPPC3)
  200.  
  201. # r_misc2.c doesn't work on 680x0 when optimised
  202. r_misc2.o: r_misc2.c
  203.     sc nooptimize nodebug $(COMMONFLAGS) r_misc2.c
  204.  
  205. net_amigaudp.o: net_amigaudp.c
  206.     sc $(SCFLAGS) $< INCLUDEDIRECTORY=amitcp:netinclude
  207.  
  208. net_amigaudp.oPPC: net_amigaudp.c
  209.     scppc $(SCPPCFLAGS) objectname $*.oPPC $< INCLUDEDIRECTORY=amitcp:netinclude
  210.  
  211. # DEFINE=AMITCP_NEW_NAMES DEFINE=Inet_Addr=inet_addr
  212.  
  213. net_amigaudp.oWOS: net_amigaudp.c
  214.     StormC_PPC -c ${WOSFLAGS} -o $*.oWOS $< -i "" -i stormc:storm_socket -i stormc:include
  215.  
  216. net_amigaudp.oVBCC: net_amigaudp.c
  217.     vc -c ${VBCCFLAGS} -o $*.oVBCC $< -Istormc:storm_socket
  218.  
  219. clean:
  220.     delete *.o
  221.     delete *.oPPC
  222.