ORIGIN = PWB
ORIGIN_VER = 2.0
PROJ = gifblast
PROJFILE = gifblast.mak
DEBUG = 0

#CC_ONE = cl -AL -Ox -c -DARCON_NTYPES=2 -DARCON_SMALL_RBSIZE=64
#CC_LINK = cl -AL


CC  = cl
CFLAGS_G  = /W3 /BATCH /AL /Fpi87 /G2 /Oxb2 -DARCON_NTYPES=2 -DARCON_SMALL_RBSIZE=64 
CFLAGS_D  = /f /Zi /Od
CFLAGS_R  = /f- /Ot /Oi /Ol /Oe /Og /Gs
CXX  = cl
CXXFLAGS_G  = /W2 /BATCH
CXXFLAGS_D  = /f /Zi /Od
CXXFLAGS_R  = /f- /Ot /Oi /Ol /Oe /Og /Gs
MAPFILE_D  = NUL
MAPFILE_R  = NUL
LFLAGS_G  = /NOI /BATCH /ONERROR:NOEXE
LFLAGS_D  = /CO /FAR /PACKC
LFLAGS_R  = /EXE /FAR /PACKC
LINKER  = link
ILINK  = ilink
LRF  = echo > NUL
ILFLAGS  = /a /e

FILES  = ARITH.C ARITHCON.C GB11CODE.C GIFBLAST.C GIFCODE.C UBASIC.C UFFILE.C
OBJS  = ARITH.obj ARITHCON.obj GB11CODE.obj GIFBLAST.obj GIFCODE.obj\
	UBASIC.obj UFFILE.obj

all: $(PROJ).exe

.SUFFIXES:
.SUFFIXES:
.SUFFIXES: .obj .c

ARITH.obj : ARITH.C uffile.h arith.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(
CFLAGS_D) /FoARITH.obj ARITH.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoARITH.obj ARITH.C
<<
!ENDIF

ARITHCON.obj : ARITHCON.C arithcon.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /FoARITHCON.obj ARITHCON.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoARITHCON.obj ARITHCON.C
<<
!ENDIF

GB11CODE.obj : GB11CODE.C uffile.h arith.h arithcon.h gb11code.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /FoGB11CODE.obj GB11CODE.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoGB11CODE.obj GB11CODE.C
<<
!ENDIF

GIFBLAST.obj : GIFBLAST.C ubasic.h uffile.h gifcode.h arith.h arithcon.h\
	gb11code.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /FoGIFBLAST.obj GIFBLAST.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoGIFBLAST.obj GIFBLAST.C
<<
!ENDIF

GIFCODE.obj : GIFCODE.C uffile.h gifcode.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /FoGIFCODE.obj GIFCODE.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoGIFCODE.obj GIFCODE.C
<<
!ENDIF

UBASIC.obj : UBASIC.C ubasic.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /FoUBASIC.obj UBASIC.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoUBASIC.obj UBASIC.C
<<
!ENDIF

UFFILE.obj : UFFILE.C ubasic.h uffile.h
!IF $(DEBUG)
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_D) /FoUFFILE.obj UFFILE.C
<<
!ELSE
	@$(CC) @<<$(PROJ).rsp
/c $(CFLAGS_G)
$(CFLAGS_R) /FoUFFILE.obj UFFILE.C
<<
!ENDIF


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


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


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

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