
# Nmake makefile to generate the HX win32 emulation binaries.

# Required tools are:
#
# tool         name         recommended       optional
# --------------------------------------------------------------
# Make                      MS NMake          OW WMake -ms
# Assembler    $(ASM)       JWasm             Masm v6.14+
# COFF linker               JWlink            MS LINK, OW Wlink
# COFF lib     $(LIBBIN)    JWLib             MS LIB, OW Wlib
# COFF RC      $(RCBIN)     OW WRC            MS RC
# OMF linker   $(LINK16BIN) JWlink            MS LINK (OMF), OW Wlink
# OMF lib      $(LIB16BIN)  JWLib             MS LIB (OMF), OW WLib

# JWasm, JWlink and JWlib can be found at https://github.com/Baron-von-Riedesel.

# About WSOCK32 target:
# The WSOCK32 target has to be excluded, because some object
# modules are currently missing due to copyright restrictions.
# WSOCK32 is written in C, and requires:
# - OW 32bit C compiler (wcc386.exe)
# - JWlink (jwlink.exe)
# - watt-32 library (WATTCPWD.LIB) compiled with open watcom,
# - OW CRT with register calling convention (clib3r.lib)

# winmm must be created BEFORE dsound
# dddraw must be created BEFORE dciman32

!include <dirs>

!ifndef DEBUG
DEBUG = 0
!endif

ALL: 
    cd COMCTL32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\COMDLG32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DADVAPI
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DDDRAW
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DCIMAN32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DGDI32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DINPUT
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\NTLFNHLP
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DKRNL32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\WINMM
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DSOUND
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\DUSER32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\IPHLPAPI
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\MPR
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\MSACM32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\OLE32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\OLEAUT32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\SHELL32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\VERSION
    @$(MAKE) DEBUG=$(DEBUG) 
#    cd ..\WSOCK32
#    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..\WS2_32
    @$(MAKE) DEBUG=$(DEBUG) 
    cd ..

install: 
	@copy DKRNL32\SBEMU\DKRNL32.DLL    $(HXINST)\Bin
	@copy DKRNL32\SBEMU\DKRNL32.LIB    $(HXINST)\Lib
	@copy DKRNL32\SBEMU\DKRNL32S.LIB   $(HXINST)\Lib
	@copy DKRNL32\DKRNL32.TXT          $(HXINST)\Doc
	@copy DKRNL32\DKRNLHIS.TXT         $(HXINST)\Doc

	@copy NTLFNHLP\RELEASE\NTLFNHLP.DLL $(HXINST)\Bin

	@copy DGDI32\RELEASE\DGDI32.DLL    $(HXINST)\Bin
	@copy DGDI32\RELEASE\DGDI32.LIB    $(HXINST)\Lib
	@copy DGDI32\RELEASE\DGDI32S.LIB   $(HXINST)\Lib
	@copy DGDI32\DGDI32.TXT            $(HXINST)\Doc

	@copy DUSER32\RELEASE\DUSER32.DLL  $(HXINST)\Bin
	@copy DUSER32\RELEASE\DUSER32.LIB  $(HXINST)\Lib
	@copy DUSER32\RELEASE\DUSER32S.LIB $(HXINST)\Lib
	@copy DUSER32\DUSER32.TXT          $(HXINST)\Doc

	@copy DADVAPI\RELEASE\DADVAPI.DLL  $(HXINST)\Bin
	@copy DADVAPI\RELEASE\DADVAPI.LIB  $(HXINST)\Lib
	@copy DADVAPI\RELEASE\DADVAPIS.LIB $(HXINST)\Lib
	@copy DADVAPI\DADVAPI.TXT          $(HXINST)\Doc

	@copy DDDRAW\RELEASE\DDDRAW.DLL    $(HXINST)\Bin
	@copy DDDRAW\DDDRAW.TXT            $(HXINST)\Doc
	@copy DINPUT\RELEASE\DINPUT.DLL    $(HXINST)\Bin
	@copy DINPUT\DINPUT.TXT            $(HXINST)\Doc
	@copy DSOUND\RELEASE\DSOUND.DLL    $(HXINST)\Bin
	@copy DSOUND\DSOUND.TXT            $(HXINST)\Doc
	@copy OLE32\RELEASE\OLE32.DLL      $(HXINST)\Bin
	@copy OLE32\RELEASE\OLE32S.LIB     $(HXINST)\Lib
	@copy OLE32\OLE32.TXT              $(HXINST)\Doc
	@copy OLEAUT32\RELEASE\OLEAUT32.DLL $(HXINST)\Bin
	@copy OLEAUT32\RELEASE\OLEAUTOS.LIB $(HXINST)\Lib
	@copy OLEAUT32\OLEAUT32.TXT        $(HXINST)\Doc
	@copy SHELL32\RELEASE\SHELL32.DLL  $(HXINST)\Bin
	@copy SHELL32\RELEASE\SHELL32.LIB  $(HXINST)\Lib\DSHELL32.LIB
	@copy SHELL32\SHELL32.TXT          $(HXINST)\Doc
	@copy VERSION\RELEASE\VERSION.DLL  $(HXINST)\Bin
	@copy VERSION\RELEASE\VERSIONS.LIB $(HXINST)\Lib
	@copy VERSION\VERSION.TXT          $(HXINST)\Doc
	@copy WINMM\RELEASE\WINMM.DLL      $(HXINST)\Bin
	@copy WINMM\WINMM.TXT              $(HXINST)\Doc
#	@copy WSOCK32\RELEASE\WSOCK32.DLL  $(HXINST)\Bin
	@copy WSOCK32\WSOCK32.TXT          $(HXINST)\Doc

clean: 
    cd COMCTL32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\COMDLG32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DADVAPI
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DDDRAW
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DCIMAN32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DGDI32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DINPUT
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\NTLFNHLP
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DKRNL32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DSOUND
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\DUSER32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\IPHLPAPI
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\MPR
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\MSACM32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\OLE32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\OLEAUT32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\SHELL32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\VERSION
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\WINMM
    @$(MAKE) DEBUG=$(DEBUG) clean 
#    cd ..\WSOCK32
#    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..\WS2_32
    @$(MAKE) DEBUG=$(DEBUG) clean 
    cd ..
