Advertisement
beefviper

Descent toplevel makefile - better?

Jan 13th, 2022
2,985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 2.50 KB | None | 0 0
  1. #
  2. # $Source: f:/miner/source/rcs/makefile $
  3. # $Revision: 1.1 $
  4. # $Author: beefviper $
  5. # $Date: 2022/01/07 22:27:23 $
  6. #
  7. # Makefile for Descent executable
  8. #
  9.  
  10. # What dir to build in
  11. BUILD_DIR = build
  12.  
  13. # What subsystems to make
  14. SUBSYSTEMS = $(BUILD_DIR)\misc.lib $(BUILD_DIR)\fix.lib \
  15.     $(BUILD_DIR)\cfile.lib $(BUILD_DIR)\gr.lib $(BUILD_DIR)\io.lib $(BUILD_DIR)\iff.lib \
  16.     $(BUILD_DIR)\div0.lib $(BUILD_DIR)\mem.lib $(BUILD_DIR)\vecmat.lib $(BUILD_DIR)\3d.lib \
  17.     $(BUILD_DIR)\texmap.lib $(BUILD_DIR)\ui.lib $(BUILD_DIR)\main.lib $(BUILD_DIR)\inferno.obj
  18.     # readd $(BUILD_DIR)\incudes later
  19.  
  20. # What to clean
  21. CLEAN_TARGS = *.obj *.lib *.err build\descentr.exe
  22.  
  23. # What make flags to use
  24. MFLAGS = /nologo
  25.  
  26. all: makebuilddir $(BUILD_DIR)\descentr.exe
  27.  
  28. makebuilddir:
  29.     @mkdir build
  30.     @cd misc && $(MAKE) $(MFLAGS)
  31.     #cd includes && $(MAKE) $(MFLAGS)
  32.     @cd fix && $(MAKE) $(MFLAGS)
  33.     @cd cfile && $(MAKE) $(MFLAGS)
  34.     @cd 2d && $(MAKE) $(MFLAGS)
  35.     @cd bios && $(MAKE) $(MFLAGS)
  36.     @cd iff && $(MAKE) $(MFLAGS)
  37.     @cd div && $(MAKE) $(MFLAGS)
  38.     @cd mem && $(MAKE) $(MFLAGS)
  39.     @cd vecmat && $(MAKE) $(MFLAGS)
  40.     @cd 3d && $(MAKE) $(MFLAGS)
  41.     @cd texmap && $(MAKE) $(MFLAGS)
  42.     @cd ui && $(MAKE) $(MFLAGS)
  43.     @cd main && $(MAKE) $(MFLAGS)
  44.  
  45. $(BUILD_DIR)\descentr.exe: $(SUBSYSTEMS)
  46.     cd $(BUILD_DIR) && wcl386 /zq /fe=descentr.exe /l=dos4g /k50000 inferno.obj main.lib 3d.lib gr.lib fix.lib io.lib iff.lib vecmat.lib \
  47.     cfile.lib mem.lib ui.lib div0.lib misc.lib texmap.lib
  48.  
  49. $(BUILD_DIR)\misc.lib: misc\misc.lib
  50.     copy misc\misc.lib $(BUILD_DIR)
  51.  
  52. $(BUILD_DIR)\fix.lib: fix\fix.lib
  53.     copy fix\fix.lib $(BUILD_DIR)
  54.  
  55. $(BUILD_DIR)\cfile.lib: cfile\cfile.lib
  56.     copy cfile\cfile.lib $(BUILD_DIR)
  57.  
  58. $(BUILD_DIR)\gr.lib: 2d\gr.lib
  59.     copy 2d\gr.lib $(BUILD_DIR)
  60.  
  61. $(BUILD_DIR)\io.lib: bios\io.lib
  62.     copy bios\io.lib $(BUILD_DIR)
  63.  
  64. $(BUILD_DIR)\iff.lib: iff\iff.lib
  65.     copy iff\iff.lib $(BUILD_DIR)
  66.  
  67. $(BUILD_DIR)\div0.lib: div\div0.lib
  68.     copy div\div0.lib $(BUILD_DIR)
  69.  
  70. $(BUILD_DIR)\mem.lib: mem\mem.lib
  71.     copy mem\mem.lib $(BUILD_DIR)
  72.  
  73. $(BUILD_DIR)\vecmat.lib: vecmat\vecmat.lib
  74.     copy vecmat\vecmat.lib $(BUILD_DIR)
  75.  
  76. $(BUILD_DIR)\3d.lib: 3d\3d.lib
  77.     copy 3d\3d.lib $(BUILD_DIR)
  78.  
  79. $(BUILD_DIR)\texmap.lib: texmap\texmap.lib
  80.     copy texmap\texmap.lib $(BUILD_DIR)
  81.  
  82. $(BUILD_DIR)\ui.lib: ui\ui.lib
  83.     copy ui\ui.lib $(BUILD_DIR)
  84.  
  85. $(BUILD_DIR)\main.lib: main\main.lib
  86.     copy main\main.lib $(BUILD_DIR)
  87.  
  88. $(BUILD_DIR)\inferno.obj: main\inferno.obj
  89.     copy main\inferno.obj $(BUILD_DIR)
  90.  
  91. clean:
  92.     erase /s /q $(CLEAN_TARGS)
  93.     rmdir $(BUILD_DIR)
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement