#
# 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

IDL_NAME = dhcp
IMPORT   = imports

CLIENT_H = $(IDL_NAME)_cli.h
SERVER_H = $(IDL_NAME)_srv.h

CLIENT_ACF = $(IDL_NAME)cli.acf
SERVER_ACF = $(IDL_NAME)srv.acf

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

SDKINC = $(BASEDIR)\public\sdk\inc
SDKCRTINC = $(BASEDIR)\public\sdk\inc\crt
PRIVINC = $(BASEDIR)\private\inc

INCS = -I. -I..\inc -I$(SDKINC) -I$(SDKCRTINC) -I$(PRIVINC)

CLIENT_TARGETS = \
    client\$(IDL_NAME)_c.c  \
    client\$(IDL_NAME)_x.c  \
    client\$(IDL_NAME)_cli.h

SERVER_TARGETS = \
    server\$(IDL_NAME)_s.c  \
    server\$(IDL_NAME)_y.c  \
    server\$(IDL_NAME)_srv.h

TARGETS = $(CLIENT_TARGETS) $(SERVER_TARGETS)

EXTRN_DEPENDS = \
    $(SDKINC)\windef.h  \
    $(PRIVINC)\dhcpapi.h

CLIENT_FLAGS = -acf $(CLIENT_ACF) -header $(CLIENT_H) -oldnames
SERVER_FLAGS = -acf $(SERVER_ACF) -header $(SERVER_H) -oldnames

CPP = -cpp_cmd "$(MIDL_CPP)" -cpp_opt "-E -nologo $(MIDL_FLAGS) $(INCS) $(C_DEFINES) $(NET_C_DEFINES)"

#
# Define Products and Dependencies
#

all:    $(TARGETS) $(EXTRN_DEPENDS)
!IF "$(BUILDMSG)" != ""
    @ech ; $(BUILDMSG) ;
!ENDIF

clean: delsrc all

delsrc:
    erase $(TARGETS)

#
# MIDL COMPILE
#

$(CLIENT_TARGETS) : .\$(IDL_NAME).idl .\$(IMPORT).idl .\$(IMPORT).h .\$(CLIENT_ACF) $(EXTRN_DEPENDS)
    midl -error allocation -error ref -mode c_port $(CPP) $(CLIENT_FLAGS) .\$(IDL_NAME).idl $(INCS)
    IF EXIST $(IDL_NAME)_x.c copy $(IDL_NAME)_x.c .\client & del  $(IDL_NAME)_x.c
    IF EXIST $(IDL_NAME)_c.c copy $(IDL_NAME)_c.c .\client & del  $(IDL_NAME)_c.c
    IF EXIST $(IDL_NAME)_y.c del $(IDL_NAME)_y.c
    IF EXIST $(IDL_NAME)_s.c del $(IDL_NAME)_s.c
    IF EXIST $(CLIENT_H) copy $(CLIENT_H) .\client & del $(CLIENT_H)

$(SERVER_TARGETS) : .\$(IDL_NAME).idl .\$(IMPORT).idl .\$(IMPORT).h .\$(SERVER_ACF) $(EXTRN_DEPENDS)
    midl -error allocation -error ref -mode c_port $(CPP) $(SERVER_FLAGS) .\$(IDL_NAME).idl $(INCS)
    IF EXIST $(IDL_NAME)_x.c del  $(IDL_NAME)_x.c
    IF EXIST $(IDL_NAME)_c.c del  $(IDL_NAME)_c.c
    IF EXIST $(IDL_NAME)_y.c copy $(IDL_NAME)_y.c .\server & del  $(IDL_NAME)_y.c
    IF EXIST $(IDL_NAME)_s.c copy $(IDL_NAME)_s.c .\server & del  $(IDL_NAME)_s.c
    IF EXIST $(SERVER_H) copy $(SERVER_H) .\server & del $(SERVER_H)
