# Build process test programs
# For no multiple inheritance support
# set = MI for multilple inheritance
#MI=
VER=Microsoft
#VER=Borland 

!IF "$(VER)"=="Microsoft"
CC=cl
!ELSEIF "$(VER)"=="Borland"
CC=bcc
!ELSE
!ERROR
!ENDIF
  
NIHCLINC = ..\include
NIHCLPROCINCDIR = ..\process
NIHCLLIB = ..\lib\nihcl$(MI).lib
NIHCLPROCLIB = ..\lib\NIHprc$(MI).lib

!IF "$(VER)"=="Microsoft"
CFLAGS=-D"$(MI)" /AL /Zi /G3 /f- /Gy /Gf /Ob1 /OV9 -I$(NIHCLINC) -I$(NIHCLPROCINCDIR)  
LFLAGS=/link /CO /SEG:256      
all: process.exe stackpro.exe  clean
!ELSE
all: stackpro.exe  clean
!ENDIF

process.exe: process.cpp $(NIHCLPROCLIB) $(NIHCLLIB) $(NIHCLPROCINCDIR)\StackPro.h\
				$(NIHCLPROCINCDIR)\NIHProc.h $(NIHCLINC)\Link.h $(NIHCLINC)\Object.h\
				$(NIHCLINC)\NIHStrin.h $(NIHCLINC)\nihclcon.h $(NIHCLPROCINCDIR)\HeapProc.h\
				$(NIHCLPROCINCDIR)\SharedQu.h $(NIHCLINC)\ArrayOb.h $(NIHCLINC)\Collecti.h\
				$(NIHCLINC)\Iterator.h $(NIHCLPROCINCDIR)\Semaphor.h $(NIHCLINC)\LinkedLi.h\
				$(NIHCLINC)\SeqCltn.h $(NIHCLPROCINCDIR)\Schedule.h
	$(CC) $(CFLAGS) $*.cpp $(LFLAGS) $(NIHCLLIB) $(NIHCLPROCLIB)            

stackpro.exe: stackpro.cpp $(NIHCLPROCLIB) $(NIHCLLIB) $(NIHCLPROCINCDIR)\StackPro.h\
				  $(NIHCLPROCINCDIR)\NIHProc.h $(NIHCLINC)\Link.h $(NIHCLINC)\Object.h\
					$(NIHCLINC)\NIHStrin.h $(NIHCLINC)\nihclcon.h $(NIHCLPROCINCDIR)\SharedQu.h\
					$(NIHCLINC)\ArrayOb.h $(NIHCLINC)\Collecti.h $(NIHCLINC)\Iterator.h\
					$(NIHCLPROCINCDIR)\Semaphor.h $(NIHCLINC)\LinkedLi.h $(NIHCLINC)\SeqCltn.h\
					$(NIHCLPROCINCDIR)\Schedule.h
	$(CC) $(CFLAGS) /F DFFF $*.cpp $(LFLAGS) $(NIHCLLIB) $(NIHCLPROCLIB)  

clean:
	del *.obj
