⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 Cracker终结者——提供最优秀的软件保护技术
💻
字号:
#
# 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 + -