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 + -
显示快捷键?