📄 master.mif
字号:
proj_name = wspy
name = wspy
!ifndef wspy_autodepends
wspy_autodepends = .AUTODEPEND
!endif
sys_windowed = 1
!include cproj.mif
!include deftarg.mif
!include defrule.mif
.EXTENSIONS: .res .rc
!ifeq host_os nt
wspy_dll_prefix = nt
!else
wspy_dll_prefix = w
!endif
dllname = $(wspy_dll_prefix)spyhk
msgfiles = $(sdk_dir)/misc/savelbox.msg &
$(sdk_dir)/misc/log.msg $(sdk_dir)/misc/about.msg &
$(sdk_dir)/misc/hint.msg
objs_win = spy.obj spyglob.obj spybox.obj spyproc.obj spymsgs.obj &
spyfilt.obj spypick.obj spymdlgs.obj spyarray.obj &
spymisc.obj spycfg.obj spylog.obj spytool.obj spysel.obj &
savelbox.obj toolbr.obj font.obj fontstr.obj mem.obj log.obj &
mark.obj about.obj ldstr.obj mstatwnd.obj hint.obj wwinhelp.obj &
jdlg.obj inipath.obj
objs_nt = spy.obj spyglob.obj spybox.obj spyproc.obj spymsgs.obj &
spyfilt.obj spypick.obj spymdlgs.obj spyarray.obj spyzord.obj &
spymisc.obj spycfg.obj spylog.obj spytool.obj spysel.obj &
savelbox.obj toolbr.obj font.obj fontstr.obj mem.obj log.obj &
mark.obj about.obj desknt.obj ldstr.obj mstatwnd.obj hint.obj &
wwinhelp.obj jdlg.obj inipath.obj
objs = $(objs_$(host_os))
dllobjs = spydll.obj
extra_c_flags_mem = -dNO_WPI
extra_c_flags += -s
extra_c_flags_i86 += -zu -2 -zW
extra_c_flags_386 += -4
!ifeq host_os win
extra_c_flags_spydll = -bd -mc
!else ifeq host_os nt
extra_c_flags_spydll = -bd
!endif
!ifeq release 0
wspy_non_release_option = option rwr
dll_debug_all = debug all
dll_debug_axp = debug codeview
!endif
extra_l_flags_win = option stack=9k, heapsize=2k lib $(dllname).lib
extra_l_flags_nt = option stack=64k option heapsize=2k &
lib $(dllname).lib
extra_l_flags = option map
!ifeq host_cpu 386
# To maintain cross-version linkability
extra_l_flags_nt += alias '_WinMain'='_WinMain@16'
!endif
wspy_dll_lflags_wini86 = $(dll_debug_$(host_cpu)) &
system windows_dll font mem name $(dllname).dll &
$(wspy_non_release_option) &
lib windows.lib &
option map, rwr &
segment CLASS 'CODE' PRELOAD FIXED &
export WEP RESIDENT &
file { $(dllobjs) }
wspy_dll_lflags_nt386 = $(dll_debug_$(host_cpu)) &
system nt_dll initglobal name $(dllname).dll &
option map &
file { $(dllobjs) }
wspy_dll_lflags_ntaxp = $(dll_debug_$(host_cpu)) &
system ntaxp_dll initglobal name $(dllname).dll &
option map &
file { $(dllobjs) }
.c: $(wspy_dir);$(sdk_dir)/misc
.h: $(wspy_dir);$(sdk_dir)/misc
.rc: ..
inc_dirs = -I$(wspy_dir) -I"$(sdk_dir)/misc"
wspy_to_build_win = rcstr.gh spymsgs.dlg spymsg.gh $(dllname).dll $(name).exe
wspy_to_build_nt = rcstr.gh spymsgnt.dlg spymsgnt.gh $(dllname).dll $(name).exe
all : $(wspy_to_build_$(host_os)) .SYMBOLIC
@%null
$(name).exe : $(objs) $(name).res $(dllname).lib
%create $^&.lnk
@%append $^&.lnk $(lflags)
@%append $^&.lnk file { $(objs) }
$(linker) name $^@ @$^&.lnk
!ifeq host_cpu axp
!ifeq release 0
cvpack $(name).exe
wstrip -q $(name).exe $(name).exe $(name).sym
!endif
!endif
$(rc) -k $(name).res $^@
!ifeq host_cpu axp
!ifeq release 0
wstrip -q -a wspy.exe . wspy.sym
!endif
!endif
rcstr.gh : rcstrmsg.gh
$(vi) -s ../../misc/msgtoh.vi -p"$^@" $[@
rcstrmsg.gh : $(wspy_dir)/spy.msg $(msgfiles)
$(cc) -zk0 -p $(inc_path) $[@ -fo=$^@
spymsgs.dlg spymsg.gh: spyarray.h ./mkdlg.exe
$]@ spymsgs.dlg spymsg.gh
spymsgnt.dlg spymsgnt.gh: spyarray.h ./mkdlgnt.exe
$]@ spymsgnt.dlg spymsgnt.gh
./mkdlg.exe : ../utils/mkdlg.c
$(bld_cl) -I".." -D__NOSPYMSGS__ $(wcl_util_opts) $[@
./mkdlgnt.exe : ../utils/mkdlg.c
$(bld_cl) -I".." -D__NOSPYMSGS__ -DNT_MSGS $(wcl_util_opts) $[@
$(dllname).lib : $(dllname).dll
$(librarian) $(libflags) $@ +$[@
$(dllname).dll : $(dllobjs)
$(linker) $(wspy_dll_lflags_$(host_os)$(host_cpu))
.rc.res: .AUTODEPEND
$(rc) $(rc_flags) -r -ad -zk0 $(inc_path) $[@ -fo=$^@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -