# InterWave Kernel Makefile for OS/2 
# $Revision: 1.1 $

CC = cl
DEBUG = -Zi
PROCESSOR = -DPROC386
EXTRA =
MODEL=S
MODELlc = s
DIR = os2
LIBNAME = iw_os2.lib
CODESIZE = -DNEARCODE=1
DATASIZE = -DNEARDATA=1
CPROC = -G2
DDKDIR = c:\ddk
OSINCDIR = os\os2
CFLAGS = $(DEBUG) -Zp1 -I. -I$(OSINCDIR) -I$(INCLUDE) $(DATASIZE) $(CODESIZE) $(CPROC) -Ox -A$(MODEL) -Aw $(PROCESSOR) -Gs -W3 -DOS2 -Fl
ASMFLAGS = -DMASM -DOS2 $(PROCESSOR) $(DEBUG) -D__$(MODELlc)__ $(CODESIZE) $(DATASIZE) /Sa /Fo$*.obj
INCLUDE = c:\mc6\include

.c.obj:
	$(CC) -c $(CFLAGS) -Fo$(DIR)\$*.obj $*.c

OBJS= 	$(DIR)\iwinit2.obj \
	$(DIR)\iwisr1.obj \
	$(DIR)\iwisr.obj \
	$(DIR)\iwsem.obj \
	$(DIR)\iwinit.obj \
	$(DIR)\iwpnp.obj \
	$(DIR)\iwsynth.obj \
	$(DIR)\iwload.obj \
	$(DIR)\iwdetct.obj \
	$(DIR)\globals.obj \
	$(DIR)\iwmem.obj \
	$(DIR)\iwdram.obj \
	$(DIR)\iwutils.obj \
	$(DIR)\iwvoice.obj \
	$(DIR)\iwdma.obj \
	$(DIR)\iwaddr.obj \
	$(DIR)\iwatten.obj \
	$(DIR)\iwllist.obj \
	$(DIR)\iwnote.obj \
	$(DIR)\iwnote1.obj \
	$(DIR)\iwlfo.obj \
	$(DIR)\iwscale.obj \
	$(DIR)\timer.obj \
	$(DIR)\iwerror.obj \
	$(DIR)\iwmidi.obj \
	$(DIR)\iwuart.obj \
	$(DIR)\iwmixer.obj \
	$(DIR)\iwsound.obj \
	$(DIR)\iwdig.obj \
	$(DIR)\play.obj \
	$(DIR)\record.obj \
	$(DIR)\codec.obj \
	$(DIR)\play16.obj \
	$(DIR)\irq16.obj \
	$(DIR)\vars16.obj \
	$(DIR)\util16.obj \
	$(DIR)\mixer.obj \
	$(DIR)\profile.obj \
	$(DIR)\profile1.obj \
	$(DIR)\mixctl.obj \
	$(DIR)\mixbld.obj \
	$(DIR)\os.obj

all: BEGIN $(DIR)\iw_os2.lib

BEGIN:
	set CL=$(CFLAGS)
	set INCLUDE=$(INCLUDE)

$(DIR)\iwainit.obj: iwainit.asm iwasm.inc globals.inc iwpriv.inc
	ml -c $(ASMFLAGS) iwainit.asm
$(DIR)\iwwmem.obj: iwwmem.asm iwinit.inc
	ml -c $(ASMFLAGS) iwwmem.asm
$(DIR)\iwwvoic.obj: iwwvoic.asm iwinit.inc
	ml -c $(ASMFLAGS) iwwvoic.asm
$(DIR)\iwwdma.obj: iwwdma.asm iwinit.inc
	ml -c $(ASMFLAGS) iwwdma.asm
$(DIR)\wdigital.obj: wdigital.asm iwinit.inc
	ml -c $(ASMFLAGS) wdigital.asm
$(DIR)\iwwnote.obj: iwwnote.asm iwinit.inc
	ml -c $(ASMFLAGS) iwwnote.asm
$(DIR)\wtimer.obj: wtimer.asm iwinit.inc
	ml -c $(ASMFLAGS) wtimer.asm
$(DIR)\iwwuart.obj: iwwuart.asm iwinit.inc
	ml -c $(ASMFLAGS) iwwuart.asm
$(DIR)\iwinit2.obj: iwinit2.asm iwinit.inc
	ml -c $(ASMFLAGS) iwinit2.asm
$(DIR)\iwsem.obj: iwsem.asm iwasm.inc globals.inc iwpriv.inc
	ml -c $(ASMFLAGS) iwsem.asm
$(DIR)\iwisr1.obj: iwisr1.asm iwasm.inc globals.inc iwpriv.inc
	ml -c $(ASMFLAGS) iwisr1.asm
$(DIR)\iwisr.obj: iwisr.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwisr.obj iwisr.c
$(DIR)\iwinit.obj: iwinit.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwinit.obj iwinit.c
$(DIR)\iwdetct.obj: iwdetct.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwdetct.obj iwdetct.c
$(DIR)\globals.obj: globals.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\globals.obj globals.c
$(DIR)\iwmem.obj: iwmem.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwmem.obj iwmem.c
$(DIR)\iwmem1.obj: iwmem1.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwmem1.obj iwmem1.c
$(DIR)\iwdram.obj: iwdram.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwdram.obj iwdram.c
$(DIR)\iwutils.obj: iwutils.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwutils.obj iwutils.c
$(DIR)\iwvoice.obj: iwvoice.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwvoice.obj iwvoice.c
$(DIR)\iwdma.obj: iwdma.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwdma.obj iwdma.c
$(DIR)\iwdma1.obj: iwdma1.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwdma1.obj iwdma1.c
$(DIR)\iwaddr.obj: iwaddr.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwaddr.obj iwaddr.c
$(DIR)\divisor.obj: divisor.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\divisor.obj divisor.c
$(DIR)\digital.obj: digital.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\digital.obj digital.c
$(DIR)\digpause.obj: digpause.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\digpause.obj digpause.c
$(DIR)\digpos.obj: digpos.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\digpos.obj digpos.c
$(DIR)\iwatten.obj: iwatten.c iw.h iwl.h globals.h iwatten.h
	$(CC) -c -Fo$(DIR)\iwatten.obj iwatten.c
$(DIR)\iwllist.obj: iwllist.c iw.h iwl.h globals.h iwllist.h
	$(CC) -c -Fo$(DIR)\iwllist.obj iwllist.c
$(DIR)\iwnote.obj: iwnote.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwnote.obj iwnote.c
$(DIR)\timer.obj: timer.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\timer.obj timer.c
$(DIR)\iwerror.obj: iwerror.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwerror.obj iwerror.c
$(DIR)\iwscale.obj: iwscale.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwscale.obj iwscale.c
$(DIR)\iwmidi.obj: iwmidi.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwmidi.obj iwmidi.c
$(DIR)\iwuart.obj: iwuart.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwuart.obj iwuart.c
$(DIR)\iwrec.obj: iwrec.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwrec.obj iwrec.c
$(DIR)\iwmixer.obj: iwmixer.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwmixer.obj iwmixer.c
$(DIR)\icsmixer.obj: icsmixer.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\icsmixer.obj icsmixer.c
$(DIR)\voltab.obj: voltab.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\voltab.obj voltab.c
$(DIR)\iwsound.obj: iwsound.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\iwsound.obj iwsound.c
$(DIR)\play.obj: play.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\play.obj play.c
$(DIR)\record.obj: record.c iw.h iwl.h globals.h
	$(CC) -c -Fo$(DIR)\record.obj record.c
$(DIR)\play16.obj: play16.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\play16.obj play16.c
$(DIR)\vars16.obj: vars16.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\vars16.obj vars16.c
$(DIR)\util16.obj: util16.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\util16.obj util16.c
$(DIR)\codec.obj: codec.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\codec.obj codec.c
$(DIR)\irq16.obj: irq16.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\irq16.obj irq16.c
$(DIR)\mixer16.obj: mixer16.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\mixer16.obj mixer16.c
$(DIR)\mixctl.obj: mixctl.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\mixctl.obj mixctl.c
$(DIR)\mixbld.obj: mixbld.c iw.h iwl.h globals.h codec.h
	$(CC) -c -Fo$(DIR)\mixbld.obj mixbld.c
$(DIR)\profile.obj: profile.c iw.h profile.h
	$(CC) -c -Fo$(DIR)\profile.obj profile.c
$(DIR)\profile1.obj: profile1.c iw.h profile.h
	$(CC) -c -Fo$(DIR)\profile1.obj profile1.c
$(DIR)\os.obj: $(OSINCDIR)\os.c
	$(CC) -I$(DDKDIR)\h -I$(DDKDIR)\mmos2\mmtoolkt\h -I..\os2 -c -Fo$(DIR)\os.obj $(OSINCDIR)\os.c

$(DIR)\$(LIBNAME): $(OBJS) makeos
        if exist $(DIR)\$(LIBNAME) del $(DIR)\$(LIBNAME)
	lib $(DIR)\$(LIBNAME) @<<makems.lnk
+$(OBJS:  = &^
+)
;
<<KEEP

clean:
	if exist $(DIR)\*.obj del $(DIR)\*.obj
	if exist $(DIR)\*.lib del $(DIR)\*.lib
	if exist $(DIR)\*.bak del $(DIR)\*.bak
