MAKEFILE 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # --------------------------------------------------------------------------
  2. #
  3. # WCC386 Options:
  4. #
  5. # 4r use 80486 timings and register argument passing
  6. # c compile only
  7. # d1 include line number debugging information
  8. # d2 include full sybolic debugging information
  9. # ei force enums to be of type int
  10. # j change char default from unsigned to signed
  11. # oa relax aliasing checking
  12. # od do not optimize
  13. # oe[=#] expand functions inline, # = quads (default 20)
  14. # oi use the inline library functions
  15. # om generate inline 80x87 code for math functions
  16. # ot optimize for time
  17. # ox maximum optimization
  18. # s remove stack overflow checks
  19. # zp1 align structures on bytes
  20. # zq use quiet mode
  21. # /i=dir add include directories
  22. #
  23. # --------------------------------------------------------------------------
  24. LOCOBJS = &
  25. i_cdmus.obj &
  26. i_cyber.obj &
  27. i_ibm.obj &
  28. i_ibm_a.obj &
  29. i_sound.obj &
  30. linear.obj
  31. GLOBOBJS = &
  32. am_map.obj &
  33. a_action.obj &
  34. ct_chat.obj &
  35. d_net.obj &
  36. f_finale.obj &
  37. g_game.obj &
  38. h2_main.obj &
  39. info.obj &
  40. in_lude.obj &
  41. mn_menu.obj &
  42. m_misc.obj &
  43. p_acs.obj &
  44. p_anim.obj &
  45. p_ceilng.obj &
  46. p_doors.obj &
  47. p_enemy.obj &
  48. p_floor.obj &
  49. p_inter.obj &
  50. p_lights.obj &
  51. p_map.obj &
  52. p_maputl.obj &
  53. p_mobj.obj &
  54. p_plats.obj &
  55. p_pspr.obj &
  56. p_setup.obj &
  57. p_sight.obj &
  58. p_spec.obj &
  59. p_switch.obj &
  60. p_telept.obj &
  61. p_tick.obj &
  62. p_things.obj &
  63. p_user.obj &
  64. po_man.obj &
  65. r_bsp.obj &
  66. r_data.obj &
  67. r_draw.obj &
  68. r_main.obj &
  69. r_plane.obj &
  70. r_segs.obj &
  71. r_things.obj &
  72. sb_bar.obj &
  73. sc_man.obj &
  74. sn_sonix.obj &
  75. st_start.obj &
  76. sv_save.obj &
  77. sounds.obj &
  78. tables.obj &
  79. v_video.obj &
  80. w_wad.obj &
  81. z_zone.obj
  82. default: .SYMBOLIC
  83. @echo.
  84. @echo You must use M.BAT to build Hexen.
  85. @echo Type "M /?" for help.
  86. @echo.
  87. #
  88. # DEBUG Build:
  89. #
  90. # The EXTERNOPT macro should be set to /d2
  91. #
  92. # FINAL Build:
  93. #
  94. # The EXTERNOPT macro should be set to /dNORANGECHECKING
  95. #
  96. VERSION_ID = BCP
  97. VERSIONOPT = /dVER_ID="$(VERSION_ID)"
  98. CCOPTS = $(EXTERNOPT) $(VERSIONOPT) /omaxet /zp1 /4r /ei /j /zq /i=dmx
  99. hex.exe : $(LOCOBJS) $(GLOBOBJS)
  100. wlink @hex.lnk
  101. ncopy hex.exe striphex.exe
  102. wstrip striphex.exe
  103. 4gwbind 4gwpro.exe striphex.exe hexen.exe -V
  104. ncopy hex.map v_$(VERSION_ID).map
  105. prsucc
  106. .c.obj :
  107. wcc386 $(CCOPTS) $[*
  108. .asm.obj :
  109. tasm /mx $[*