📄 makefile
字号:
#
# vdspd defines
#
VDSPD = vdspd
SRC_VDSPD = \
sbx.asm \
vdspd.asm
OBJ_VDSPD = $(patsubst %.asm,%.o,$(SRC_VDSPD))
DEF_VDSPD = $(VDSPD).def
VMP3D = vmp3d
#
# vmp3d defines
#
SRC_VMP3D = \
dma.asm \
fpu.asm \
vmp3d.asm
OBJ_VMP3D = $(patsubst %.asm,%.o,$(SRC_VMP3D))
DEF_VMP3D = $(VMP3D).def
#
# nasm defines
#
DIR_SRC = .
DIR_INC = ../inc ../../src/inc ../../../tools/inc
vpath %.asm
vpath %.asm $(DIR_SRC)
vpath %.mac
vpath %.mac $(DIR_INC)
vpath %.inc
vpath %.inc $(DIR_INC)
NASM = nasm
DEBUG = 0
NASMFLAGS = -w+orphan-labels
NASMFLAGS += $(foreach i,$(DIR_INC),-i$(i)/) -dADD_DEBUG=$(DEBUG)
#MAPSYM = mapsym
#MAPSYMFLAGS = -nologo
MAPSYM = msym
ifeq ($(DEBUG),0)
else
NASMFLAGS += -g
endif
#
# link defines
#
LINKFLAGS = /ignore:4078 /ignore:4070 /ignore:4039 /align:16
LINKFLAGS += /nologo /vxd /nod
ifeq ($(DEBUG),0)
else
LINKFLAGS += /map
endif
#
# targets
#
all: $(VDSPD).vxd $(VMP3D).vxd
$(VDSPD).vxd: LINKFLAGS += /out:../bin/$(VDSPD).vxd /def:$(DEF_VDSPD)
$(VDSPD).vxd: $(DEF_VDSPD) $(OBJ_VDSPD) $(VDSPD).lnk
link @$(VDSPD).lnk
-rm -f ../bin/$(VDSPD).exp ../bin/$(VDSPD).lib
$(VDSPD).lnk: makefile
@echo $(LINKFLAGS) $(OBJ_VDSPD) > $@
$(VMP3D).vxd: LINKFLAGS += /out:../bin/$(VMP3D).vxd /def:$(DEF_VMP3D)
$(VMP3D).vxd: $(DEF_VMP3D) $(OBJ_VMP3D) $(VMP3D).lnk
link @$(VMP3D).lnk
-rm -f ../bin/$(VMP3D).exp ../bin/$(VMP3D).lib
$(VMP3D).lnk: makefile
@echo $(LINKFLAGS) $(OBJ_VMP3D) ../lib/mp3dec.obj > $@
$(OBJ_VDSPD) $(OBJ_VMP3D): util.mac vxdn.inc
%.o: %.asm
$(NASM) $(NASMFLAGS) -f win32 -o $@ $<
clean:
-rm -f *.o *.exp *.lib *.lnk *.map *.nms *.sym
sym:
$(MAPSYM) $(MAPSYMFLAGS) $(VDSPD).map
$(MAPSYM) $(MAPSYMFLAGS) $(VMP3D).map
nmsym $(VDSPD).sym
nmsym $(VMP3D).sym
.PHONY: all clean sym
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -