# # Master MAKE.INI file for NDMAKE # # jim nutt # 'the computer handyman' # .SUFFIXES : .doc .exe .prf .obj .cpp .c .a86 .asm .com .a86 # # generate response files for these as well as lib and link # .RESPONSE_LINK: tlink blink ztcmap .RESPONSE_LIB: tlib zorlib VPATH = .;c:\include; MAKE_TMP= $(TMP) # # some defaults # project = obj = cc = ztc mcflags = $p $s $w cflags = # # zortech c settings # ztclib = c:\lib\$(cc) # where are the libraries ztcinclude = c:\include\$(cc) ztclibrary = $(lib)\zl$(model) ztccompile = $(cc) -c -m$(options) ztcoptions = $(model) $(mcflags) -I$(include) -ic:\include ztcstartup = ztcwild = ztcscheck = -s ztcpcheck = ztcalign = -a ztcunsigned= -J ztccodeview= -g ztcmaxwarnings= -p -r ztcinline = -f ztcoptimize= -o+all -o+loop ztcmodel = -m ztcdefine = -d ztcstdc = -A # # quick c settings # qcllib = c:\lib\msc qclinclude = c:\include\msc qcllibrary = $(lib)\$(model)libcr $(lib)\libh qclcompile = qcl /c /X /Zl /A$(options) /D__MSC__=1 qcloptions = $(model) $(mcflags) /I$(include) qclstartup = qclwild = qclscheck = qclpcheck = /Zr qclalign = /Zp qclunsigned= qclcodeview= /Zi qclmaxwarnings = /W3 qclinline = /FPi87 qcloptimize= /Ox qclmodel = /A qcldefine = /D qclstdc = /Za # # msc 5.1 settings # msclib = c:\lib\msc mscinclude = c:\include\$(cc) msclibrary = $(lib)\$(model)libcr $(lib)\libh msccompile = cl /c /X /Zl /A$(options) /D__MSC__=1 mscoptions = $(model) $(mcflags) /I$(include) /Ic:\include mscstartup = mscwild = mscscheck = mscpcheck = mscalign = /Zp mscunsigned= msccodeview= /Zi mscmaxwarnings = /W3 mscinline = /FPi87 mscoptimize= /Owilt mscmodel = /A mscdefine = /D mscstdc = /Za # # turbo c settings # tcclib = c:\lib\$(cc) # where are the libraries tccinclude = c:\include\$(cc) tcclibrary = $(lib)\c$(model) tcccompile = $(cc) -c -m$(options) tccoptions = $(model) $(mcflags) -I$(include) tccstartup = $(lib)\c0$(model) tccwild = tccscheck = -N tccpcheck = tccalign = -a- tccunsigned= -K tcccodeview= -y tccmaxwarnings = -w -w-stv tccinline = -f87 tccmodel = -m tccdefine = -D tccoptimize= -O -G -r tccstdc = -A lib = $($(cc)lib) include = $($(cc)include) library = $($(cc)library) cxl = $(lib)\cxl$(model) options = $($(cc)options) compile = $($(cc)compile) $(cflags) startup = $($(cc)startup) wild = $($(cc)wild) libs = $(library) # compiler options a = $($(cc)align) # byte align structures c = $($(cc)codeview) # codeview debugging (if avail, else symdeb) d = $($(cc)define) # command line #define i = $($(cc)inline) # inline 8087 code generation m = $($(cc)model) # memory model selection p = $($(cc)pcheck) # pointer checking (if available) s = $($(cc)scheck) # turn on stack checking u = $($(cc)unsigned) # chars are unsigned o = $($(cc)optimize) # do max optimizations w = $($(cc)maxwarnings) # give maximum warnings stdc = $($(cc)stdc) # use ANSI standard keywords only model = S # the linker linkopt = /noi linker = link # an easy linking macros linklst = $($(project)obj),$(project),$(project),$(libs) $(linkopt); link = $(linker) $(wild) $(startup) $(linklst) # default rules markfile : calltree -z markfile *.c .c.exe : .c.obj $(linker) $(wild) $(startup) $*, $* ,$* ,$(libs) $(linkopt); .obj.exe : $(link) .c.obj : $(compile) $*.c .cpp.obj : $(cc) $* .asm.obj : masm $*; .a86.obj : a86 +o +s $*.a86 $*.obj .a86.com : a86 $*.a86 .a86.exe : a86 +o +s $*.a86 link $*; .prf.doc : proff $*.prf $*.doc