Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # SWITCHES
- # > ROM SIZE IN MB
- ROMSZ = 2
- # GLOBALS
- RM = del /s
- ROOT = .
- V68k = $(ROOT)\vasm68k
- VZ80 = $(ROOT)\vasmz80
- # VSH2 = $(ROOT)\asmsh
- VLINK = $(ROOT)\vlink
- MAKE = $(ROOT)\make
- DEPS = $(ROOT)\src\_deps
- OBJ = $(ROOT)\src\__obj
- LST = $(ROOT)\src\__lst
- SRC = $(ROOT)\src
- # LEVELS?
- # SOUND?
- # ETC?
- BUILDARGS =
- # Equs
- # BUILDARGS += -D_RSz=$(ROMSZ)
- # Internal
- BUILDARGS += -Fvobj
- BUILDARGS += -maxerrors=32
- BUILDARGS += -nocase
- # BUILDARGS += -nosym
- BUILDARGS += -unsshift
- # Mot Syntax
- BUILDARGS += -ldots
- BUILDARGS += -spaces
- # m68k CPU
- BUILDARGS += -m68000
- BUILDARGS += -opt-allbra
- BUILDARGS += -opt-brajmp
- BUILDARGS += -opt-clr
- BUILDARGS += -opt-lsl
- BUILDARGS += -opt-movem
- BUILDARGS += -opt-mul
- BUILDARGS += -opt-div
- BUILDARGS += -opt-pea
- BUILDARGS += -opt-speed
- BUILDARGS += -sc
- BUILDARGS += -regsymredef
- # create final MD ROM
- # left to create: $(OBJ)\library.md.o $(OBJ)\resource.md.o
- s1built.bin: $(OBJ)\_varstemp.o $(OBJ)\header.md.o $(OBJ)\gameinit.md.o $(OBJ)\maingameloop.md.o $(OBJ)\main.md.o
- $(VLINK) -brawbin1 -M -T$(SRC)\romMd.ld -o $@ $^ > outmap.md.txt
- # "how to" assemble each .ASM file as necessary
- %.o: %.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $(OBJ)\$@ $<
- # create "header" section
- $(OBJ)\header.md.o: $(SRC)\header.md.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
- # assemble individual "gameinit" for "init" section
- $(OBJ)\gameinit.md.o: $(SRC)\init\gameinit.md.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
- # create "main" section
- # $(OBJ)\main.md.o: $(OBJ)\objects.md.o
- $(OBJ)\main.md.o: $(OBJ)\ints.md.o $(OBJ)\screens.md.o
- $(VLINK) -r -o $@ $^
- # -B<mode> link mode: static, dynamic, shareable, symbolic
- # -shared generate shared object
- # -r generate relocatable object
- # -multibase don't auto-merge base-relative accessed sections
- # assemble "ints" for "main" section
- CUR = $(SRC)\ints
- VPATH = $(OBJ) $(CUR)
- INPUT = $(notdir $(wildcard $(CUR:\=/)/*))
- $(OBJ)\ints.md.o: vinthandler.md.o $(INPUT:.asm=.o)
- $(VLINK) -r -o $@ $(addprefix $(OBJ)\,$(notdir $^))
- # assemble "MainGameLoop" for "main" section
- $(OBJ)\maingameloop.md.o: $(SRC)\screens\maingameloop.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
- # assemble "GM_Sega" for "main" section
- $(OBJ)\sega.scr.o: $(SRC)\screens\sega\main.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
- $(OBJ)\sega.res.md.o: $(SRC)\screens\sega\res.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
- # assemble "screens" for "main" section
- $(OBJ)\screens.md.o: $(OBJ)\sega.scr.o
- $(VLINK) -r -o $@ $^
- # Ensure to reassemble everything if vars change
- $(OBJ)\_varstemp.o: $(SRC)\buildconf.asm $(SRC)\_equ.asm $(SRC)\_macro.asm
- $(RM) $(OBJ)\*.o
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $(OBJ)\dummy.asm
- $(VLINK) -brawbin1 -T$(SRC)\romMd.ld -o $(OBJ)\$(notdir $(basename $@)).bin -s $@
- clean:
- $(RM) $(OBJ)\*.o
- $(RM) $(OBJ)\*.bin
- $(RM) $(LST)\*.txt
- $(RM) s1built.bin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement