# History:25,17

AFLAGS = /mx
CFLAGS = -r- -ms -M -DDONT_PASS_CTRL_C

.c.obj:
	bccx $(CFLAGS) -DDEBUGGER=1 -DTOPLINEINFO=1 -DSOURCE_LIST -c $*.c
	mv $*.obj d$*.obj
	bccx $(CFLAGS) -DDEBUGGER=0 -DTOPLINEINFO=0 -c $*.c

.asm.obj:
	tasm $(AFLAGS) /DDEBUGGER=1 /DTOPLINEINFO=1 $*;
	mv $*.obj d$*.obj
	tasm $(AFLAGS) /DDEBUGGER=0 /DTOPLINEINFO=0 $*;

OBJS =\
	control.obj\
	dalloc.obj\
	debug.obj\
	doutils.obj\
	exphdlr.obj\
	graphics.obj\
	grprot.obj\
	mono.obj\
	mswitch.obj\
	npx.obj\
	paging.obj\
	syms.obj\
	tables.obj\
	unassmbl.obj\
	utils.obj\
	valloc.obj\
	vga.obj\
	wild.obj\
	xms.obj\
	vcpi.obj\
	fepctrl.obj

all : go32.exe stub.exe

stub.exe: stub.c
	bccx stub.c
	tdstrip stub

go32.exe : $(OBJS) go32.lnk makefile
	tlinkx /3 /c /v /s /m @go32.lnk
	tlinkx /3 /c /v /s /m @debug32.lnk
	tdstrip go32
	cp go32.exe demacs.exe
	tdstrip debug32

utest.exe : utest.obj unassmbl.obj
	tcc -v -M utest.obj unassmbl.obj

# DEPENDENCIES

debug.obj : build.h types.h gdt.h tss.h utils.h unassmbl.h syms.h paging.h npx.h mono.h

exphdlr.obj : build.h types.h gdt.h idt.h tss.h utils.h paging.h npx.h mono.h vcpi.h

control.obj : build.h types.h gdt.h idt.h tss.h valloc.h utils.h syms.h graphics.h mono.h vcpi.h

graphics.obj : build.h types.h paging.h graphics.h tss.h gdt.h

paging.obj : build.h types.h paging.h graphics.h tss.h gdt.h valloc.h dalloc.h utils.h aout.h mono.h vcpi.h

syms.obj : build.h types.h syms.h tss.h stab.h stab.def aout.h utils.h

unassmbl.obj : build.h types.h gdt.h idt.h tss.h utils.h unassmbl.h syms.h mono.h

utils.obj : build.h types.h tss.h gdt.h utils.h npx.h

valloc.obj : build.h types.h valloc.h xms.h mono.h vcpi.h

xms.obj : xms.h

dalloc.obj : build.h types.h valloc.h dalloc.h mono.h

mono.obj : mono.h

doutils.obj : build.inc segdefs.inc tss.inc gdt.inc idt.inc

mswitch.obj : build.inc segdefs.inc tss.inc gdt.inc idt.inc vcpi.inc

tables.obj : build.inc segdefs.inc tss.inc gdt.inc idt.inc

vga.obj : segdefs.inc

grprot.obj : build.inc segdefs.inc tss.inc gdt.inc idt.inc

npx.obj : build.inc segdefs.inc tss.inc gdt.inc idt.inc

vcpi.obj: build.inc segdefs.inc vcpi.inc

fepctrl.obj: fepctrl.h
