PROJ = FOS_ISDN
PROJFILE = FOS_ISDN.MAK
DEBUG = 0
MODEL = C
SPAWN = 0
TSR   = 1

PWBRMAKE  = pwbrmake
NMAKEBSC1  = set
NMAKEBSC2  = nmake
LLIBS_D  = /NOD:$(MODEL)LIBCER
LINKER	= link
ILINK  = ilink
LRF  = echo > NUL
BIND  = bind
RC	= rc
IMPLIB	= implib
LFLAGS_G  =  /NOI  /BATCH /NOE /ST:1000 /CP:0
LFLAGS_D  =  /F /PACKC /CO
LFLAGS_R  = /FAR /PACKC
MAPFILE_D  = NUL
MAPFILE_R  = NUL
CC	= cl
CFLAGS_G  = /A$(MODEL) /W2 /BATCH /Gs /Fc
CFLAGS_D  = /qc /Od /Zid
CFLAGS_R  = /Ot /Oi /Ol /Oc /Oe /Og /DNDEBUG
LLIBS_R  = /NOD:$(MODEL)LIBCER
ASM  = masm
AFLAGS_G  = /Mx /T
AFLAGS_D  = /Zi

!IF $(SPAWN)
RESOBJ = SPAWN.obj
RESSBR = SPAWN.sbr
!ENDIF

!IF $(TSR)
RESOBJ = TSR.obj
RESSBR = TSR.sbr
!ENDIF

OBJS  = $(RESOBJ) CALLHAND.obj TIME_ISR.obj FOS_ISDN.obj HAYES.obj MTASK.obj LED.obj
SBRS  = $(RESSBR) CALLHAND.sbr TIME_ISR.sbr FOS_ISDN.sbr HAYES.sbr MTASK.sbr LED.sbr

all: $(PROJ).exe

.SUFFIXES: .c .sbr .obj

CALLHAND.obj : CALLHAND.C fos_isdn.h

CALLHAND.sbr : CALLHAND.C fos_isdn.h

TIME_ISR.obj : TIME_ISR.C fos_isdn.h

TIME_ISR.sbr : TIME_ISR.C fos_isdn.h

FOS_ISDN.obj : FOS_ISDN.C fos_isdn.h

FOS_ISDN.sbr : FOS_ISDN.C fos_isdn.h

HAYES.obj : HAYES.C fos_isdn.h

HAYES.sbr : HAYES.C fos_isdn.h

SPAWN.obj : SPAWN.C fos_isdn.h

SPAWN.sbr : SPAWN.C fos_isdn.h

TSR.obj : TSR.C fos_isdn.h

TSR.sbr : TSR.C fos_isdn.h

MTASK.obj : MTASK.c fos_isdn.h

MTASK.sbr : MTASK.c fos_isdn.h

LED.obj : LED.c fos_isdn.h

LED.sbr : LED.c fos_isdn.h


$(PROJ).bsc : $(SBRS)
		$(PWBRMAKE) @<<
$(BRFLAGS) $(SBRS)
<<

$(PROJ).exe : $(OBJS)
!IF $(DEBUG)
		$(LRF) @<<$(PROJ).lrf
$(RT_OBJS: = +^
) $(OBJS: = +^
)
$@
$(MAPFILE_D)
$(LLIBS_G: = +^
) +
$(LLIBS_D: = +^
) +
$(LIBS: = +^
)
$(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D);
<<
!ELSE
		$(LRF) @<<$(PROJ).lrf
$(RT_OBJS: = +^
) $(OBJS: = +^
)
$@
$(MAPFILE_R)
$(LLIBS_G: = +^
) +
$(LLIBS_R: = +^
) +
$(LIBS: = +^
)
$(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R);
<<
!ENDIF
!IF $(DEBUG)
		$(LINKER) @$(PROJ).lrf
		exehdr /max:0x400 $(PROJ).exe
!ELSE
		$(LINKER) @$(PROJ).lrf
		exehdr /max:0x400 $(PROJ).exe
!ENDIF


.c.sbr :
!IF $(DEBUG)
		$(CC) /Zs $(CFLAGS_G) $(CFLAGS_D) /FR$@ $<
!ELSE
		$(CC) /Zs $(CFLAGS_G) $(CFLAGS_R) /FR$@ $<
!ENDIF

.c.obj :
!IF $(DEBUG)
		$(CC) /c $(CFLAGS_G) $(CFLAGS_D) /Fo$@ $<
!ELSE
		$(CC) /c $(CFLAGS_G) $(CFLAGS_R) /Fo$@ $<
!ENDIF


run: $(PROJ).exe
		$(PROJ).exe $(RUNFLAGS)

debug: $(PROJ).exe
		CV $(CVFLAGS) $(PROJ).exe $(RUNFLAGS)
