home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 113 / EnigmaAmiga113CD.iso / software / sviluppo / quakeworld_src / makefile.linux < prev    next >
Makefile  |  2000-06-17  |  30KB  |  931 lines

  1. #
  2. # QuakeWorld Makefile for Linux 2.0
  3. #
  4. # Apr '98 by Zoid <zoid@idsoftware.com>
  5. #
  6. # GNU Make required
  7. #
  8. # ELF only
  9. #
  10.  
  11. # RPM release number
  12. RPM_RELEASE=1
  13.  
  14. VERSION=2.30$(GLIBC)
  15.  
  16. ifneq (,$(findstring libc6,$(shell if [ -e /lib/libc.so.6* ];then echo libc6;fi)))
  17. GLIBC=-glibc
  18. else
  19. GLIBC=
  20. endif
  21.  
  22. ifneq (,$(findstring alpha,$(shell uname -m)))
  23. ARCH=axp
  24. RPMARCH=alpha
  25. else
  26. ARCH=i386
  27. RPMARCH=i386
  28. endif
  29.  
  30. MAINDIR=/grog/Projects/QW
  31.  
  32. BUILD_DEBUG_DIR=debug$(ARCH)$(GLIBC)
  33. BUILD_RELEASE_DIR=release$(ARCH)$(GLIBC)
  34. CLIENT_DIR=$(MAINDIR)/client
  35. SERVER_DIR=$(MAINDIR)/server
  36.  
  37. MESA_DIR=/usr/local/src/Mesa-3.0
  38.  
  39. CC=gcc
  40. BASE_CFLAGS=-Wall -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR)
  41. DEBUG_CFLAGS=$(BASE_CFLAGS) -g
  42. ifeq ($(ARCH),axp)
  43. RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
  44.     -fomit-frame-pointer -fexpensive-optimizations
  45. else
  46. RELEASE_CFLAGS=$(BASE_CFLAGS) -m486 -O6 -ffast-math -funroll-loops \
  47.     -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 \
  48.     -malign-jumps=2 -malign-functions=2
  49. endif
  50. GLCFLAGS=-DGLQUAKE -I/usr/local/src/Mesa-3.0/include -I/usr/include/glide
  51.  
  52. LDFLAGS=-lm
  53. SVGALDFLAGS=-lvga
  54. XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext
  55. GL_SVGA_LDFLAGS=-L/usr/X11/lib -L/usr/local/src/Mesa-3.0/lib -lm -lMesaGL -lglide2x -lX11 -lXext -lvga
  56. GL_X11_LDFLAGS=-L/usr/X11/lib -L/usr/local/src/Mesa-3.0/lib -lm -lGL -lX11 -lXext
  57.  
  58. DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
  59. DO_O_CC=$(CC) -O $(CFLAGS) -o $@ -c $<
  60. DO_GL_CC=$(CC) $(CFLAGS) $(GLCFLAGS) -o $@ -c $<
  61. DO_SERVER_CC=$(CC) -DSERVERONLY $(CFLAGS) -o $@ -c $<
  62.  
  63. DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
  64. DO_GL_AS=$(CC) $(CFLAGS) $(GLCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
  65.  
  66. #############################################################################
  67. # SETUP AND BUILD
  68. #############################################################################
  69.  
  70. ifeq ($(ARCH),axp)
  71. TARGETS=$(BUILDDIR)/qwsv 
  72. #$(BUILDDIR)/qwcl.x11
  73. else
  74. TARGETS=$(BUILDDIR)/qwsv $(BUILDDIR)/qwcl $(BUILDDIR)/qwcl.x11 $(BUILDDIR)/glqwcl $(BUILDDIR)/glqwcl.glx
  75. endif
  76.  
  77. build_debug:
  78.     @-mkdir $(BUILD_DEBUG_DIR) \
  79.         $(BUILD_DEBUG_DIR)/client \
  80.         $(BUILD_DEBUG_DIR)/glclient \
  81.         $(BUILD_DEBUG_DIR)/server 
  82.     $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  83.  
  84. build_release:
  85.     @-mkdir $(BUILD_RELEASE_DIR) \
  86.         $(BUILD_RELEASE_DIR)/client \
  87.         $(BUILD_RELEASE_DIR)/glclient \
  88.         $(BUILD_RELEASE_DIR)/server
  89.     $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
  90.  
  91. all: build_debug build_release
  92.  
  93. targets: $(TARGETS)
  94.  
  95. #############################################################################
  96. # SERVER
  97. #############################################################################
  98.  
  99. QWSV_OBJS = \
  100.      $(BUILDDIR)/server/pr_cmds.o \
  101.      $(BUILDDIR)/server/pr_edict.o \
  102.      $(BUILDDIR)/server/pr_exec.o \
  103.      $(BUILDDIR)/server/sv_init.o \
  104.      $(BUILDDIR)/server/sv_main.o \
  105.      $(BUILDDIR)/server/sv_nchan.o \
  106.      $(BUILDDIR)/server/sv_ents.o \
  107.      $(BUILDDIR)/server/sv_send.o \
  108.      $(BUILDDIR)/server/sv_move.o \
  109.      $(BUILDDIR)/server/sv_phys.o \
  110.      $(BUILDDIR)/server/sv_user.o \
  111.      $(BUILDDIR)/server/sv_ccmds.o \
  112.      $(BUILDDIR)/server/world.o \
  113.      $(BUILDDIR)/server/sys_unix.o \
  114.      $(BUILDDIR)/server/model.o \
  115.      $(BUILDDIR)/server/cmd.o \
  116.      $(BUILDDIR)/server/common.o \
  117.      $(BUILDDIR)/server/crc.o \
  118.      $(BUILDDIR)/server/cvar.o \
  119.      $(BUILDDIR)/server/mathlib.o \
  120.      $(BUILDDIR)/server/md4.o \
  121.      $(BUILDDIR)/server/zone.o \
  122.      $(BUILDDIR)/server/pmove.o \
  123.      $(BUILDDIR)/server/pmovetst.o \
  124.      $(BUILDDIR)/server/net_chan.o \
  125.      $(BUILDDIR)/server/net_udp.o 
  126.  
  127. $(BUILDDIR)/qwsv : $(QWSV_OBJS)
  128.     $(CC) $(CFLAGS) -o $@ $(QWSV_OBJS) $(LDFLAGS)
  129.  
  130. $(BUILDDIR)/server/pr_cmds.o :   $(SERVER_DIR)/pr_cmds.c 
  131.     $(DO_SERVER_CC)
  132.  
  133. $(BUILDDIR)/server/pr_edict.o :  $(SERVER_DIR)/pr_edict.c
  134.     $(DO_SERVER_CC)
  135.  
  136. $(BUILDDIR)/server/pr_exec.o :   $(SERVER_DIR)/pr_exec.c
  137.     $(DO_SERVER_CC)
  138.  
  139. $(BUILDDIR)/server/sv_init.o :   $(SERVER_DIR)/sv_init.c
  140.     $(DO_SERVER_CC)
  141.  
  142. $(BUILDDIR)/server/sv_main.o :   $(SERVER_DIR)/sv_main.c
  143.     $(DO_SERVER_CC)
  144.  
  145. $(BUILDDIR)/server/sv_nchan.o :  $(SERVER_DIR)/sv_nchan.c
  146.     $(DO_SERVER_CC)
  147.  
  148. $(BUILDDIR)/server/sv_ents.o :   $(SERVER_DIR)/sv_ents.c
  149.     $(DO_SERVER_CC)
  150.  
  151. $(BUILDDIR)/server/sv_send.o :   $(SERVER_DIR)/sv_send.c
  152.     $(DO_SERVER_CC)
  153.  
  154. $(BUILDDIR)/server/sv_move.o :   $(SERVER_DIR)/sv_move.c
  155.     $(DO_SERVER_CC)
  156.  
  157. $(BUILDDIR)/server/sv_phys.o :   $(SERVER_DIR)/sv_phys.c
  158.     $(DO_SERVER_CC)
  159.  
  160. $(BUILDDIR)/server/sv_user.o :   $(SERVER_DIR)/sv_user.c
  161.     $(DO_SERVER_CC)
  162.  
  163. $(BUILDDIR)/server/sv_ccmds.o :  $(SERVER_DIR)/sv_ccmds.c
  164.     $(DO_SERVER_CC)
  165.  
  166. $(BUILDDIR)/server/world.o :     $(SERVER_DIR)/world.c
  167.     $(DO_SERVER_CC)
  168.  
  169. $(BUILDDIR)/server/sys_unix.o :  $(SERVER_DIR)/sys_unix.c
  170.     $(DO_SERVER_CC)
  171.  
  172. $(BUILDDIR)/server/model.o :     $(SERVER_DIR)/model.c
  173.     $(DO_SERVER_CC)
  174.  
  175. $(BUILDDIR)/server/cmd.o :       $(CLIENT_DIR)/cmd.c
  176.     $(DO_SERVER_CC)
  177.  
  178. $(BUILDDIR)/server/common.o :    $(CLIENT_DIR)/common.c
  179.     $(DO_SERVER_CC)
  180.  
  181. $(BUILDDIR)/server/crc.o :       $(CLIENT_DIR)/crc.c
  182.     $(DO_SERVER_CC)
  183.  
  184. $(BUILDDIR)/server/cvar.o :      $(CLIENT_DIR)/cvar.c
  185.     $(DO_SERVER_CC)
  186.  
  187. $(BUILDDIR)/server/mathlib.o :   $(CLIENT_DIR)/mathlib.c
  188.     $(DO_SERVER_CC)
  189.  
  190. $(BUILDDIR)/server/md4.o :       $(CLIENT_DIR)/md4.c
  191.     $(DO_SERVER_CC)
  192.  
  193. $(BUILDDIR)/server/zone.o :      $(CLIENT_DIR)/zone.c
  194.     $(DO_SERVER_CC)
  195.  
  196. $(BUILDDIR)/server/pmove.o :     $(CLIENT_DIR)/pmove.c
  197.     $(DO_SERVER_CC)
  198.  
  199. $(BUILDDIR)/server/pmovetst.o :  $(CLIENT_DIR)/pmovetst.c
  200.     $(DO_SERVER_CC)
  201.  
  202. $(BUILDDIR)/server/net_chan.o :  $(CLIENT_DIR)/net_chan.c
  203.     $(DO_SERVER_CC)
  204.  
  205. $(BUILDDIR)/server/net_udp.o :   $(CLIENT_DIR)/net_udp.c
  206.     $(DO_SERVER_CC)
  207.  
  208. #############################################################################
  209. # CLIENT
  210. #############################################################################
  211.  
  212. QWCL_OBJS = \
  213.     $(BUILDDIR)/client/cl_demo.o \
  214.     $(BUILDDIR)/client/cl_ents.o \
  215.     $(BUILDDIR)/client/cl_input.o \
  216.     $(BUILDDIR)/client/cl_main.o \
  217.     $(BUILDDIR)/client/cl_parse.o \
  218.     $(BUILDDIR)/client/cl_pred.o \
  219.     $(BUILDDIR)/client/cl_tent.o \
  220.     $(BUILDDIR)/client/cl_cam.o \
  221.     $(BUILDDIR)/client/cmd.o \
  222.     $(BUILDDIR)/client/common.o \
  223.     $(BUILDDIR)/client/console.o \
  224.     $(BUILDDIR)/client/crc.o \
  225.     $(BUILDDIR)/client/cvar.o \
  226.     $(BUILDDIR)/client/d_edge.o \
  227.     $(BUILDDIR)/client/d_fill.o \
  228.     $(BUILDDIR)/client/d_init.o \
  229.     $(BUILDDIR)/client/d_modech.o \
  230.     $(BUILDDIR)/client/d_part.o \
  231.     $(BUILDDIR)/client/d_polyse.o \
  232.     $(BUILDDIR)/client/d_scan.o \
  233.     $(BUILDDIR)/client/d_sky.o \
  234.     $(BUILDDIR)/client/d_sprite.o \
  235.     $(BUILDDIR)/client/d_surf.o \
  236.     $(BUILDDIR)/client/d_vars.o \
  237.     $(BUILDDIR)/client/d_zpoint.o \
  238.     $(BUILDDIR)/client/draw.o \
  239.     $(BUILDDIR)/client/keys.o \
  240.     $(BUILDDIR)/client/mathlib.o \
  241.     $(BUILDDIR)/client/md4.o \
  242.     $(BUILDDIR)/client/menu.o \
  243.     $(BUILDDIR)/client/model.o \
  244.     $(BUILDDIR)/client/net_chan.o \
  245.     $(BUILDDIR)/client/net_udp.o \
  246.     $(BUILDDIR)/client/nonintel.o \
  247.     $(BUILDDIR)/client/pmove.o \
  248.     $(BUILDDIR)/client/pmovetst.o \
  249.     $(BUILDDIR)/client/r_aclip.o \
  250.     $(BUILDDIR)/client/r_alias.o \
  251.     $(BUILDDIR)/client/r_bsp.o \
  252.     $(BUILDDIR)/client/r_draw.o \
  253.     $(BUILDDIR)/client/r_edge.o \
  254.     $(BUILDDIR)/client/r_efrag.o \
  255.     $(BUILDDIR)/client/r_light.o \
  256.     $(BUILDDIR)/client/r_main.o \
  257.     $(BUILDDIR)/client/r_misc.o \
  258.     $(BUILDDIR)/client/r_part.o \
  259.     $(BUILDDIR)/client/r_sky.o \
  260.     $(BUILDDIR)/client/r_sprite.o \
  261.     $(BUILDDIR)/client/r_surf.o \
  262.     $(BUILDDIR)/client/r_vars.o \
  263.     $(BUILDDIR)/client/sbar.o \
  264.     $(BUILDDIR)/client/screen.o \
  265.     $(BUILDDIR)/client/skin.o \
  266.     $(BUILDDIR)/client/snd_dma.o \
  267.     $(BUILDDIR)/client/snd_mem.o \
  268.     $(BUILDDIR)/client/snd_mix.o \
  269.     $(BUILDDIR)/client/view.o \
  270.     $(BUILDDIR)/client/wad.o \
  271.     $(BUILDDIR)/client/zone.o \
  272.     $(BUILDDIR)/client/cd_linux.o \
  273.     $(BUILDDIR)/client/sys_linux.o \
  274.     $(BUILDDIR)/client/snd_linux.o \
  275.  
  276. ifeq ($(ARCH),i386)
  277.     QWCL_AS_OBJS = \
  278.     $(BUILDDIR)/client/d_copy.o \
  279.     $(BUILDDIR)/client/d_draw.o \
  280.     $(BUILDDIR)/client/d_draw16.o \
  281.     $(BUILDDIR)/client/d_parta.o \
  282.     $(BUILDDIR)/client/d_polysa.o \
  283.     $(BUILDDIR)/client/d_scana.o \
  284.     $(BUILDDIR)/client/d_spr8.o \
  285.     $(BUILDDIR)/client/d_varsa.o \
  286.     $(BUILDDIR)/client/math.o \
  287.     $(BUILDDIR)/client/r_aclipa.o \
  288.     $(BUILDDIR)/client/r_aliasa.o \
  289.     $(BUILDDIR)/client/r_drawa.o \
  290.     $(BUILDDIR)/client/r_edgea.o \
  291.     $(BUILDDIR)/client/r_varsa.o \
  292.     $(BUILDDIR)/client/snd_mixa.o \
  293.     $(BUILDDIR)/client/surf16.o \
  294.     $(BUILDDIR)/client/surf8.o \
  295.     $(BUILDDIR)/client/sys_dosa.o
  296. else
  297.     QWCL_AS_OBJS=
  298. endif
  299.  
  300. QWCL_SVGA_OBJS = $(BUILDDIR)/client/vid_svgalib.o
  301. QWCL_X11_OBJS = $(BUILDDIR)/client/vid_x.o
  302.  
  303. $(BUILDDIR)/qwcl : $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_SVGA_OBJS)
  304.     $(CC) $(CFLAGS) -o $@ $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_SVGA_OBJS) \
  305.         $(LDFLAGS) $(SVGALDFLAGS)
  306.  
  307. $(BUILDDIR)/qwcl.x11 : $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_X11_OBJS)
  308.     $(CC) $(CFLAGS) -o $@ $(QWCL_OBJS) $(QWCL_AS_OBJS) $(QWCL_X11_OBJS) \
  309.         $(LDFLAGS) $(XLDFLAGS)
  310.  
  311. $(BUILDDIR)/client/cl_demo.o :        $(CLIENT_DIR)/cl_demo.c
  312.     $(DO_CC)
  313.                                                                       
  314. $(BUILDDIR)/client/cl_ents.o :        $(CLIENT_DIR)/cl_ents.c
  315.     $(DO_CC)
  316.                                                                       
  317. $(BUILDDIR)/client/cl_input.o :       $(CLIENT_DIR)/cl_input.c
  318.     $(DO_CC)
  319.                                                                       
  320. $(BUILDDIR)/client/cl_main.o :        $(CLIENT_DIR)/cl_main.c
  321.     $(DO_CC)
  322.                                                                       
  323. $(BUILDDIR)/client/cl_parse.o :       $(CLIENT_DIR)/cl_parse.c
  324.     $(DO_CC)
  325.                                                                       
  326. $(BUILDDIR)/client/cl_pred.o :        $(CLIENT_DIR)/cl_pred.c
  327.     $(DO_CC)
  328.                                                                       
  329. $(BUILDDIR)/client/cl_tent.o :        $(CLIENT_DIR)/cl_tent.c
  330.     $(DO_CC)
  331.                                                                       
  332. $(BUILDDIR)/client/cl_cam.o :         $(CLIENT_DIR)/cl_cam.c
  333.     $(DO_CC)
  334.                                                                       
  335. $(BUILDDIR)/client/cmd.o :            $(CLIENT_DIR)/cmd.c
  336.     $(DO_CC)
  337.                                                                       
  338. $(BUILDDIR)/client/common.o :         $(CLIENT_DIR)/common.c
  339.     $(DO_CC)
  340.                                                                       
  341. $(BUILDDIR)/client/console.o :        $(CLIENT_DIR)/console.c
  342.     $(DO_CC)
  343.                                                                       
  344. $(BUILDDIR)/client/crc.o :            $(CLIENT_DIR)/crc.c
  345.     $(DO_CC)
  346.                                                                       
  347. $(BUILDDIR)/client/cvar.o :           $(CLIENT_DIR)/cvar.c
  348.     $(DO_CC)
  349.                                                                       
  350. $(BUILDDIR)/client/d_edge.o :         $(CLIENT_DIR)/d_edge.c
  351.     $(DO_CC)
  352.                                                                       
  353. $(BUILDDIR)/client/d_fill.o :         $(CLIENT_DIR)/d_fill.c
  354.     $(DO_CC)
  355.                                                                       
  356. $(BUILDDIR)/client/d_init.o :         $(CLIENT_DIR)/d_init.c
  357.     $(DO_CC)
  358.                                                                       
  359. $(BUILDDIR)/client/d_modech.o :       $(CLIENT_DIR)/d_modech.c
  360.     $(DO_CC)
  361.                                                                       
  362. $(BUILDDIR)/client/d_part.o :         $(CLIENT_DIR)/d_part.c
  363.     $(DO_CC)
  364.                                                                       
  365. $(BUILDDIR)/client/d_polyse.o :       $(CLIENT_DIR)/d_polyse.c
  366.     $(DO_CC)
  367.                                                                       
  368. $(BUILDDIR)/client/d_scan.o :         $(CLIENT_DIR)/d_scan.c
  369.     $(DO_CC)
  370.                                                                       
  371. $(BUILDDIR)/client/d_sky.o :          $(CLIENT_DIR)/d_sky.c
  372.     $(DO_CC)
  373.                                                                       
  374. $(BUILDDIR)/client/d_sprite.o :       $(CLIENT_DIR)/d_sprite.c
  375.     $(DO_CC)
  376.                                                                       
  377. $(BUILDDIR)/client/d_surf.o :         $(CLIENT_DIR)/d_surf.c
  378.     $(DO_CC)
  379.                                                                       
  380. $(BUILDDIR)/client/d_vars.o :         $(CLIENT_DIR)/d_vars.c
  381.     $(DO_CC)
  382.                                                                       
  383. $(BUILDDIR)/client/d_zpoint.o :       $(CLIENT_DIR)/d_zpoint.c
  384.     $(DO_CC)
  385.                                                                       
  386. $(BUILDDIR)/client/draw.o :           $(CLIENT_DIR)/draw.c
  387.     $(DO_CC)
  388.                                                                       
  389. $(BUILDDIR)/client/keys.o :           $(CLIENT_DIR)/keys.c
  390.     $(DO_CC)
  391.                                                                       
  392. $(BUILDDIR)/client/mathlib.o :        $(CLIENT_DIR)/mathlib.c
  393.     $(DO_CC)
  394.                                                                       
  395. $(BUILDDIR)/client/md4.o :            $(CLIENT_DIR)/md4.c
  396.     $(DO_CC)
  397.                                                                       
  398. $(BUILDDIR)/client/menu.o :           $(CLIENT_DIR)/menu.c
  399.     $(DO_CC)
  400.                                                                       
  401. $(BUILDDIR)/client/model.o :          $(CLIENT_DIR)/model.c
  402.     $(DO_CC)
  403.                                                                       
  404. $(BUILDDIR)/client/net_chan.o :       $(CLIENT_DIR)/net_chan.c
  405.     $(DO_CC)
  406.                                                                       
  407. $(BUILDDIR)/client/net_udp.o :        $(CLIENT_DIR)/net_udp.c
  408.     $(DO_CC)
  409.                                                                       
  410. $(BUILDDIR)/client/nonintel.o :       $(CLIENT_DIR)/nonintel.c
  411.     $(DO_CC)
  412.                                                                       
  413. $(BUILDDIR)/client/pmove.o :          $(CLIENT_DIR)/pmove.c
  414.     $(DO_CC)
  415.                                                                       
  416. $(BUILDDIR)/client/pmovetst.o :       $(CLIENT_DIR)/pmovetst.c
  417.     $(DO_CC)
  418.                                                                       
  419. $(BUILDDIR)/client/r_aclip.o :        $(CLIENT_DIR)/r_aclip.c
  420.     $(DO_CC)
  421.                                                                       
  422. $(BUILDDIR)/client/r_alias.o :        $(CLIENT_DIR)/r_alias.c
  423.     $(DO_CC)
  424.                                                                       
  425. $(BUILDDIR)/client/r_bsp.o :          $(CLIENT_DIR)/r_bsp.c
  426.     $(DO_CC)
  427.                                                                       
  428. $(BUILDDIR)/client/r_draw.o :         $(CLIENT_DIR)/r_draw.c
  429.     $(DO_CC)
  430.                                                                       
  431. $(BUILDDIR)/client/r_edge.o :         $(CLIENT_DIR)/r_edge.c
  432.     $(DO_CC)
  433.                                                                       
  434. $(BUILDDIR)/client/r_efrag.o :        $(CLIENT_DIR)/r_efrag.c
  435.     $(DO_CC)
  436.                                                                       
  437. $(BUILDDIR)/client/r_light.o :        $(CLIENT_DIR)/r_light.c
  438.     $(DO_CC)
  439.                                                                       
  440. $(BUILDDIR)/client/r_main.o :         $(CLIENT_DIR)/r_main.c
  441.     $(DO_CC)
  442.                                                                       
  443. $(BUILDDIR)/client/r_misc.o :         $(CLIENT_DIR)/r_misc.c
  444.     $(DO_CC)
  445.                                                                       
  446. $(BUILDDIR)/client/r_part.o :         $(CLIENT_DIR)/r_part.c
  447.     $(DO_CC)
  448.                                                                       
  449. $(BUILDDIR)/client/r_sky.o :          $(CLIENT_DIR)/r_sky.c
  450.     $(DO_CC)
  451.                                                                       
  452. $(BUILDDIR)/client/r_sprite.o :       $(CLIENT_DIR)/r_sprite.c
  453.     $(DO_CC)
  454.                                                                       
  455. $(BUILDDIR)/client/r_surf.o :         $(CLIENT_DIR)/r_surf.c
  456.     $(DO_CC)
  457.                                                                       
  458. $(BUILDDIR)/client/r_vars.o :         $(CLIENT_DIR)/r_vars.c
  459.     $(DO_CC)
  460.                                                                       
  461. $(BUILDDIR)/client/sbar.o :           $(CLIENT_DIR)/sbar.c
  462.     $(DO_CC)
  463.                                                                       
  464. $(BUILDDIR)/client/screen.o :         $(CLIENT_DIR)/screen.c
  465.     $(DO_CC)
  466.                                                                       
  467. $(BUILDDIR)/client/skin.o :           $(CLIENT_DIR)/skin.c
  468.     $(DO_CC)
  469.                                                                       
  470. $(BUILDDIR)/client/snd_dma.o :        $(CLIENT_DIR)/snd_dma.c
  471.     $(DO_CC)
  472.                                                                       
  473. $(BUILDDIR)/client/snd_mem.o :        $(CLIENT_DIR)/snd_mem.c
  474.     $(DO_CC)
  475.                                                                       
  476. $(BUILDDIR)/client/snd_mix.o :        $(CLIENT_DIR)/snd_mix.c
  477.     $(DO_CC)
  478.                                                                       
  479. $(BUILDDIR)/client/view.o :           $(CLIENT_DIR)/view.c
  480.     $(DO_CC)
  481.                                                                       
  482. $(BUILDDIR)/client/wad.o :            $(CLIENT_DIR)/wad.c
  483.     $(DO_CC)
  484.                                                                       
  485. $(BUILDDIR)/client/zone.o :           $(CLIENT_DIR)/zone.c
  486.     $(DO_CC)
  487.                                                                       
  488. $(BUILDDIR)/client/cd_linux.o :       $(CLIENT_DIR)/cd_linux.c
  489.     $(DO_CC)
  490.                                                                       
  491. $(BUILDDIR)/client/sys_linux.o :      $(CLIENT_DIR)/sys_linux.c
  492.     $(DO_CC)
  493.                                                                       
  494. $(BUILDDIR)/client/snd_linux.o :      $(CLIENT_DIR)/snd_linux.c
  495.     $(DO_CC)
  496.                                                                       
  497. $(BUILDDIR)/client/d_copy.o :         $(CLIENT_DIR)/d_copy.s
  498.     $(DO_AS)
  499.  
  500. $(BUILDDIR)/client/d_draw.o :         $(CLIENT_DIR)/d_draw.s
  501.     $(DO_AS)
  502.  
  503. $(BUILDDIR)/client/d_draw16.o :       $(CLIENT_DIR)/d_draw16.s
  504.     $(DO_AS)
  505.  
  506. $(BUILDDIR)/client/d_parta.o :        $(CLIENT_DIR)/d_parta.s
  507.     $(DO_AS)
  508.  
  509. $(BUILDDIR)/client/d_polysa.o :       $(CLIENT_DIR)/d_polysa.s
  510.     $(DO_AS)
  511.  
  512. $(BUILDDIR)/client/d_scana.o :        $(CLIENT_DIR)/d_scana.s
  513.     $(DO_AS)
  514.  
  515. $(BUILDDIR)/client/d_spr8.o :         $(CLIENT_DIR)/d_spr8.s
  516.     $(DO_AS)
  517.  
  518. $(BUILDDIR)/client/d_varsa.o :        $(CLIENT_DIR)/d_varsa.s
  519.     $(DO_AS)
  520.  
  521. $(BUILDDIR)/client/math.o :           $(CLIENT_DIR)/math.s
  522.     $(DO_AS)
  523.  
  524. $(BUILDDIR)/client/r_aclipa.o :       $(CLIENT_DIR)/r_aclipa.s
  525.     $(DO_AS)
  526.  
  527. $(BUILDDIR)/client/r_aliasa.o :       $(CLIENT_DIR)/r_aliasa.s
  528.     $(DO_AS)
  529.  
  530. $(BUILDDIR)/client/r_drawa.o :        $(CLIENT_DIR)/r_drawa.s
  531.     $(DO_AS)
  532.  
  533. $(BUILDDIR)/client/r_edgea.o :        $(CLIENT_DIR)/r_edgea.s
  534.     $(DO_AS)
  535.  
  536. $(BUILDDIR)/client/r_varsa.o :        $(CLIENT_DIR)/r_varsa.s
  537.     $(DO_AS)
  538.  
  539. $(BUILDDIR)/client/snd_mixa.o :       $(CLIENT_DIR)/snd_mixa.s
  540.     $(DO_AS)
  541.  
  542. $(BUILDDIR)/client/surf16.o :         $(CLIENT_DIR)/surf16.s
  543.     $(DO_AS)
  544.  
  545. $(BUILDDIR)/client/surf8.o :          $(CLIENT_DIR)/surf8.s
  546.     $(DO_AS)
  547.  
  548. $(BUILDDIR)/client/sys_dosa.o :       $(CLIENT_DIR)/sys_dosa.s
  549.     $(DO_AS)
  550.  
  551. $(BUILDDIR)/client/vid_svgalib.o : $(CLIENT_DIR)/vid_svgalib.c
  552.     $(DO_O_CC)
  553.  
  554. $(BUILDDIR)/client/vid_x.o : $(CLIENT_DIR)/vid_x.c
  555.     $(DO_CC)
  556.  
  557. #############################################################################
  558. # GL CLIENT
  559. #############################################################################
  560.  
  561. GLQWCL_OBJS = \
  562.     $(BUILDDIR)/glclient/cl_demo.o \
  563.     $(BUILDDIR)/glclient/cl_ents.o \
  564.     $(BUILDDIR)/glclient/cl_input.o \
  565.     $(BUILDDIR)/glclient/cl_main.o \
  566.     $(BUILDDIR)/glclient/cl_parse.o \
  567.     $(BUILDDIR)/glclient/cl_pred.o \
  568.     $(BUILDDIR)/glclient/cl_tent.o \
  569.     $(BUILDDIR)/glclient/cl_cam.o \
  570.     $(BUILDDIR)/glclient/cmd.o \
  571.     $(BUILDDIR)/glclient/common.o \
  572.     $(BUILDDIR)/glclient/console.o \
  573.     $(BUILDDIR)/glclient/crc.o \
  574.     $(BUILDDIR)/glclient/cvar.o \
  575.     $(BUILDDIR)/glclient/keys.o \
  576.     $(BUILDDIR)/glclient/mathlib.o \
  577.     $(BUILDDIR)/glclient/md4.o \
  578.     $(BUILDDIR)/glclient/menu.o \
  579.     $(BUILDDIR)/glclient/net_chan.o \
  580.     $(BUILDDIR)/glclient/net_udp.o \
  581.     $(BUILDDIR)/glclient/nonintel.o \
  582.     $(BUILDDIR)/glclient/pmove.o \
  583.     $(BUILDDIR)/glclient/pmovetst.o \
  584.     $(BUILDDIR)/glclient/r_part.o \
  585.     $(BUILDDIR)/glclient/sbar.o \
  586.     $(BUILDDIR)/glclient/skin.o \
  587.     $(BUILDDIR)/glclient/snd_dma.o \
  588.     $(BUILDDIR)/glclient/snd_mem.o \
  589.     $(BUILDDIR)/glclient/snd_mix.o \
  590.     $(BUILDDIR)/glclient/view.o \
  591.     $(BUILDDIR)/glclient/wad.o \
  592.     $(BUILDDIR)/glclient/zone.o \
  593.     $(BUILDDIR)/glclient/cd_linux.o \
  594.     $(BUILDDIR)/glclient/sys_linux.o \
  595.     $(BUILDDIR)/glclient/snd_linux.o \
  596.     \
  597.     $(BUILDDIR)/glclient/gl_draw.o \
  598.     $(BUILDDIR)/glclient/gl_mesh.o \
  599.     $(BUILDDIR)/glclient/gl_model.o \
  600.     $(BUILDDIR)/glclient/gl_ngraph.o \
  601.     $(BUILDDIR)/glclient/gl_refrag.o \
  602.     $(BUILDDIR)/glclient/gl_rlight.o \
  603.     $(BUILDDIR)/glclient/gl_rmain.o \
  604.     $(BUILDDIR)/glclient/gl_rmisc.o \
  605.     $(BUILDDIR)/glclient/gl_rsurf.o \
  606.     $(BUILDDIR)/glclient/gl_screen.o \
  607.     $(BUILDDIR)/glclient/gl_warp.o \
  608.     \
  609.     $(BUILDDIR)/glclient/math.o \
  610.     $(BUILDDIR)/glclient/snd_mixa.o \
  611.     $(BUILDDIR)/glclient/sys_dosa.o
  612.     
  613. GLQWCL_SVGA_OBJS = $(BUILDDIR)/glclient/gl_vidlinux.o
  614. GLQWCL_X11_OBJS = $(BUILDDIR)/glclient/gl_vidlinuxglx.o
  615.  
  616. $(BUILDDIR)/glqwcl : $(GLQWCL_OBJS) $(GLQWCL_SVGA_OBJS)
  617.     $(CC) $(CFLAGS) -o $@ $(GLQWCL_OBJS) $(GLQWCL_SVGA_OBJS) $(LDFLAGS) $(GL_SVGA_LDFLAGS)
  618.  
  619. $(BUILDDIR)/glqwcl.glx : $(GLQWCL_OBJS) $(GLQWCL_X11_OBJS)
  620.     $(CC) $(CFLAGS) -o $@ $(GLQWCL_OBJS) $(GLQWCL_X11_OBJS) $(LDFLAGS) $(GL_X11_LDFLAGS)
  621.  
  622. $(BUILDDIR)/glclient/cl_demo.o :       $(CLIENT_DIR)/cl_demo.c
  623.     $(DO_GL_CC)
  624.  
  625. $(BUILDDIR)/glclient/cl_ents.o :       $(CLIENT_DIR)/cl_ents.c
  626.     $(DO_GL_CC)
  627.  
  628. $(BUILDDIR)/glclient/cl_input.o :      $(CLIENT_DIR)/cl_input.c
  629.     $(DO_GL_CC)
  630.  
  631. $(BUILDDIR)/glclient/cl_main.o :       $(CLIENT_DIR)/cl_main.c
  632.     $(DO_GL_CC)
  633.  
  634. $(BUILDDIR)/glclient/cl_parse.o :      $(CLIENT_DIR)/cl_parse.c
  635.     $(DO_GL_CC)
  636.  
  637. $(BUILDDIR)/glclient/cl_pred.o :       $(CLIENT_DIR)/cl_pred.c
  638.     $(DO_GL_CC)
  639.  
  640. $(BUILDDIR)/glclient/cl_tent.o :       $(CLIENT_DIR)/cl_tent.c
  641.     $(DO_GL_CC)
  642.  
  643. $(BUILDDIR)/glclient/cl_cam.o :        $(CLIENT_DIR)/cl_cam.c
  644.     $(DO_GL_CC)
  645.  
  646. $(BUILDDIR)/glclient/cmd.o :           $(CLIENT_DIR)/cmd.c
  647.     $(DO_GL_CC)
  648.  
  649. $(BUILDDIR)/glclient/common.o :        $(CLIENT_DIR)/common.c
  650.     $(DO_GL_CC)
  651.  
  652. $(BUILDDIR)/glclient/console.o :       $(CLIENT_DIR)/console.c
  653.     $(DO_GL_CC)
  654.  
  655. $(BUILDDIR)/glclient/crc.o :           $(CLIENT_DIR)/crc.c
  656.     $(DO_GL_CC)
  657.  
  658. $(BUILDDIR)/glclient/cvar.o :          $(CLIENT_DIR)/cvar.c
  659.     $(DO_GL_CC)
  660.  
  661. $(BUILDDIR)/glclient/keys.o :          $(CLIENT_DIR)/keys.c
  662.     $(DO_GL_CC)
  663.  
  664. $(BUILDDIR)/glclient/mathlib.o :       $(CLIENT_DIR)/mathlib.c
  665.     $(DO_GL_CC)
  666.  
  667. $(BUILDDIR)/glclient/md4.o :           $(CLIENT_DIR)/md4.c
  668.     $(DO_GL_CC)
  669.  
  670. $(BUILDDIR)/glclient/menu.o :          $(CLIENT_DIR)/menu.c
  671.     $(DO_GL_CC)
  672.  
  673. $(BUILDDIR)/glclient/net_chan.o :      $(CLIENT_DIR)/net_chan.c
  674.     $(DO_GL_CC)
  675.  
  676. $(BUILDDIR)/glclient/net_udp.o :       $(CLIENT_DIR)/net_udp.c
  677.     $(DO_GL_CC)
  678.  
  679. $(BUILDDIR)/glclient/nonintel.o :      $(CLIENT_DIR)/nonintel.c
  680.     $(DO_GL_CC)
  681.  
  682. $(BUILDDIR)/glclient/pmove.o :         $(CLIENT_DIR)/pmove.c
  683.     $(DO_GL_CC)
  684.  
  685. $(BUILDDIR)/glclient/pmovetst.o :      $(CLIENT_DIR)/pmovetst.c
  686.     $(DO_GL_CC)
  687.  
  688. $(BUILDDIR)/glclient/r_part.o :        $(CLIENT_DIR)/r_part.c
  689.     $(DO_GL_CC)
  690.  
  691. $(BUILDDIR)/glclient/sbar.o :          $(CLIENT_DIR)/sbar.c
  692.     $(DO_GL_CC)
  693.  
  694. $(BUILDDIR)/glclient/screen.o :        $(CLIENT_DIR)/screen.c
  695.     $(DO_GL_CC)
  696.  
  697. $(BUILDDIR)/glclient/skin.o :          $(CLIENT_DIR)/skin.c
  698.     $(DO_GL_CC)
  699.  
  700. $(BUILDDIR)/glclient/snd_dma.o :       $(CLIENT_DIR)/snd_dma.c
  701.     $(DO_GL_CC)
  702.  
  703. $(BUILDDIR)/glclient/snd_mem.o :       $(CLIENT_DIR)/snd_mem.c
  704.     $(DO_GL_CC)
  705.  
  706. $(BUILDDIR)/glclient/snd_mix.o :       $(CLIENT_DIR)/snd_mix.c
  707.     $(DO_GL_CC)
  708.  
  709. $(BUILDDIR)/glclient/view.o :          $(CLIENT_DIR)/view.c
  710.     $(DO_GL_CC)
  711.  
  712. $(BUILDDIR)/glclient/wad.o :           $(CLIENT_DIR)/wad.c
  713.     $(DO_GL_CC)
  714.  
  715. $(BUILDDIR)/glclient/zone.o :          $(CLIENT_DIR)/zone.c
  716.     $(DO_GL_CC)
  717.  
  718. $(BUILDDIR)/glclient/cd_linux.o :      $(CLIENT_DIR)/cd_linux.c
  719.     $(DO_GL_CC)
  720.  
  721. $(BUILDDIR)/glclient/sys_linux.o :     $(CLIENT_DIR)/sys_linux.c
  722.     $(DO_GL_CC)
  723.  
  724. $(BUILDDIR)/glclient/snd_linux.o :     $(CLIENT_DIR)/snd_linux.c
  725.     $(DO_GL_CC)
  726.  
  727. $(BUILDDIR)/glclient/gl_draw.o :       $(CLIENT_DIR)/gl_draw.c
  728.     $(DO_GL_CC)
  729.  
  730. $(BUILDDIR)/glclient/gl_mesh.o :       $(CLIENT_DIR)/gl_mesh.c
  731.     $(DO_GL_CC)
  732.  
  733. $(BUILDDIR)/glclient/gl_model.o :      $(CLIENT_DIR)/gl_model.c
  734.     $(DO_GL_CC)
  735.  
  736. $(BUILDDIR)/glclient/gl_ngraph.o :     $(CLIENT_DIR)/gl_ngraph.c
  737.     $(DO_GL_CC)
  738.  
  739. $(BUILDDIR)/glclient/gl_refrag.o :     $(CLIENT_DIR)/gl_refrag.c
  740.     $(DO_GL_CC)
  741.  
  742. $(BUILDDIR)/glclient/gl_rlight.o :     $(CLIENT_DIR)/gl_rlight.c
  743.     $(DO_GL_CC)
  744.  
  745. $(BUILDDIR)/glclient/gl_rmain.o :      $(CLIENT_DIR)/gl_rmain.c
  746.     $(DO_GL_CC)
  747.  
  748. $(BUILDDIR)/glclient/gl_rmisc.o :      $(CLIENT_DIR)/gl_rmisc.c
  749.     $(DO_GL_CC)
  750.  
  751. $(BUILDDIR)/glclient/gl_rsurf.o :      $(CLIENT_DIR)/gl_rsurf.c
  752.     $(DO_GL_CC)
  753.  
  754. $(BUILDDIR)/glclient/gl_screen.o :     $(CLIENT_DIR)/gl_screen.c
  755.     $(DO_GL_CC)
  756.  
  757. $(BUILDDIR)/glclient/gl_vidlinux.o :   $(CLIENT_DIR)/gl_vidlinux.c
  758.     $(DO_GL_CC)
  759.  
  760. $(BUILDDIR)/glclient/gl_vidlinuxglx.o :   $(CLIENT_DIR)/gl_vidlinuxglx.c
  761.     $(DO_GL_CC)
  762.  
  763. $(BUILDDIR)/glclient/gl_warp.o :       $(CLIENT_DIR)/gl_warp.c
  764.     $(DO_GL_CC)
  765.  
  766. $(BUILDDIR)/glclient/math.o :          $(CLIENT_DIR)/math.s
  767.     $(DO_GL_AS)
  768.  
  769. $(BUILDDIR)/glclient/snd_mixa.o :      $(CLIENT_DIR)/snd_mixa.s
  770.     $(DO_GL_AS)
  771.  
  772. $(BUILDDIR)/glclient/sys_dosa.o :      $(CLIENT_DIR)/sys_dosa.s
  773.     $(DO_GL_AS)
  774.  
  775. #############################################################################
  776. # RPM
  777. #############################################################################
  778.  
  779. # Make RPMs.  You need to be root to make this work
  780. RPMROOT=/usr/src/redhat
  781. RPM = rpm
  782. RPMFLAGS = -bb
  783. INSTALLDIR = /usr/local/games/quake
  784.  
  785. ifeq ($(ARCH),axp)
  786. rpm: rpm-qwsv
  787. tar: tar-qwsv
  788. else
  789. rpm: rpm-qwcl rpm-qwsv
  790. tar: tar-qwcl tar-qwsv
  791. endif
  792.  
  793. QWCL_RPMDIR=/var/tmp/qwcl-$(VERSION)
  794. TDFXGL_DIR=/home/zoid/3dfxgl
  795.  
  796. QWPROGS = \
  797.     $(MAINDIR)/progs/buttons.qc \
  798.     $(MAINDIR)/progs/client.qc \
  799.     $(MAINDIR)/progs/combat.qc \
  800.     $(MAINDIR)/progs/defs.qc \
  801.     $(MAINDIR)/progs/doors.qc \
  802.     $(MAINDIR)/progs/items.qc \
  803.     $(MAINDIR)/progs/misc.qc \
  804.     $(MAINDIR)/progs/models.qc \
  805.     $(MAINDIR)/progs/plats.qc \
  806.     $(MAINDIR)/progs/player.qc \
  807.     $(MAINDIR)/progs/progdefs.h \
  808.     $(MAINDIR)/progs/progs.src \
  809.     $(MAINDIR)/progs/qwprogs.dat \
  810.     $(MAINDIR)/progs/server.qc \
  811.     $(MAINDIR)/progs/spectate.qc \
  812.     $(MAINDIR)/progs/sprites.qc \
  813.     $(MAINDIR)/progs/subs.qc \
  814.     $(MAINDIR)/progs/triggers.qc \
  815.     $(MAINDIR)/progs/weapons.qc \
  816.     $(MAINDIR)/progs/world.qc
  817.  
  818. rpm-qwcl: qwcl.spec \
  819.         $(BUILD_RELEASE_DIR)/qwcl \
  820.         $(BUILD_RELEASE_DIR)/glqwcl \
  821.         $(BUILD_RELEASE_DIR)/glqwcl.glx \
  822.         $(BUILD_RELEASE_DIR)/qwcl.x11
  823.     touch $(RPMROOT)/SOURCES/qwcl-$(VERSION).tar.gz
  824.     if [ ! -d archives ];then mkdir archives;fi
  825.     $(MAKE) copyfiles-qwcl DESTDIR=$(QWCL_RPMDIR)/$(INSTALLDIR)
  826.     cp qwcl.spec $(RPMROOT)/SPECS/qwcl.spec
  827.     cp $(MAINDIR)/quake.gif $(RPMROOT)/SOURCES/quake.gif
  828.     cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) qwcl.spec
  829.     cp $(RPMROOT)/RPMS/$(RPMARCH)/qwcl-$(VERSION)-$(RPM_RELEASE).$(RPMARCH).rpm archives/.
  830.     rm -rf $(QWCL_RPMDIR)
  831.  
  832. tar-qwcl: $(BUILD_RELEASE_DIR)/qwcl \
  833.         $(BUILD_RELEASE_DIR)/glqwcl \
  834.         $(BUILD_RELEASE_DIR)/glqwcl.glx \
  835.         $(BUILD_RELEASE_DIR)/qwcl.x11
  836.     if [ ! -d archives ];then mkdir archives;fi
  837.     $(MAKE) copyfiles-qwcl DESTDIR=$(QWCL_RPMDIR)/$(INSTALLDIR)
  838.     cd $(QWCL_RPMDIR)/$(INSTALLDIR); tar czvf qwcl-$(VERSION)-$(RPMARCH)-unknown-linux2.0.tar.gz *
  839.     mv $(QWCL_RPMDIR)/$(INSTALLDIR)/*.tar.gz archives/.
  840.     rm -rf $(QWCL_RPMDIR)
  841.  
  842. copyfiles-qwcl:
  843.     -mkdirhier $(DESTDIR)
  844.     -mkdirhier $(DESTDIR)/qw
  845.     -mkdirhier $(DESTDIR)/qw/skins
  846.     cp $(BUILD_RELEASE_DIR)/qwcl $(DESTDIR)/.
  847.     strip $(DESTDIR)/qwcl
  848.     chmod 4755 $(DESTDIR)/qwcl
  849.     cp $(BUILD_RELEASE_DIR)/qwcl.x11 $(DESTDIR)/.
  850.     strip $(DESTDIR)/qwcl.x11
  851.     chmod 755 $(DESTDIR)/qwcl.x11
  852.     cp $(BUILD_RELEASE_DIR)/glqwcl $(DESTDIR)/.
  853.     strip $(DESTDIR)/glqwcl
  854.     chmod 4755 $(DESTDIR)/glqwcl
  855.     cp $(BUILD_RELEASE_DIR)/glqwcl.glx $(DESTDIR)/.
  856.     strip $(DESTDIR)/glqwcl.glx
  857.     chmod 4755 $(DESTDIR)/glqwcl.glx
  858.     cp $(TDFXGL_DIR)/release$(ARCH)/lib3dfxgl.so $(DESTDIR)/.
  859.     chmod 755 $(DESTDIR)/lib3dfxgl.so
  860.     cp $(MAINDIR)/glqwcl.3dfxgl $(DESTDIR)/.
  861.     chmod 755 $(DESTDIR)/glqwcl.3dfxgl
  862.     cp $(MAINDIR)/docs/README.qwcl $(DESTDIR)/.
  863.     chmod 644 $(DESTDIR)/README.qwcl
  864.     cp $(MAINDIR)/fixskins.sh $(DESTDIR)/qw/skins/.
  865.     chmod 755 $(DESTDIR)/qw/skins/fixskins.sh
  866.     cp $(MESA_DIR)/lib/libMesaGL.so.2.6 $(DESTDIR)
  867.     chmod 755 $(DESTDIR)/libMesaGL.so.2.6
  868.     cd $(DESTDIR); ln -sf libMesaGL.so.2.6 libMesaGL.so.2
  869.     cd $(DESTDIR); ln -sf libMesaGL.so.2 libMesaGL.so
  870.     cd $(DESTDIR); ln -sf libMesaGL.so libGL.so
  871.  
  872. qwcl.spec : $(MAINDIR)/qwcl.spec.sh $(BUILD_RELEASE_DIR)/qwcl
  873.     sh $< $(VERSION) $(RPM_RELEASE) $(INSTALLDIR) > $@
  874.  
  875. QWSV_RPMDIR=/var/tmp/qwsv-$(VERSION)
  876. rpm-qwsv: qwsv.spec $(BUILD_RELEASE_DIR)/qwsv $(QWPROGS)
  877.     touch $(RPMROOT)/SOURCES/qwsv-$(VERSION).tar.gz
  878.     if [ ! -d archives ];then mkdir archives;fi
  879.     $(MAKE) copyfiles-qwsv DESTDIR=$(QWSV_RPMDIR)/$(INSTALLDIR)
  880.     cp qwsv.spec $(RPMROOT)/SPECS/qwsv.spec
  881.     cp $(MAINDIR)/quake.gif $(RPMROOT)/SOURCES/quake.gif
  882.     cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) qwsv.spec
  883.     cp $(RPMROOT)/RPMS/$(RPMARCH)/qwsv-$(VERSION)-$(RPM_RELEASE).$(RPMARCH).rpm archives/.
  884.     rm -rf $(QWSV_RPMDIR)
  885.  
  886. tar-qwsv: $(BUILD_RELEASE_DIR)/qwsv $(QWPROGS)
  887.     if [ ! -d archives ];then mkdir archives;fi
  888.     $(MAKE) copyfiles-qwsv DESTDIR=$(QWSV_RPMDIR)/$(INSTALLDIR)
  889.     cd $(QWSV_RPMDIR)/$(INSTALLDIR); tar czvf qwsv-$(VERSION)-$(RPMARCH)-unknown-linux2.0.tar.gz *
  890.     mv $(QWSV_RPMDIR)/$(INSTALLDIR)/*.tar.gz archives/.
  891.     rm -rf $(QWSV_RPMDIR)
  892.  
  893. copyfiles-qwsv:
  894.     -mkdirhier $(DESTDIR)
  895.     -mkdirhier $(DESTDIR)/qw
  896.     -mkdirhier $(DESTDIR)/qw/skins
  897.     cp $(BUILD_RELEASE_DIR)/qwsv $(DESTDIR)/.
  898.     strip $(DESTDIR)/qwsv
  899.     chmod 755 $(DESTDIR)/qwsv
  900.     cp $(MAINDIR)/docs/README.qwsv $(DESTDIR)/.
  901.     chmod 644 $(DESTDIR)/README.qwsv
  902.     cp $(QWPROGS) $(DESTDIR)/qw/.
  903.     cd $(DESTDIR)/qw; chmod 644 *
  904.     chmod 755 $(DESTDIR)/qw/skins
  905.     cp $(MAINDIR)/fixskins.sh $(DESTDIR)/qw/skins/.
  906.     chmod 755 $(DESTDIR)/qw/skins/fixskins.sh
  907.  
  908. qwsv.spec : $(MAINDIR)/qwsv.spec.sh $(BUILD_RELEASE_DIR)/qwsv
  909.     sh $< $(VERSION) $(RPM_RELEASE) $(INSTALLDIR) > $@
  910.  
  911. #############################################################################
  912. # MISC
  913. #############################################################################
  914.  
  915. clean: clean-debug clean-release
  916.  
  917. clean-debug:
  918.     $(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  919.  
  920. clean-release:
  921.     $(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
  922.  
  923. clean2:
  924.     -rm -f $(QWSV_OBJS) \
  925.         $(QWCL_OBJS) \
  926.         $(QWCL_AS_OBJS) \
  927.         $(QWCL_SVGA_OBJS) \
  928.         $(QWCL_X11_OBJS) \
  929.         $(GLQWCL_OBJS) \
  930.  
  931.