BIN=c:\prog\bin
PMODE=c:\prog\bc45\pmode

CC=$(BIN)\bcc32
ASM=$(BIN)\tasm
LNK=$(BIN)\tlink
LBR=$(BIN)\tlib

INC=$(PMODE)
LIB=$(PMODE)

CC_OPTS=-3 -c -I$(INC)
ASM_OPTS=-ml -m -t -q -I$(INC)
LNK_OPTS=-3 -s -c
LBR_OPTS=/c /e

PMOBJS=$(PMODE)\c0pmc+$(PMODE)\pmode
OBJS=args.obj tty.obj ctype.obj conv.obj sprintf.obj
LIBOBJS=-+args -+tty -+ctype -+conv -+sprintf


.asm.obj:
	$(ASM) $(ASM_OPTS) $*

.c.obj:
	$(CC) $(CC_OPTS) $*.c


all: test.exe stdlib32.lib

test.obj:     test.c       stdlib32.h
args.obj:     args.c       stdlib32.h
tty.obj:      tty.asm      stdlib32.inc
ctype.obj:    ctype.asm    stdlib32.inc
conv.obj:     conv.asm     stdlib32.inc
sprintf.obj:  sprintf.asm  stdlib32.inc

stdlib32.lib: $(OBJS)
	$(LBR) $(LBR_OPTS) stdlib32 $(LIBOBJS)

test.out: makefile
	@echo $(PMOBJS)+test > test.out
	@echo test >> test.out
	@echo test >> test.out
	@echo $(LIB)\pmc $(LIB)\support\stdlib32 >> test.out

test.exe: test.obj stdlib32.lib test.out
	$(LNK) $(LNK_OPTS) @test.out
