# WINDOS makefile for Microsoft C NMAKE
# see Microsoft Systems Journal, September 1991
# andrew@pharlap.com

MODEL = S

LINK_FLAGS = /farc/packc/packd/nod/noe/align:16

.c.obj:
    cl -G2sw -Oais -Zpe -W3 -A$(MODEL) -c -DWINDOWS $*.c

# WINDOS.LIB *must* come BEFORE standard MSC/SDK libraries:

.obj.exe:
    link $(LINK_FLAGS) $*,$*,nul,$(MODEL)windos $(MODEL)libcew libw,winio.def
    rc -t winio.res $*.exe

# RC -t marks this protected-mode only (won't run in Windows Real mode)

winio.res:  winio.rc
    rc -r winio.rc

# NB!!!! YOU NEED THE LATEST VERSIONS OF WINIO AND WMHANDLR FOR THIS
# THERE WERE SEVERAL CHANGES MADE SINCE THE JULY 1991 MSJ ARTICLE

$(MODEL)windos.lib:  winio.obj wmhandlr.obj argcargv.obj winheap.obj based.obj
    lib $(MODEL)windos-+winio-+wmhandlr-+argcargv-+winheap-+based;

# -------------------------------------------------------------------
# MEM_OLD uses the Microsoft version of _fmalloc, not WINDOS
# just so we have a point of comparison

mem_old.exe:    mem.obj
    link $(LINK_FLAGS) mem winio wmhandlr argcargv,mem_old,nul,slibcew libw,winio.def 
    rc -t winio.res mem_old.exe 


# -------------------------------------------------------------------
# TESTLIST: test WINDOS using Richard Shaw's List Manager
# from MSJ, September 1990

testlist.exe:   testlist.obj list.obj $(MODEL)windos.lib
    link $(LINK_FLAGS) $* list,$*,nul,$(MODEL)windos $(MODEL)libcew libw,winio.def
    rc -t winio.res $*.exe

# -------------------------------------------------------------------

hello2.exe:     hello2.obj $(MODEL)windos.lib

args.exe:       args.obj $(MODEL)windos.lib

cmdline.exe:    cmdline.obj $(MODEL)windos.lib

mem.exe:        mem.obj $(MODEL)windos.lib

### other targets can be added here
