#
#---------------------------------------------------------------
-# Do you want to include any sound libraries? If so leave the
-# appropriate compile macro below uncommented, or add others
-# that are available.
+# Do you want to include integration with any sound libraries that work with
+# this Makefile? Add the list below. If you change the list do 'nmake clean'.
#
+# There is glue in here for the following: windsound fmod
+# Obtaining the 3rd party library, including its .h files, is up to you.
+#
+# windsound uses built-in Microsoft API's, no 3rd party download is required.
-SOUNDLIBDEFS = -DSND_LIB_WINDSOUND -DUSER_SOUNDS
+SOUND_LIBRARIES = windsound
#
#---------------------------------------------------------------
rc = windres --target=pe-x86-64
endif
+ifeq "$(MSYSTEM)" "MINGW32"
+arch = x86
+else # MINGW64
+arch = x64
+endif
+
#
# Handle user settings
#
endif # INTERNET_AVAILABLE
#==========================================
-# nethackw
+# Soundlib Choices
#==========================================
-COREOBJS = $(addsuffix .o, allmain alloc apply artifact attrib ball bones botl cmd cppregex \
- dbridge decl detect dig display dlb do do_name do_wear \
- dog dogmove dokick dothrow drawing dungeon \
- eat end engrave exper explode extralev files fountain \
- hack hacklib insight invent isaac64 light lock \
- mail makemon mcastu mdlib mhitm mhitu minion mklev mkmap mkmaze mkobj mkroom \
- mon mondata monmove monst mplayer mthrowu muse music \
- nhlobj nhlsel nhlua windsound o_init objects objnam options \
- pager pickup pline polyself potion pray priest quest questpgr \
- random read rect region restore rip rnd role rumors \
- safeproc save sfstruct shk shknam sit sounds sp_lev spell steal steed symbols sys \
- teleport timeout topten track trap u_init uhitm utf8map vault version vision \
- weapon were wield windmain windows windsys wizard worm worn write zap)
-CFLAGSW = $(CFLAGS) $(CFLAGSXTRA) $(COMMONDEF) $(DLBFLG) -DTILES -D_WINDOWS -DMSWIN_GRAPHICS -DSAFEPROCS -DNOTTYGRAPHICS $(SOUNDLIBDEFS)
-CPPFLAGSW = $(CFLAGS) $(CPPFLAGSXTRA) $(COMMONDEF) $(DLBFLG) -DTILES -D_WINDOWS -DMSWIN_GRAPHICS -DSAFEPROCS -DNOTTYGRAPHICS $(SOUNDLIBDEFS)
+SNDLIBCHOICES = $(strip $(SOUND_LIBRARIES))
-ONHW = $(O)nethackw
-NHWONLY = $(addsuffix .o, mhaskyn mhdlg mhfont mhinput mhmain mhmap mhmenu \
- mhmsgwnd mhrip mhsplash mhstatus mhtext mswproc tile NetHackW win10)
-NHWOBJS = $(addprefix $(ONHW)/, $(COREOBJS) $(NHWONLY))
-DATEW_O = $(addsuffix .o, $(addprefix $(ONHW)/, date))
-TILEFILES = $(addprefix $(WSHR)/, monsters.txt objects.txt other.txt)
-BMPS = $(addprefix $(MSWIN)/, $(addsuffix .bmp, mnsel mnselcnt mnunsel petmark pilemark rip splash tiles))
+#
+# windsound
+#
+WINDSOUND = $(findstring windsound, $(SNDLIBCHOICES))
+ifeq "$(WINDSOUND)" "windsound"
+$(info Including windsound integration)
+SOUND_WINDSOUND=Y
+HAVE_SOUNDLIB=Y
+NEED_USERSOUNDS=Y
+NEED_SEAUTOMAP=Y
+NEED_WAV=Y
+#SOUNDLIBINCL +=
+SOUNDLIBDEFS += -DSND_LIB_WINDSOUND
+SOUNDLIBOBJS += windsound
+#WINDSOUNDLIBDIR =
+#SOUNDLIBLIBS +=
+#WINDSOUNDLIBDLL =
+#GAMEDIRDLLS +=
+endif
+
+#
+# fmod
+#
+FMOD = $(findstring fmod, $(SNDLIBCHOICES))
+ifeq "$(FMOD)" "fmod"
+$(info Including fmod integration)
+SOUND_FMOD=Y
+HAVE_SOUNDLIB=Y
+NEED_USERSOUNDS=Y
+NEED_SEAUTOMAP=Y
+NEED_WAV=Y
+FMODROOT = ../lib/fmod/api/core
+SOUNDLIBINCL += -I$(FMODROOT)/inc
+SOUNDLIBDEFS += -DSND_LIB_FMOD
+SOUNDLIBOBJS += fmod
+FMODLIBDIR = $(FMODROOT)/lib/$(arch)
+ifeq "$(arch)" "x86"
+SOUNDLIBLIBS += -L $(FMODLIBDIR)
+FMODLIBDLL = fmod_vc.dll
+SOUNDLIBLIBS += -lfmod
+else
+SOUNDLIBLIBS += -L $(FMODLIBDIR)
+FMODLIBDLL = fmod_vc.dll
+SOUNDLIBLIBS += $(FMODLIBDIR)/$(FMODLIBDLL)
+endif
+FMODDIR = ../sound/fmod
+GAMEDIRDLLS += $(GAMEDIR)/$(FMODLIBDLL)
+ifeq "$(arch)" "x86"
+FMODLINKLIB = $(FMODLIBDIR)/fmod_vc.lib
+else
+#x64 mingw32-x64 builds supposedly can link right with the DLL, no import lib
+FMODLINKLIB = $(FMODLIBDIR)/$(FMODLIBDLL)
+endif
+$(info ---------------------------------------------------------------------)
+$(info ** NOTES for fmod sound library integration **)
+$(info For fmod integration, this Makefile expects:)
+$(info fmod include directory : $(FMODROOT)/inc)
+$(info fmod library directory : $(FMODLIBDIR))
+$(info fmod library to link with : $(FMODLINKLIB))
+$(info fmod library dll : $(FMODLIBDIR)/$(FMODLIBDLL))
+$(info ---------------------------------------------------------------------)
+FMOD_MISSING=
+ifeq (,$(wildcard $(FMODROOT)/inc))
+FMOD_MISSING += $(FMODROOT)\inc
+$(info Error: missing $(FMODROOT)/inc)
+endif
+ifeq (,$(wildcard $(FMODLIBDIR)))
+FMOD_MISSING += $(FMODLIBDIR)
+$(info Error: missing $(FMODLIBDIR))
+endif
+ifeq (,$(wildcard $(FMODLINKLIB)))
+FMOD_MISSING += $(FMODLINKLIB)
+$(info Error: missing $(FMODLINKLIB))
+endif
+ifeq (,$(wildcard $(FMODLIBDIR)/$(FMODLIBDLL)))
+FMOD_MISSING += $(FMODLIBDIR)/$(FMODLIBDLL)
+$(info Error: missing $(FMODLIBDIR)/$(FMODLIBDLL))
+endif
+ifneq "$(FMOD_MISSING)" ""
+$(error Error: Cannot proceed with fmod integration included)
+endif
+endif
+
+#==========================================
+# Soundlib Support
+#==========================================
+
+ifeq "$(HAVE_SOUNDLIB)" "Y"
+ifeq "$(NEED_USERSOUNDS)" "Y"
+SOUNDLIBDEFS += -DUSER_SOUNDS
+endif
+ifeq "$(NEED_SEAUTOMAP)" "Y"
+SOUNDLIBDEFS += -DSND_SOUNDEFFECTS_AUTOMAP
+endif
+ifeq "$(NEED_WAV)" "Y"
WAVLIST = se_squeak_A se_squeak_B se_squeak_B_flat se_squeak_C \
se_squeak_D se_squeak_D_flat se_squeak_E \
se_squeak_E_flat se_squeak_F se_squeak_F_sharp \
sound_Wooden_Harp_E sound_Wooden_Harp_F \
sound_Wooden_Harp_G
WAVS = $(addprefix $(SNDWAVDIR)/, $(addsuffix .wav, $(WAVLIST)))
+endif # NEED_WAV
+endif # HAVE_SOUNDLIB
+
+#==========================================
+# nethackw
+#==========================================
+COREOBJS = $(addsuffix .o, allmain alloc apply artifact attrib ball bones botl cmd cppregex \
+ dbridge decl detect dig display dlb do do_name do_wear \
+ dog dogmove dokick dothrow drawing dungeon \
+ eat end engrave exper explode extralev files fountain \
+ hack hacklib insight invent isaac64 light lock \
+ mail makemon mcastu mdlib mhitm mhitu minion mklev mkmap mkmaze mkobj mkroom \
+ mon mondata monmove monst mplayer mthrowu muse music \
+ nhlobj nhlsel nhlua windsound o_init objects objnam options \
+ pager pickup pline polyself potion pray priest quest questpgr \
+ random read rect region restore rip rnd role rumors \
+ safeproc save sfstruct shk shknam sit sounds sp_lev spell steal steed \
+ symbols sys teleport timeout topten track trap u_init uhitm utf8map \
+ vault version vision weapon were wield windmain windows windsys wizard \
+ worm worn write zap $(SOUNDLIBOBJS))
+
+CFLAGSW = $(CFLAGS) $(CFLAGSXTRA) $(SOUNDLIBINCL) $(COMMONDEF) $(DLBFLG) -DTILES -D_WINDOWS -DMSWIN_GRAPHICS -DSAFEPROCS -DNOTTYGRAPHICS $(SOUNDLIBDEFS)
+CPPFLAGSW = $(CFLAGS) $(CPPFLAGSXTRA) $(COMMONDEF) $(DLBFLG) -DTILES -D_WINDOWS -DMSWIN_GRAPHICS -DSAFEPROCS -DNOTTYGRAPHICS $(SOUNDLIBDEFS)
+
+ONHW = $(O)nethackw
+NHWONLY = $(addsuffix .o, mhaskyn mhdlg mhfont mhinput mhmain mhmap mhmenu \
+ mhmsgwnd mhrip mhsplash mhstatus mhtext mswproc tile NetHackW win10)
+NHWOBJS = $(addprefix $(ONHW)/, $(COREOBJS) $(NHWONLY))
+DATEW_O = $(addsuffix .o, $(addprefix $(ONHW)/, date))
+TILEFILES = $(addprefix $(WSHR)/, monsters.txt objects.txt other.txt)
+BMPS = $(addprefix $(MSWIN)/, $(addsuffix .bmp, mnsel mnselcnt mnunsel petmark pilemark rip splash tiles))
NHWRES = $(ONHW)/winres.o
NHWTARGETS = $(GAMEDIR)/NetHackW.exe
nethackw: $(NHWTARGETS)
$(GAMEDIR)/NetHackW.exe: $(NHWOBJS) $(NHWRES) $(DATEW_O) $(LUALIB) | $(GAMEDIR)
- $(ld) $(LDFLAGS) -mwindows $^ $(LIBS) -static -lstdc++ -o$@
+ $(ld) $(LDFLAGS) -mwindows $^ $(LIBS) -static -lstdc++ $(SOUNDLIBLIBS) -o$@
$(ONHW)/%.o: $(SRC)/%.c $(NHLUAH) | $(ONHW)
$(cc) $(CFLAGSW) $< -o$@
$(ONHW)/%.o: $(SSYS)/%.c $(NHLUAH) | $(ONHW)
$(cc) $(CFLAGSW) $< -o$@
-$(ONHW)/%.o: $(SNDSYS)/%.c $(NHLUAH) | $(ONHW)
+ifeq "$(SOUND_WINDSOUND)" "Y"
+$(ONHW)/%.o: ../sound/windsound/%.c $(NHLUAH) | $(ONHW)
$(cc) $(CFLAGSW) $< -o$@
+endif
+
+ifeq "$(SOUND_FMOD)" "Y"
+$(ONHW)/%.o: ../sound/fmod/%.c $(NHLUAH) | $(ONHW)
+ $(cc) $(CFLAGSW) $< -o$@
+endif
$(ONHW)/%.o: $(MSWSYS)/%.c $(NHLUAH) | $(ONHW)
$(cc) $(CFLAGSW) $< -o$@
#==========================================
# nethack
#==========================================
-CFLAGSNH = $(CFLAGSU) $(CFLAGSXTRA) -DNO_TILE_C -DSAFEPROCS -D_LIB -DWIN32CON $(SOUNDLIBDEFS)
+CFLAGSNH = $(CFLAGSU) $(CFLAGSXTRA) $(SOUNDLIBINCL) -DNO_TILE_C -DSAFEPROCS -D_LIB -DWIN32CON $(SOUNDLIBDEFS)
CPPFLAGSNH = $(CFLAGSU) $(CPPFLAGSXTRA) -DNO_TILE_C -DSAFEPROCS -D_LIB -DWIN32CON $(SOUNDLIBDEFS)
ONH = $(O)nethack
nethack: $(NHTARGET)
-$(GAMEDIR)/NetHack.exe: $(NHOBJS) $(NHRES) $(DATE_O) $(LUALIB) $(PDCLIB) | $(GAMEDIR)
+$(GAMEDIR)/NetHack.exe: $(NHOBJS) $(NHRES) $(DATE_O) $(LUALIB) $(PDCLIB) $(SOUNDLIBLIBS) | $(GAMEDIR)
$(ld) $(LDFLAGS) -mconsole $^ $(LIBS) -static -lstdc++ -o$@
$(ONH)/%.o: $(SRC)/%.c $(NHLUAH) | $(ONH)
$(ONH)/%.o: $(SSYS)/%.c $(NHLUAH) | $(ONH)
$(cc) $(CFLAGSNH) $< -o$@
-$(ONH)/%.o: $(SNDSYS)/%.c $(NHLUAH) | $(ONH)
+ifeq "$(SOUND_WINDSOUND)" "Y"
+$(ONH)/%.o: ../sound/windsound/%.c $(NHLUAH) | $(ONH)
+ $(cc) $(CFLAGSNH) $< -o$@
+endif
+
+ifeq "$(SOUND_FMOD)" "Y"
+$(ONH)/%.o: ../sound/fmod/%.c $(NHLUAH) | $(ONH)
$(cc) $(CFLAGSNH) $< -o$@
+endif
$(ONH)/%.o: $(MSWSYS)/%.c $(NHLUAH) | $(ONH)
$(cc) $(CFLAGSNH) $< -o$@
all: install
-TO_INSTALL = $(GAMEDIR)/NetHack.exe $(RTARGETS) \
+TO_INSTALL = $(GAMEDIR)/NetHack.exe $(RTARGETS) $(GAMEDIRDLLS) \
$(addprefix $(GAMEDIR)/, $(addsuffix .template, sysconf .nethackrc) \
Guidebook.txt NetHack.txt license opthelp record symbols)
endif
@echo NetHack is up to date.
+ifdef SOUND_FMOD
+$(GAMEDIR)/$(FMODLIBDLL): $(FMODLIBDIR)/$(FMODLIBDLL)
+ cp $< $@
+endif
+
$(GAMEDIR)/symbols: $(DAT)/symbols
cp $< $@
#
#
#------------------------------------------------------------------------------
-# Add any sound libraries the you wish to integrate with NetHack, with spaces
-# between them.
+# Do you want to include integration with any sound libraries that work with
+# this Makefile? Add the list below. If you change the list do 'nmake clean'.
+#
+# There is glue in here for the following: windsound fmod
+# Obtaining the 3rd party library, including its .h files, is up to you.
#
# windsound uses built-in Microsoft API's, no 3rd party download is required.
-SOUND_LIBRARIES = windsound
+SOUND_LIBRARIES = windsound fmod
#
#------------------------------------------------------------------------------
#
SNDTEMP = $(SOUND_LIBRARIES:windsound=)
!IF "$(SOUND_LIBRARIES)" != "$(SNDTEMP)"
-# SOUND_LIBRARIES included windsound
+!MESSAGE Including windsound integration
SOUND_WINDSOUND=Y
-!MESSAGE Including windsound support
+HAVE_SOUNDLIB=Y
+NEED_USERSOUNDS=Y
+NEED_SEAUTOMAP=Y
+NEED_WAV=Y
SOUNDLIBINCL = $(SOUNDLIBINCL)
SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DSND_LIB_WINDSOUND
TTYSOUNDOBJS = $(TTYSOUNDOBJS) $(OTTY)windsound.o
GUISOUNDOBJS = $(GUISOUNDOBJS) $(OGUI)windsound.o
-TTYSOUNDLIBS = $(TTYSOUNDLIBS)
-GUISOUNDLIBS = $(GUIDSOUNDLIBS)
+#WINDSOUNDLIBDIR =
+#TTYSOUNDLIBS = $(TTYSOUNDLIBS)
+#GUISOUNDLIBS = $(GUISOUNDLIBS)
+#WINDSOUNDLIBDIR =
+#WINDSOUNDLIBDLL =
WINDSOUNDDIR = ..\sound\windsound
+SOUNDSRCS = $(SOUNDSRCS) $(WINDSOUNDDIR)\windsound.c
+#GAMEDIRDLLS = $(GAMEDIRDLLS) $(GAMEDIR\$(WINDSOUNDLIBDLL)
+!ENDIF
+SNDTEMP=
+
+# +--------------------------------+
+# | fmod? (requires 3rd party lib) |
+# +--------------------------------+
+#
+
+SNDTEMP = $(SOUND_LIBRARIES:fmod=)
+!IF "$(SOUND_LIBRARIES)" != "$(SNDTEMP)"
+!MESSAGE Including fmod integration
+SOUND_FMOD=Y
+HAVE_SOUNDLIB=Y
+NEED_USERSOUNDS=Y
+NEED_SEAUTOMAP=Y
+NEED_WAV=Y
+FMODROOT=..\lib\fmod\api\core
+SOUNDLIBINCL = $(SOUNDLIBINCL) -I$(FMODLIBROOT)/inc
+SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DSND_LIB_FMOD
+TTYSOUNDOBJS = $(TTYSOUNDOBJS) $(OTTY)fmod.o
+GUISOUNDOBJS = $(GUISOUNDOBJS) $(OGUI)fmod.o
+FMODLIBDIR = $(FMODROOT)\lib\$(TARGET_CPU)
+FMODLIBDLL = fmod_vc.dll
+!IF "$(TARGET_CPU)" == "x86"
+TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
+GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
+#!ELSE
+#TTYSOUNDLIBS = $(TTYSOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
+#GUISOUNDLIBS = $(GUISOUNDLIBS) $(FMODLIBDIR)\fmod_vc.lib
+!ENDIF
+GAMEDIRDLLS = $(GAMEDIRDLLS) $(GAMEDIR)\$(FMODLIBDLL)
+FMODDIR = ..\sound\fmod
+SOUNDSRCS = $(SOUNDSRCS) $(FMODDIR)\fmod.c
+!MESSAGE ---------------------------------------------------------------------
+!MESSAGE ** NOTES for fmod sound library integration **
+!MESSAGE For fmod integration, this Makefile expects:
+!MESSAGE fmod include directory : $(FMODROOT)\inc
+!MESSAGE fmod library directory : $(FMODLIBDIR)
+!MESSAGE fmod library to link with : $(FMODLIBDIR)\fmod_vc.lib
+!MESSAGE fmod library dll : $(FMODLIBDIR)\$(FMODLIBDLL)
+!MESSAGE ---------------------------------------------------------------------
+FMOD_MISSING=
+!IF !EXIST("$(FMODROOT)\inc")
+FMOD_MISSING= $(FMOD_MISSING) $(FMODROOT)\inc
+!MESSAGE Error: missing $(FMODROOT)\inc
+!ENDIF
+!IF !EXIST("$(FMODLIBDIR)")
+FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)
+!MESSAGE Error: missing $(FMODLIBDIR)
+!ENDIF
+!IF !EXIST("$(FMODLIBDIR)\fmod_vc.lib")
+FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\fmod_vc.lib
+!MESSAGE Error: missing $(FMODLIBDIR)\fmod_vc.lib
+!ENDIF
+!IF !EXIST("$(FMODLIBDIR)\$(FMODLIBDLL)")
+FMOD_MISSING= $(FMOD_MISSING) $(FMODLIBDIR)\$(FMODLIBDLL)
+!MESSAGE Error: missing $(FMODLIBDIR)\$(FMODLIBDLL)
+!ENDIF
+!IF "$(FMOD_MISSING)" != ""
+!ERROR Error: Cannot proceed with fmod integration included
+!ENDIF
!ENDIF
SNDTEMP=
# SOUND Support
#=================================================================
-!IF "$(SOUNDLIBDEFS)" != ""
+!IF "$(HAVE_SOUNDLIB)" == "Y"
+!IF "$(NEED_USERSOUNDS)" == "Y"
SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DUSER_SOUNDS
!ENDIF
+!IF "$(NEED_SEAUTOMAP)" == "Y"
+SOUNDLIBDEFS = $(SOUNDLIBDEFS) -DSND_SOUNDEFFECTS_AUTOMAP
+!ENDIF
-SNDWAVFILES = $(SndWavDir)\se_squeak_A.wav $(SndWavDir)\se_squeak_B.wav \
+!IF "$(NEED_WAV)" == "Y"
+WAVS = $(SndWavDir)\se_squeak_A.wav $(SndWavDir)\se_squeak_B.wav \
$(SndWavDir)\se_squeak_B_flat.wav $(SndWavDir)\se_squeak_C.wav \
$(SndWavDir)\se_squeak_D.wav $(SndWavDir)\se_squeak_D_flat.wav \
$(SndWavDir)\se_squeak_E.wav $(SndWavDir)\se_squeak_E_flat.wav \
$(SndWavDir)\sound_Wooden_Harp_C.wav $(SndWavDir)\sound_Wooden_Harp_D.wav \
$(SndWavDir)\sound_Wooden_Harp_E.wav $(SndWavDir)\sound_Wooden_Harp_F.wav \
$(SndWavDir)\sound_Wooden_Harp_G.wav
+!ENDIF
+!ENDIF #HAVE_SOUNDLIB
#==========================================
# Header file macros
{$(WINDSOUNDDIR)}.c{$(OBJGUI)}.o:
$(Q)$(CC) $(CFLAGS) -I$(WSHR) $(GUIDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
+#==========================================
+# Rules for files in sound\fmod
+#==========================================
+
+{$(FMODDIR)}.c{$(OBJTTY)}.o:
+ $(Q)$(CC) $(CFLAGS) -I$(WSHR) $(TTYDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
+
+{$(FMODDIR)}.c{$(OBJGUI)}.o:
+ $(Q)$(CC) $(CFLAGS) -I$(WSHR) $(GUIDEF) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $<
#==========================================
#=============== TARGETS ==================
$(INCL)\nhlua.h $(OUTL)utility.tag \
$(DAT)\data $(DAT)\rumors $(DAT)\oracles $(DAT)\engrave \
$(DAT)\epitaph $(DAT)\bogusmon $(GAMEDIR)\NetHack.exe \
- $(GAMEDIR)\NetHackW.exe install.tag
+ $(GAMEDIR)\NetHackW.exe $(GAMEDIRDLLS) install.tag
@echo Done.
!IF "$(INTERNET_AVAILABLE)" == "Y"
$(conlibs) $(BCRYPT) -out:$@ @<<$(@B).lnk
$(GAMEOBJTTY)
$(ALLOBJTTY)
- $(TTYOBJ) $(TTYSOUNDOBJS)
+ $(TTYOBJ)
+ $(TTYSOUNDOBJS)
$(CURSESOBJ)
$(OTTY)consoletty.o
$(OTTY)date.o
$(guilibs) $(COMCTRL) $(BCRYPT) -out:$@ @<<$(@B).lnk
$(GAMEOBJGUI)
$(ALLOBJGUI)
- $(GUIOBJ) $(GUISOUNDOBJS)
+ $(GUIOBJ)
+ $(GUISOUNDOBJS)
$(OGUI)tile.o
$(OGUI)date.o
$(OGUI)NetHackW.res
# install
#--------
#
-install.tag: $(DAT)\data $(DAT)\rumors $(DAT)\oracles $(DLB)
+install.tag: $(DAT)\data $(DAT)\rumors $(DAT)\oracles $(DLB) \
+ $(HACKCSRC) $(SOUNDSRCS)
! IF ("$(USE_DLB)"=="Y")
copy nhdat$(NHV) $(GAMEDIR)
copy $(DAT)\license $(GAMEDIR)
$(MSWIN)\mnsel.bmp \
$(MSWIN)\mnselcnt.bmp $(MSWIN)\mnunsel.bmp \
$(MSWIN)\petmark.bmp $(MSWIN)\pilemark.bmp $(MSWIN)\NetHack.ico \
- $(MSWIN)\rip.bmp $(MSWIN)\splash.bmp $(SNDWAVFILES)
+ $(MSWIN)\rip.bmp $(MSWIN)\splash.bmp $(WAVS)
@echo Building resource file $@ from $**
@$(rc) -nologo -r -fo$@ -i$(MSWIN) -dNDEBUG -I..\sound\wav $(MSWIN)\NetHackW.rc
-$(OTTY)console.res: $(MSWSYS)\console.rc $(MSWSYS)\NetHack.ico $(SNDWAVFILES)
+$(OTTY)console.res: $(MSWSYS)\console.rc $(MSWSYS)\NetHack.ico $(WAVS)
@echo Building resource file $@ from $**
@$(rc) -nologo -r -fo$@ -i$(MSWSYS) -dNDEBUG -I..\sound\wav $(MSWSYS)\console.rc
#===================================================================
# windsound dependencies
#===================================================================
-
+!IF "$(SOUND_WINDSOUND)" == "Y"
$(OTTY)windsound.o: ..\sound\windsound\windsound.c $(HACK_H)
+$(OGUI)windsound.o: ..\sound\windsound\windsound.c $(HACK_H)
+!ENDIF
+#===================================================================
+# fmod dependencies
+#===================================================================
+!IF "$(SOUND_FMOD)" == "Y"
+$(OTTY)fmod.o: $(FMODDIR)\fmod.c $(HACK_H)
+$(OGUI)fmod.o: $(FMODDIR)\fmod.c $(HACK_H)
+# Copy the DLL to GAMEDIR
+$(GAMEDIR)\FMODLIBDLL: $(FMODLIBDIR)\$(FMODLIBDLL)
+ copy $(FMODLIBDIR)\$(FMODLIBDLL) $@
+!ENDIF
#===================================================================
# sys/windows dependencies
#===================================================================
if exist $(DAT)\guioptions del $(DAT)\guioptions
if exist $(DAT)\data del $(DAT)\data
if exist tilemappings.lst del tilemappings.lst
+ if exist $(SndWavDir)\*.wav del $(SndWavDir)\*.wav
if exist $(OBJTTY)\* rmdir $(OBJTTY) /s /Q
if exist $(OBJGUI)\* rmdir $(OBJGUI) /s /Q
if exist $(OBJUTIL)\* rmdir $(OBJUTIL) /s /Q