master.mif
来自「开放源码的编译器open watcom 1.6.0版的源代码」· MIF 代码 · 共 173 行
MIF
173 行
proj_name = wasm
name = wasm
!ifndef wasm_autodepends
wasm_autodepends = .AUTODEPEND
!endif
additional_cleanup += *.u
wasm_trmem = 1
!include cproj.mif
!include defrule.mif
!include deftarg.mif
!include wres.mif
!include trmem.mif
inc_dirs = -I. -I"$(proj_path)/h" -I"$(womp_dir)/h"
libs = -L$(clib_dir)/$(%OBJDIR) -lwatcom -L$(wres_dir)/$(%OBJDIR) -lwres
#cflags stuff
#########
extra_c_flags =-D_STANDALONE_
!ifeq release 0
extra_c_flags += -DDEBUG_OUT
!endif
extra_c_flags_genmsomf = -DMSG_WOMP_RC_BASE=200
extra_c_flags_fixup = -DMSG_WOMP_RC_BASE=200
extra_c_flags_asmalloc = $(trmem_cover_cflags)
extra_c_flags_trmem = $(trmem_cflags)
#lflags stuff
#########
extra_l_flags = option map,symfile lib $(wres_lib)
extra_l_flags_qnx = option offset=16k, res=usage.u, stack=12k
extra_l_flags_dos_i86 = option stack=6k
extra_l_flags_dos_386 = option stack=12k
extra_l_flags_dos = $(extra_l_flags_dos_$(host_cpu))
extra_l_flags_linux = option stack=12k
.c : $(proj_path)/c;$(womp_dir)/c;$(trmem_dir);$(watcom_dir)/c
proj_obj = $(extra_proj_obj_$(host_OS)_$(host_CPU)) &
main.obj &
write.obj &
fatal.obj &
womputil.obj &
direct.obj &
posndir.obj &
asmeval.obj &
asmalloc.obj &
asmmsg.obj &
wasmmsg.obj &
macro.obj &
condasm.obj &
breakout.obj &
asmstruc.obj &
fpfixup.obj &
asmexpnd.obj &
mangle.obj &
for.obj &
objio.obj &
carve.obj &
genmsomf.obj &
objrec.obj &
queue.obj &
fixup.obj &
lifix.obj &
asmins.obj &
asmscan.obj &
asmline.obj &
asmsym.obj &
tbyte.obj &
asmlabel.obj &
asmfixup.obj &
asmmatch.obj &
asmdata.obj &
insthash.obj &
asmjump.obj &
autodept.obj &
queues.obj &
finger.obj &
swchar.obj
proj_obj += $(trmem_objs)
#explicit rules
######
$(name).exe : fullops.gh $(name).res $(proj_obj)
!ifeq host_OS qnx
@%make usage.u
!endif
!ifdef bootstrap
@%make usage.u
$(cl) -o $@ $(proj_obj) $(libs)
!else
@%write $^&.lnk $(lflags)
@%append $^&.lnk file { $(proj_obj) }
!ifeq host_OS osi
@%append $^&.lnk name $^&.rex
$(linker) @$^&.lnk
$(w32bind) $^&.rex $@ $(os2ldr)
@rm -f $^&.rex
!else
@%append $^&.lnk name $@
$(linker) @$^&.lnk
!endif
!endif
wstrip -a -r -q $@ . $^&.res
###################################################################
# resource stuff
!ifeq release 0
wsplice_keys = -kIS_RC -k$(host_OS) -kHIDDEN
!else
wsplice_keys = -kIS_RC -k$(host_OS)
!endif
$(name).res : $(proj_path)/h/$(proj_name).rc usage.rc usagej.rc msg.gh wasmmsg.gh wmpmsg.gh
$(rc_aui) -D_STANDALONE_ $[@ -fo=$^@
usage.rc : $(proj_path)/h/usage.sp
@%write usage.tmp -kENGLISH $(wsplice_keys) -t8 -f "%+(MSG_USE_E_BASE+%$#-1), \"%s\"" $< $^@
wsplice @usage.tmp
usagej.rc : $(proj_path)/h/usage.sp
@%write usagej.tmp -kJAPANESE $(wsplice_keys) -t8 -f "%+(MSG_USE_J_BASE+%$#-1), \"%s\"" $< $^@
wsplice @usagej.tmp
usage.u : $(proj_path)/h/usage.sp
wsplice -kENGLISH -k$(host_OS) -t8 -u $[@ $^@
usagej.u : $(proj_path)/h/usage.sp
wsplice -kJAPANESE -k$(host_OS) -t8 -u $[@ $^@
msg.gh : $(proj_path)/h/asmshare.msg
!ifdef __LINUX__
perl $(sdk_dir)/misc/msgtoh.pl < $[@ | sed -e '/0$$/d' | &
sed -e '/0$$/d' -e 's/MSG_RC_BASE/MSG_SHARE_RC_BASE/' > $^@
!else
$(vi) -s $(proj_path)/h/makemsg.vi -p"$^@ MSG_SHARE_RC_BASE" $[@
!endif
wasmmsg.gh : $(proj_path)/h/wasm.msg
!ifdef __LINUX__
perl $(sdk_dir)/misc/msgtoh.pl < $[@ | &
sed -e '/0$$/d' -e 's/MSG_RC_BASE/MSG_WASM_RC_BASE/' > $^@
!else
$(vi) -s $(proj_path)/h/makemsg.vi -p"$^@ MSG_WASM_RC_BASE" $[@
!endif
wmpmsg.gh : $(proj_path)/h/womp.msg
!ifdef __LINUX__
perl $(sdk_dir)/misc/msgtoh.pl < $< | sed '/0$$/d' | &
sed -e '/0$$/d' -e 's/MSG_RC_BASE/MSG_WOMP_RC_BASE/' > $^@
!else
$(vi) -s $(proj_path)/h/makemsg.vi -p"$^@ MSG_WOMP_RC_BASE" $[@
!endif
###################################################################
fullops.gh: $(proj_path)/fullops.tok $(proj_path)/inlnops.tok ./mkopcode.exe
$]@ $(proj_path)/fullops.tok $(proj_path)/inlnops.tok $^@
./mkopcode.exe: $(proj_path)/mkopcode.c
$(bld_cl) $(inc_path) $[@ $(wcl_util_opts) $(cl_libs) # order is important for gcc (linux bootstrap)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?