#
# If BUILDMSG is not defined, the define it as the empty string to make
# the conditionals easier to write.
#

!INCLUDE $(NTMAKEENV)\makefile.plt

PUBLICINCS= $(BASEDIR)\public\sdk\inc\gl\gl.h

PRIVATEINCS= inc\types.h   \
             inc\render.h  \
             inc\buffers.h \
             inc\context.h \
             inc\attrib.h  \
             inc\vertex.h  \
             inc\xform.h   \
             inc\procs.h   \
             inc\pixel.h   \
             inc\texture.h \
             inc\lighting.h  \
             inc\glinterf.h  \
             ..\inc\parray.h \
             inc\gencx.h

TARGETINCS= inc\gl$(TARGET_DIRECTORY).$(ASM_INCLUDE_SUFFIX)

!if "$(USE_ICECAP)" != ""
PERFLIBS = $(BASEDIR)\public\sdk\lib\$(TARGET_DIRECTORY)\icap.lib
!endif

all: $(TARGETINCS)
!IF "$(BUILDMSG)" != ""
    echo $(BUILDMSG)
!ENDIF

clean: cleansrc all

cleansrc:
!if exist($(TARGETINCS))
    -erase /f $(TARGETINCS)
!endif

$(TARGETINCS): generic\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).c  \
                                         $(PUBLICINCS)         \
                                         $(PRIVATEINCS)
    cd generic
    nmake obj\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).obj USE_CRTDLL=1 NTNOPCH=1
    -link -out:obj\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).exe @<<
-machine:$(TARGET_DIRECTORY)
-base:@$(BASEDIR)\PUBLIC\SDK\LIB\coffbase.txt,usermode
-subsystem:console
-entry:mainCRTStartup
-ignore:4078,2001
-nodefaultlib
-force
obj\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).obj
$(BASEDIR)\public\sdk\lib\$(TARGET_DIRECTORY)\crtdll.lib
$(PERFLIBS)
<<
    -obj\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).exe ..\$@
    -erase obj\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).obj
    -erase obj\$(TARGET_DIRECTORY)\gl$(TARGET_DIRECTORY).exe
    cd ..
