master.mif
来自「开放源码的编译器open watcom 1.6.0版的源代码」· MIF 代码 · 共 145 行
MIF
145 行
additional_cleanup = *.mod *.ref *.stb
!ifeq host_os qnx
clibdir = $(build_root)/clib/library/qnx.286/ms/clibs.lib
!else ifeq host_cpu i86
clibdir = $(build_root)/clib/library/msdos.086/ms/clibs.lib
!else
clibdir = $(build_root)/clib/library/msdos.386/ms_r/clib3r.lib
!endif
extra_lib_flags = -p=16
!ifeq host_os dos
all: graph.lib
!ifeq host_cpu i86
tmp.lib : ../../dosi86/graphs.lib ../../../pgchart/dosi86/charts.lib &
../../dosi86/dummy.obj ../../dosi86/fsmath.obj
@%write tmp.lbc +../../dosi86/graphs.lib
@%append tmp.lbc +../../dosi86/dummy.obj
@%append tmp.lbc +../../dosi86/fsmath.obj
@%append tmp.lbc +../../../pgchart/dosi86/charts.lib
$(librarian) $(libflags) $@ @tmp.lbc
!else
tmp.lib : ../../dos386s/graph3s.lib ../../dos386r/graph3r.lib &
../../../pgchart/dos386r/chart3r.lib ../../../pgchart/dos386s/chart3s.lib &
../../dos386r/dummy.obj ../../dos386r/fsmath.obj
@%write tmp.lbc +../../dos386s/graph3s.lib
@%append tmp.lbc -globals
@%append tmp.lbc -bit
@%append tmp.lbc -sqrtf
@%append tmp.lbc -std
@%append tmp.lbc -hercfont
@%append tmp.lbc -cgautils
@%append tmp.lbc -egautils
@%append tmp.lbc -vgautils
@%append tmp.lbc -hgcutils
@%append tmp.lbc -svgautil
@%append tmp.lbc -font8x8
@%append tmp.lbc +../../dos386r/graph3r.lib
@%append tmp.lbc +../../dos386r/dummy.obj
@%append tmp.lbc +../../dos386r/fsmath.obj
@%append tmp.lbc +../../../pgchart/dos386r/chart3r.lib
@%append tmp.lbc +../../../pgchart/dos386s/chart3s.lib
$(librarian) $(libflags) $@ @tmp.lbc
!endif
!else ifeq host_os qnx
!ifeq host_cpu i86
all: graph.lib
tmp.lib : ../../qnxi86/graphs.lib ../../../pgchart/dosi86/charts.lib &
../../qnxi86/dummy.obj ../../qnxi86/fsmath.obj
@%write tmp.lbc +../../qnxi86/graphs.lib
@%append tmp.lbc +../../qnxi86/dummy.obj
@%append tmp.lbc +../../qnxi86/fsmath.obj
@%append tmp.lbc +../../../pgchart/dosi86/charts.lib
$(librarian) $(libflags) $@ @tmp.lbc
!else
all: graph3r.lib graph3s.lib
graph3r.lib : ../../qnx386r/graph3r.lib ../../../pgchart/dos386r/chart3r.lib
$(librarian) $(libflags) graph3r.lib +../../qnx386r/graph3r.lib +../../../pgchart/dos386r/chart3r.lib
graph3s.lib : ../../qnx386r/graph3r.lib ../../../pgchart/dos386s/chart3s.lib
$(librarian) $(libflags) graph3s.lib +../../qnx386s/graph3s.lib +../../../pgchart/dos386s/chart3s.lib
!endif
!else ifeq host_os os2
.c : ../../c
extra_c_flags_seginit = -zld -DDOSX286
all: seginit.obj
!endif
graph.lib : $(clibdir) tmp.lib
@rm -f *.obj
# find external references - and check for double precision usage
objxref -e=../except tmp.lib | sort >graph.ref
egrep "__FD" graph.ref >x.x
diff x.x ../fd.ok
@if errorlevel 1 echo ERROR - double precision floating point used
@rm -f x.x
# find all modules in clib which are referenced from graph.lib
objfind -i=graph.ref $(clibdir) >clib.mod
# extract all modules from clib which are referenced from graph.lib
!ifdef __UNIX__
$(vi) -s ../fix1.vi -p"clib.mod :" clibget.lbc
!else
$(vi) -s ../fix1.vi -p"clib.mod *" clibget.lbc
!endif
$(librarian) -b $(clibdir) @clibget.lbc
@rm -f clibget.lbc
# get all public symbols in extracted modules from clib, fsmath and dummy
# they will be renamed later to don't conflict with public symbols in clib
!ifeq host_os qnx
objxdef *.obj ../../qnxi86/fsmath.obj ../../qnxi86/dummy.obj >graph.stb
!else ifeq host_cpu i86
objxdef *.obj ../../dosi86/fsmath.obj ../../dosi86/dummy.obj >graph.stb
!else
objxdef *.obj ../../dos386r/dummy.obj ../../dos386r/fsmath.obj >graph.stb
!endif
!ifeq host_cpu i86
# extract all modules from graph.lib library
$(librarian) -b -x=.obj tmp.lib
# modify modules as needed
# add _GR to names of all symbols in extracted files and fsmath, dummy
# change _TEXT segment to GRAPH_TEXT
objchg -l=_TEXT=GRAPH_TEXT -m=_GR* -s=graph.stb *.obj
!else
# extract all modules from graph.lib library, use alias for 8.3 format
objlist tmp.lib >graph.mod
!ifdef __UNIX__
$(vi) -s ../fix2.vi -p"g graph.mod :" extract.lbc
!else
$(vi) -s ../fix2.vi -p"g graph.mod *" extract.lbc
!endif
$(librarian) -b tmp.lib @extract.lbc
@rm -f extract.lbc
# modify modules as needed
# add _GR to names of all symbols in extracted files and fsmath, dummy
objchg -m=_GR* -s=graph.stb *.obj
!endif
# put all modules together into new library
@%create $^&.lbc
@for %i in (*.obj) do @%append $^&.lbc +%i
$(librarian) $(libflags) $@ @$^&.lbc
@rm -f *.obj
graphics_prefix = ../
!include ../../dosi86/makefile
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?