Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # GLOBALS
- RM = del /s
- ROOT = $(shell echo %CD%)
- 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 =
- # 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
- PARSEGLOBALS =
- PARSEGLOBALS += RM=$(RM)
- PARSEGLOBALS += ROOT=$(ROOT)
- PARSEGLOBALS += V68k=$(V68k)
- PARSEGLOBALS += VZ80=$(VZ80)
- PARSEGLOBALS += VSH2=$(VSH2)
- PARSEGLOBALS += VLINK=$(VLINK)
- PARSEGLOBALS += MAKE=$(MAKE)
- PARSEGLOBALS += SRC=$(SRC)
- PARSEGLOBALS += OBJ=$(OBJ)
- PARSEGLOBALS += LST=$(LST)
- PARSEGLOBALS += BUILDARGS=$(BUILDARGS)
- # create final MD ROM
- # s1built.bin: $(OBJ)\_varstemp.o $(OBJ)\md.header.o $(OBJ)\md.gameinit.o $(OBJ)\md.mainloop.o $(OBJ)\md.library.o $(OBJ)\md.main.o $(OBJ)\md.resource.o
- s1built.bin: $(OBJ)\_varstemp.o $(OBJ)\md.header.o $(OBJ)\md.main.o
- $(VLINK) -brawbin1 -T$(SRC)\romMd.ld -o $@ $^
- # create "header" section
- $(OBJ)\md.header.o: $(SRC)\md.header.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $@ $<
- # create "main" section
- # $(OBJ)\md.main.o: $(OBJ)\md.ints.o $(OBJ)\md.screens.o $(OBJ)\md.objects.o
- $(OBJ)\md.main.o: $(OBJ)\md.ints.o
- $(VLINK) -r -o $@ $^
- # "how to" compile each .ASM file as necessary
- %.o: %.asm
- $(V68k) $(BUILDARGS) -L $(LST)\$(notdir $(basename $@)).txt -o $(OBJ)\$@ $<
- # compile "ints" for "main" section
- CUR = $(SRC)\ints
- VPATH = $(OBJ) $(CUR)
- INPUT = $(notdir $(wildcard $(CUR:\=/)/*))
- $(OBJ)\md.ints.o: vinthandler.md.o $(INPUT:.asm=.o)
- $(VLINK) -r -o $@ $(addprefix $(OBJ)\,$(notdir $^))
- # Ensure to recompile 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 -o $(OBJ)\$(notdir $(basename $@)).bin -s $@
- clean:
- $(RM) $(OBJ)\*.o
- $(RM) s1built.bin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement