Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 3.14 KB | None | 0 0
  1. # SWITCHES
  2. # > ROM SIZE IN MB
  3. ROMSZ = 2
  4.  
  5. # GLOBALS
  6. RM = del /s
  7.  
  8. ROOT = .
  9.  
  10. V68k = $(ROOT)\vasm68k
  11. VZ80 = $(ROOT)\vasmz80
  12. # VSH2 = $(ROOT)\asmsh
  13. VLINK = $(ROOT)\vlink
  14. MAKE = $(ROOT)\make
  15. DEPS = $(ROOT)\src\_deps
  16. OBJ = $(ROOT)\src\__obj
  17. LST = $(ROOT)\src\__lst
  18. SRC = $(ROOT)\src
  19. # LEVELS?
  20. # SOUND?
  21. # ETC?
  22.  
  23. BUILDARGS =
  24. # Equs
  25. # BUILDARGS += -D_RSz=$(ROMSZ)
  26. # Internal
  27. BUILDARGS += -Fvobj
  28. BUILDARGS += -maxerrors=32
  29. BUILDARGS += -nocase
  30. # BUILDARGS += -nosym
  31. BUILDARGS += -unsshift
  32. # Mot Syntax
  33. BUILDARGS += -ldots
  34. BUILDARGS += -spaces
  35. # m68k CPU
  36. BUILDARGS += -m68000
  37. BUILDARGS += -opt-allbra
  38. BUILDARGS += -opt-brajmp
  39. BUILDARGS += -opt-clr
  40. BUILDARGS += -opt-lsl
  41. BUILDARGS += -opt-movem
  42. BUILDARGS += -opt-mul
  43. BUILDARGS += -opt-div
  44. BUILDARGS += -opt-pea
  45. BUILDARGS += -opt-speed
  46. BUILDARGS += -sc
  47. BUILDARGS += -regsymredef
  48.  
  49. # create final MD ROM
  50. # left to create: $(OBJ)\library.md.o $(OBJ)\resource.md.o
  51. s1built.bin: $(OBJ)\_varstemp.o $(OBJ)\header.md.o $(OBJ)\gameinit.md.o $(OBJ)\maingameloop.md.o $(OBJ)\main.md.o
  52.     $(VLINK) -brawbin1 -M -T$(SRC)\romMd.ld -o $@ $^ > outmap.md.txt
  53.  
  54.  
  55.  
  56. # "how to" assemble each .ASM file as necessary
  57. %.o: %.asm
  58.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $(OBJ)\$@ $<
  59.  
  60.  
  61.  
  62. # create "header" section
  63. $(OBJ)\header.md.o: $(SRC)\header.md.asm
  64.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
  65.  
  66.  
  67.  
  68. # assemble individual "gameinit" for "init" section
  69. $(OBJ)\gameinit.md.o: $(SRC)\init\gameinit.md.asm
  70.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
  71.  
  72.  
  73.  
  74. # create "main" section
  75. # $(OBJ)\main.md.o: $(OBJ)\objects.md.o
  76. $(OBJ)\main.md.o: $(OBJ)\ints.md.o $(OBJ)\screens.md.o
  77.     $(VLINK) -r -o $@ $^
  78. # -B<mode>          link mode: static, dynamic, shareable, symbolic
  79. # -shared           generate shared object
  80. # -r                generate relocatable object
  81. # -multibase        don't auto-merge base-relative accessed sections
  82.  
  83.  
  84.  
  85. # assemble "ints" for "main" section
  86. CUR = $(SRC)\ints
  87. VPATH = $(OBJ) $(CUR)
  88. INPUT = $(notdir $(wildcard $(CUR:\=/)/*))
  89. $(OBJ)\ints.md.o: vinthandler.md.o $(INPUT:.asm=.o)
  90.     $(VLINK) -r -o $@ $(addprefix $(OBJ)\,$(notdir $^))
  91.  
  92.  
  93. # assemble "MainGameLoop" for "main" section
  94. $(OBJ)\maingameloop.md.o: $(SRC)\screens\maingameloop.asm
  95.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
  96.  
  97.  
  98. # assemble "GM_Sega" for "main" section
  99. $(OBJ)\sega.scr.o: $(SRC)\screens\sega\main.asm
  100.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
  101. $(OBJ)\sega.res.md.o: $(SRC)\screens\sega\res.asm
  102.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
  103.  
  104.  
  105. # assemble "screens" for "main" section
  106. $(OBJ)\screens.md.o: $(OBJ)\sega.scr.o
  107.     $(VLINK) -r -o $@ $^
  108.  
  109.  
  110.  
  111. # Ensure to reassemble everything if vars change
  112. $(OBJ)\_varstemp.o: $(SRC)\buildconf.asm $(SRC)\_equ.asm $(SRC)\_macro.asm
  113.     $(RM) $(OBJ)\*.o
  114.     $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $(OBJ)\dummy.asm
  115.     $(VLINK) -brawbin1 -T$(SRC)\romMd.ld -o $(OBJ)\$(notdir $(basename $@)).bin -s $@
  116.  
  117.  
  118.  
  119. clean:
  120.     $(RM) $(OBJ)\*.o
  121.     $(RM) $(OBJ)\*.bin
  122.     $(RM) $(LST)\*.txt
  123.     $(RM) s1built.bin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement