#
# this is the midl compile phase of the build process.
#
# The following is where you put the name of your .idl file without
# the .idl extension:
#

!INCLUDE $(NTMAKEENV)\makefile.plt

O = $(_OBJ_DIR)\$(TARGET_DIRECTORY)

!if !exist($(O))
!if [mkdir $(O)]
!endif
!endif

IDL_NAME  =     netdfs
CLIENT_ACF =    dfscli.acf
SERVER_ACF =    dfssrv.acf

!IFNDEF DISABLE_NET_UNICODE
UNICODE=1
NET_C_DEFINES=-DUNICODE
!ENDIF

INCS  =         -I$(SDK_INC_PATH)  -I$(CRT_INC_PATH) -I..\..\inc

CPP = -cpp_cmd "$(MIDL_CPP)" $(MIDL_FLAGS) $(C_DEFINES) $(NET_C_DEFINES)

CLIENT_TARGETS =   $(O)\$(IDL_NAME)_c.c

SERVER_TARGETS =   $(O)\$(IDL_NAME)_s.c $(O)\$(IDL_NAME).h

EXTRN_DEPENDS = $(SDK_INC_PATH)\lmdfs.h    \
                import.h                   \
                import.idl                 \
                $(CLIENT_ACF)              \
                $(SERVER_ACF)

#
# Define Products and Dependencies
#

all:    $(CLIENT_TARGETS) $(SERVER_TARGETS) $(EXTRN_DEPENDS)

clean: delete_source all

delete_source:
    erase $(CLIENT_TARGETS) $(SERVER_TARGETS)

#
# MIDL COMPILE
#


CLIENT_MIDL_SWITCHES= \
    $(MIDL_OPTIMIZATION) \
    -server none \
    -cstub $(O)\$(IDL_NAME)_c.c \
    -header $(O)\$(IDL_NAME)_c.h \
    -acf $(CLIENT_ACF)

SERVER_MIDL_SWITCHES= \
    $(MIDL_OPTIMIZATION) \
    -client none \
    -sstub $(O)\$(IDL_NAME)_s.c \
    -header $(O)\$(IDL_NAME).h \
    -acf $(SERVER_ACF) \
    -error stub_data

COMMON_SWITCHES = \
    -no_stamp \
    -oldnames \
    -ms_ext \
    -c_ext \
    $(CPP) \
    $(INCS)

$(CLIENT_TARGETS) : $(IDL_NAME).idl $(EXTRN_DEPENDS)
    midl $(CLIENT_MIDL_SWITCHES) $(COMMON_SWITCHES) $(IDL_NAME).idl

$(SERVER_TARGETS) : $(IDL_NAME).idl $(EXTRN_DEPENDS)
    midl $(SERVER_MIDL_SWITCHES) $(COMMON_SWITCHES) $(IDL_NAME).idl
    $(PUBLISH_CMD) {$(O)\$(IDL_NAME).h=$(DS_INC_PATH)\dfs\$(IDL_NAME).h} \
                   {$(O)\$(IDL_NAME)_s.c=$(DS_INC_PATH)\dfs\$(IDL_NAME)_s.c} \
                   {import.h=$(DS_INC_PATH)\dfs\import.h}