From: Chris Hanson Date: Tue, 24 Oct 1995 09:34:29 +0000 (+0000) Subject: Initial revision X-Git-Tag: 20090517-FFI~5866 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=b157588b4df895fa44a45b10f8c98be7bb68a1a9;p=mit-scheme.git Initial revision --- diff --git a/v7/src/microcode/ntutl/makefile.wcc b/v7/src/microcode/ntutl/makefile.wcc new file mode 100644 index 000000000..bcfe0e0da --- /dev/null +++ b/v7/src/microcode/ntutl/makefile.wcc @@ -0,0 +1,536 @@ +### -*- Fundamental -*- +### +### $Id: makefile.wcc,v 1.1 1995/10/24 09:32:03 cph Exp $ +### +### Copyright (c) 1992-1993 Massachusetts Institute of Technology +### +### This material was developed by the Scheme project at the +### Massachusetts Institute of Technology, Department of +### Electrical Engineering and Computer Science. Permission to +### copy this software, to redistribute it, and to use it for any +### purpose is granted, subject to the following restrictions and +### understandings. +### +### 1. Any copy made of this software must include this copyright +### notice in full. +### +### 2. Users of this software agree to make their best efforts (a) +### to return to the MIT Scheme project any improvements or +### extensions that they make, so that these may be included in +### future releases; and (b) to inform MIT of noteworthy uses of +### this software. +### +### 3. All materials developed as a consequence of the use of this +### software shall duly acknowledge such use, in accordance with +### the usual standards of acknowledging credit in academic +### research. +### +### 4. MIT has made no warrantee or representation that the +### operation of this software will be error-free, and MIT is +### under no obligation to provide any services, by way of +### maintenance, update, or otherwise. +### +### 5. In conjunction with products arising from the use of this +### material, there shall be no use of the name of the +### Massachusetts Institute of Technology nor of any adaptation +### thereof in any advertising, promotional, or sales literature +### without prior written consent from MIT in each case. +### + +#### Makefile for Scheme under Win32 compiled by Watcom C/C++ +#!include + +USER_PRIM_SOURCES = +USER_PRIM_OBJECTS = +USER_LIBS = + +CC = wcc386 +M4 = m4 +AS = wasm + +!ifdef __OS2__ +UTIL_SYSTEM = os2v2 +WRCFLAGS_SYSTEM = /i=$(%NT_INCLUDE) +!else +UTIL_SYSTEM = nt +WRCFLAGS_SYSTEM = +!endif + +# Compiler options. +# [DEBUG] marks options used for debugging. +# [OPTIMIZE] marks options used for optimization. +# +# /4r 386 instructions, 486 timings, register-based args +# /bt=nt build NT binary (default when host is NT) +# /d1+ generate debug info [OPTIMIZE] +# /d2 generate debug info [DEBUG] +# /ei generate enum `int'-sized (required for MS compatibility) +# /fpi generate in-line 387 insns, emulate if none (default) +# /fp3 generate in-line 387 insns (default) +# /hw generate Watcom debug info (default) +# /mf use flat memory model (default) +# /od disable optimization (default with /d2) +# /oe enable in-line user-code expansion [OPTIMIZE] +# /op force IEEE floating-point semantics +# /ox enable various optimizations [OPTIMIZE] +# /s remove stack overflow checks +# /w0 disable warning messages +# /zc place literal strings in code segment +# /ze enable language extensions (default) +# /zp4 use 4-byte alignment (required for MS compatibility) +# /zq operate quietly +# +# /DMIT_SCHEME required to specialize some code +# /DGUI configure a console window +# omitted: /DNO_CONST /Di386 +UTIL_CFLAGS = /4r /d2 /ei /fpi /fp3 /op /s /w0 /zc /zp4 /zq +CFLAGS = $(UTIL_CFLAGS) /bt=nt /DMIT_SCHEME /DGUI + +# Linker options. +# +# debug all include debug info in executable +# option caseexact use case-sensitive comparison for identifiers +# option quiet operate quietly +# option symfile put debug info in .sym file +LDFLAGS = debug all option caseexact option quiet + +# M4 options. +# +# -DWIN32 Specify Win32 operation. +# -DWCC386R Select Watcom 386 register-based conventions. +M4FLAGS = -DWIN32 -DWCC386R + +# Assembler options. +# +# /4pr like /4r for compiler +# /bt=nt build NT binary (default when host is NT) +# /d1 generate debug info +# /fpi generate in-line 387 insns, emulate if none +# /fp3 generate in-line 387 insns +# /mf use flat memory model +# /zq operate quietly +ASFLAGS = /4pr /d1 /fpi /fp3 /mf /zq + +all : scheme.exe bchschem.exe bintopsb.exe psbtobin.exe + +.c.obj : + $(CC) $(CFLAGS) $[@ + +.asm.obj : + $(AS) $(ASFLAGS) /fo=$^@ $[@ + +CORE_SOURCES = & +artutl.c & +avltree.c & +bignum.c & +bigprm.c & +bitstr.c & +boot.c & +char.c & +cmpauxmd.asm & +cmpint.c & +comutl.c & +daemon.c & +debug.c & +dfloat.c & +error.c & +extern.c & +fasload.c & +fixnum.c & +flonum.c & +generic.c & +hooks.c & +hunk.c & +intern.c & +interp.c & +intprm.c & +list.c & +lookprm.c & +lookup.c & +obstack.c & +option.c & +osscheme.c & +ostty.c & +outf.c & +prim.c & +primutl.c & +prmcon.c & +ptrvec.c & +purutl.c & +regex.c & +rgxprim.c & +step.c & +storage.c & +string.c & +syntax.c & +sysprim.c & +term.c & +tparam.c & +transact.c & +utils.c & +vector.c & +wind.c + +OS_PRIM_SOURCES = & +prosfile.c & +prosfs.c & +prosio.c & +prosterm.c & +prostty.c & +prosenv.c & +prntenv.c & +prntfs.c & +prntio.c + +STD_GC_SOURCES = & +fasdump.c & +gcloop.c & +memmag.c & +purify.c & +wabbit.c + +BCH_GC_SOURCES = & +bchdmp.c & +bchgcl.c & +bchmmg.c & +bchpur.c & +bchutl.c + +NT_SOURCES = & +intext.c & +ntenv.c & +ntfile.c & +ntfs.c & +ntgui.c & +ntio.c & +ntscreen.c & +ntsig.c & +ntsys.c & +nttop.c & +nttrap.c & +nttterm.c & +nttty.c & +ntasutl.asm + +HEAD_FILES = scheme.tch prims.h zones.h locks.h bignum.h & + $(GC_HEAD_FILES) trap.h lookup.h history.h cmpint.h + +GC_HEAD_FILES = gccode.h cmpgc.h ntscmlib.h cmpintmd.h + +CORE_OBJECTS = & +artutl.obj & +avltree.obj & +bignum.obj & +bigprm.obj & +bitstr.obj & +boot.obj & +char.obj & +cmpauxmd.obj & +cmpint.obj & +comutl.obj & +daemon.obj & +debug.obj & +dfloat.obj & +error.obj & +extern.obj & +fasload.obj & +fixnum.obj & +flonum.obj & +generic.obj & +hooks.obj & +hunk.obj & +intern.obj & +interp.obj & +intprm.obj & +list.obj & +lookprm.obj & +lookup.obj & +obstack.obj & +option.obj & +osscheme.obj & +ostty.obj & +outf.obj & +prim.obj & +primutl.obj & +prmcon.obj & +ptrvec.obj & +purutl.obj & +regex.obj & +rgxprim.obj & +step.obj & +storage.obj & +string.obj & +syntax.obj & +sysprim.obj & +term.obj & +tparam.obj & +transact.obj & +utils.obj & +vector.obj & +wind.obj + +OS_PRIM_OBJECTS = & +prosfile.obj & +prosfs.obj & +prosio.obj & +prosterm.obj & +prosenv.obj & +prostty.obj & +prntenv.obj & +prntfs.obj & +prntio.obj + +STD_GC_OBJECTS = & +fasdump.obj & +gcloop.obj & +memmag.obj & +purify.obj & +wabbit.obj + +BCH_GC_OBJECTS = & +bchdmp.obj & +bchgcl.obj & +bchmmg.obj & +bchpur.obj & +bchutl.obj + +NT_OBJECTS = & +intext.obj & +ntenv.obj & +ntfile.obj & +ntfs.obj & +ntgui.obj & +ntio.obj & +ntscreen.obj & +ntsig.obj & +ntsys.obj & +nttop.obj & +nttrap.obj & +nttterm.obj & +nttty.obj & +ntasutl.obj + +SOURCES = $(CORE_SOURCES) $(STD_GC_SOURCES) +OBJECTS = $(CORE_OBJECTS) $(STD_GC_OBJECTS) $(NT_OBJECTS) & + $(OS_PRIM_OBJECTS) usrdef.obj + +BCHSOURCES = $(CORE_SOURCES) $(BCH_GC_SOURCES) +BCHOBJECTS = $(CORE_OBJECTS) $(BCH_GC_OBJECTS) $(NT_OBJECTS) & + $(OS_PRIM_OBJECTS) bchdef.obj + +SCHEME_SOURCES = $(USER_PRIM_SOURCES) missing.c +SCHEME_OBJECTS = $(USER_PRIM_OBJECTS) missing.obj +SCHEME_LIB = $(USER_LIBS) + +scheme : scheme.exe .SYMBOLIC + +clean : .SYMBOLIC + -del *.tch + -del *.obj + -del *.exe + -del *.lib + -del *.dll + -del *.exp + -del *.rbj + -del *.res + -del *.err + -del *.sym + +unconfig : .SYMBOLIC + -del cmpauxmd.asm + -del cmpintmd.h + -del float.h + -del limits.h + -del makefile + -del ntdialog.h + -del ntw16lib.c + -del ntw32lib.c + -del ntwntlib.c + -del *.mak + -del *.lbc + -del *.dlg + -del *.ico + -del *.rc + -del *.cur + +primitive_tables : .SYMBOLIC + -del usrdef.c + -del usrdef.obj + -del bchdef.c + -del bchdef.obj + +scheme.exe : $(OBJECTS) $(SCHEME_OBJECTS) ntscmlib.lib ntgui.res + *wlink system nt_win name $^@ $(LDFLAGS) & + file { $(OBJECTS) $(SCHEME_OBJECTS) } & + library { ntscmlib.lib $(SCHEME_LIB) } + wrc /q /ad /bt=nt ntgui.res $^@ + +bchschem.exe : $(BCHOBJECTS) $(SCHEME_OBJECTS) ntscmlib.lib ntgui.res + *wlink system nt_win name $^@ $(LDFLAGS) & + file { $(BCHOBJECTS) $(SCHEME_OBJECTS) } & + library { ntscmlib.lib $(SCHEME_LIB) } + wrc /q /ad /bt=nt ntgui.res $^@ + +bintopsb.exe : bintopsb.obj missing.obj + wlink system nt $(LDFLAGS) name $^@ file { $< } + +psbtobin.exe : psbtobin.obj missing.obj + wlink system nt $(LDFLAGS) name $^@ file { $< } + +findprim.exe : findprim.obj + wlink system $(UTIL_SYSTEM) $(LDFLAGS) name $^@ file $[@ + +findprim.obj : findprim.c + $(CC) $(UTIL_CFLAGS) $[@ + +ntscmlib.lib : ntscmlib.lbc + wlib /b /c /n /q $^@ @$[@ + +# Update the resource if necessary +ntgui.res : ntgui.rc ntgui.h ntdialog.dlg ntdialog.h + wrc /q /ad /bt=nt /r /x /D__WATCOMC__ $(WRCFLAGS_SYSTEM) $[@ + +usrdef.c : $(SCHEME_SOURCES) $(SOURCES) $(OS_PRIM_SOURCES) ntgui.c usrdef.tch & + findprim.exe + .\findprim $(SCHEME_SOURCES) $(SOURCES) $(OS_PRIM_SOURCES) ntgui.c & + > $^@ + +bchdef.c : $(SCHEME_SOURCES) $(BCHSOURCES) $(OS_PRIM_SOURCES) ntgui.c & + usrdef.tch findprim.exe + .\findprim $(SCHEME_SOURCES) $(BCHSOURCES) $(OS_PRIM_SOURCES) ntgui.c & + > $^@ + +scheme.tch : scheme.h oscond.h ansidecl.h dstack.h obstack.h config.h & + bkpt.h object.h scode.h sdata.h gc.h interp.h stack.h futures.h & + types.h errors.h returns.h const.h fixobj.h default.h extern.h & + prim.h intrpt.h critsec.h float.h outf.h + wtouch /q /r $^@ + +psbmap.tch : config.h object.h bignum.h bignmint.h bitstr.h types.h & + sdata.h const.h psbmap.h $(GC_HEAD_FILES) comlin.h comlin.c + wtouch /q /r $^@ + +usrdef.tch : usrdef.h config.h object.h prim.h + wtouch /q /r $^@ + +foo $(USER_PRIM_OBJECTS) : $(HEAD_FILES) + +### files compiled with optimization +interp.obj : scheme.tch locks.h trap.h lookup.h history.h cmpint.h zones.h & + prmcon.h + +ntscreen.obj : ntscreen.c ntgui.h ntscreen.h + +gcloop.obj : scheme.tch $(GC_HEAD_FILES) + +fasload.obj : scheme.tch prims.h osscheme.h osfile.h osio.h $(GC_HEAD_FILES) & + trap.h option.h prmcon.h load.c fasl.h + +hooks.obj : scheme.tch prims.h winder.h history.h +utils.obj : scheme.tch prims.h winder.h history.h cmpint.h syscall.h +primutl.obj : scheme.tch os.h prims.h usrdef.h prename.h syscall.h & + avltree.h $(GC_HEAD_FILES) +hunk.obj list.obj step.obj vector.obj : scheme.tch prims.h +sysprim.obj daemon.obj prim.obj extern.obj : scheme.tch prims.h +lookup.obj debug.obj intern.obj : scheme.tch prims.h lookup.h trap.h locks.h +fasdump.obj : scheme.tch prims.h osio.h osfile.h osfs.h $(GC_HEAD_FILES) & + trap.h lookup.h fasl.h dump.c +memmag.obj : scheme.tch prims.h $(GC_HEAD_FILES) memmag.h +purify.obj : scheme.tch prims.h $(GC_HEAD_FILES) zones.h +wabbit.obj : scheme.tch $(GC_HEAD_FILES) +purutl.obj : scheme.tch prims.h $(GC_HEAD_FILES) zones.h +comutl.obj : scheme.tch prims.h +artutl.obj : scheme.tch +avltree.obj : ansidecl.h avltree.h +bignum.obj : scheme.tch bignmint.h limits.h +bigprm.obj flonum.obj intprm.obj : scheme.tch prims.h zones.h +generic.obj : scheme.tch prims.h +fixnum.obj : scheme.tch prims.h mul.c +storage.obj : scheme.tch gctype.c +char.obj string.obj dfloat.obj : scheme.tch prims.h +nttterm.obj : scheme.tch prims.h osterm.h +boot.obj : scheme.tch prims.h version.h option.h ostop.h +option.obj : ansidecl.h option.h +term.obj : scheme.tch +missing.obj : config.h +BCHGCC_H = bchgcc.h oscond.h $(GC_HEAD_FILES) +bchdmp.obj : scheme.tch prims.h ntio.h osio.h osfile.h trap.h lookup.h & + $(BCHGCC_H) fasl.h dump.c +bchdrn.obj : ansidecl.h bchdrn.h +bchmmg.obj : scheme.tch prims.h nt.h $(BCHGCC_H) option.h bchdrn.h memmag.h +bchgcl.obj : scheme.tch $(BCHGCC_H) +bchpur.obj : scheme.tch prims.h $(BCHGCC_H) zones.h +bchutl.obj : ansidecl.h +syntax.obj : scheme.tch prims.h edwin.h syntax.h +bitstr.obj : scheme.tch prims.h bitstr.h +regex.obj : scheme.tch syntax.h regex.h +rgxprim.obj : scheme.tch prims.h edwin.h syntax.h regex.h +bintopsb.obj : psbmap.tch trap.h limits.h fasl.h load.c bltdef.h +psbtobin.obj : psbmap.tch float.h fasl.h dump.c +ppband.obj : ansidecl.h config.h errors.h types.h const.h object.h & + $(GC_HEAD_FILES) sdata.h load.c fasl.h +outf.obj : scheme.tch ntscreen.h + +fft.obj : scheme.tch prims.h zones.h array.h image.h +array.obj image.obj : scheme.tch prims.h array.h +cmpint.obj : scheme.tch prim.h $(GC_HEAD_FILES) +osscheme.obj : scheme.tch posixtyp.h os.h osscheme.h +ostty.obj : ansidecl.h oscond.h posixtyp.h os.h ostty.h osscheme.h +error.obj ptrvec.obj transact.obj : ansidecl.h dstack.h outf.h +wind.obj : ansidecl.h dstack.h obstack.h +obstack.obj : obstack.h + +OS_PRIM_DEPENDENCIES = scheme.tch prims.h posixtyp.h os.h +prosenv.obj : osenv.h ostop.h $(OS_PRIM_DEPENDENCIES) +prosfile.obj : osfile.h $(OS_PRIM_DEPENDENCIES) +prosfs.obj : osfs.h $(OS_PRIM_DEPENDENCIES) +prosio.obj : osio.h $(OS_PRIM_DEPENDENCIES) +prosproc.obj : osproc.h $(OS_PRIM_DEPENDENCIES) +prosterm.obj : osterm.h osio.h $(OS_PRIM_DEPENDENCIES) +prostty.obj : ostty.h osctty.h ossig.h osfile.h osio.h $(OS_PRIM_DEPENDENCIES) +prmcon.obj : scheme.tch prims.h prmcon.h $(OS_PRIM_DEPENDENCIES) + +NT_DEPENDENCIES = oscond.h ansidecl.h posixtyp.h intext.h & + dstack.h os.h osscheme.h nt.h ntsys.h syscall.h +ntenv.obj : scheme.tch osenv.h ntscreen.h $(NT_DEPENDENCIES) +ntfile.obj : osfile.h osio.h ntio.h $(NT_DEPENDENCIES) +ntfs.obj : osfs.h $(NT_DEPENDENCIES) +ntio.obj : osio.h ntio.h ntscreen.h $(NT_DEPENDENCIES) +nttop.obj : ostop.h nttop.h osctty.h errors.h option.h $(NT_DEPENDENCIES) +nttty.obj : ostty.h osenv.h osio.h ntio.h osterm.h ntterm.h ntscreen.h & + $(NT_DEPENDENCIES) +ntsig.obj : ossig.h osctty.h ostty.h critsec.h & + $(NT_DEPENDENCIES) ntgui.h ntio.h ntscmlib.h ntscreen.h +nttrap.obj: nttrap.h ntscmlib.h $(GC_HEAD_FILES) $(NT_DEPENDENCIES) +ntsys.obj: ntsys.h +ntgui.obj : ntgui.c ntdialog.h ntgui.h ntscreen.h $(NT_DEPENDENCIES) scheme.tch +ntasutl.obj : ntasutl.asm +ntkbutl.obj : ntkbutl.asm +prntenv.obj : $(NT_DEPENDENCIES) +prntfs.obj : $(NT_DEPENDENCIES) scheme.tch prims.h osfs.h +prntio.obj : $(NT_DEPENDENCIES) scheme.tch prims.h ntio.h osio.h syscall.h & + ntscreen.h + +cmpauxmd.obj : cmpauxmd.asm + +#ntscmlib.dll ntscmlib.lib : ntwntlib.dll ntw32lib.dll +# copy ntw32lib.dll ntscmlib.dll +# copy ntw32lib.lib ntscmlib.lib +# +#ntwntlib.dll : ntwntlib.obj ntscmlib.lnk +# wlink @ntscmlib.lnk option quiet file { ntwntlib.obj } +# +#ntwntlib.lib : ntwntlib.dll +# wlib /b /c /n /q $^@ +$[@ +# +#ntwntlib.obj : ntwntlib.c ntscmlib.h +# $(CC) $(CFLAGS) /bd $[@ +# +#ntw32lib.dll ntw32lib.lib : ntw32lib.obj ntscmlib.lnk +# wlink @ntscmlib.lnk option quiet file { ntw32lib.obj } +# +#ntw32lib.lib : ntw32lib.dll +# wlib /b /c /n /q $^@ +$[@ +# +#ntw32lib.obj : ntw32lib.c ntscmlib.h +# $(CC) $(CFLAGS) /bd $[@ diff --git a/v7/src/microcode/ntutl/wconfig.bat b/v7/src/microcode/ntutl/wconfig.bat new file mode 100644 index 000000000..83141958d --- /dev/null +++ b/v7/src/microcode/ntutl/wconfig.bat @@ -0,0 +1,18 @@ +@echo off +rem MIT Scheme microcode configuration script for Win32 / Watcom C +rem +rem Copyright (c) 1995 Massachusetts Institute of Technology +rem +rem $Id: wconfig.bat,v 1.1 1995/10/24 09:34:29 cph Exp $ +rem +copy cmpintmd\i386.h cmpintmd.h +copy cmpauxmd\i386-ntw.asm cmpauxmd.asm +copy ntutl\makefile.wcc makefile +copy ntutl\*.h . +copy ntutl\*.c . +copy ntutl\*.mak . +copy ntutl\*.lbc . +copy ntutl\*.dlg . +copy ntutl\*.ico . +copy ntutl\*.rc . +copy ntutl\*.cur .