Skip to content

Commit

Permalink
Some OS/2 tweaks for SDL_mixer.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Nov 23, 2005
1 parent 1a88d93 commit 17dc6a3
Show file tree
Hide file tree
Showing 8 changed files with 311 additions and 2 deletions.
33 changes: 33 additions & 0 deletions Makefile-EXE.wat
@@ -0,0 +1,33 @@
#=============================================================================
# This is a Watcom makefile to build SDLMIXER.DLL for OS/2
#
#
#=============================================================================

object_files= playwave.obj playmus.obj

# Extra stuffs to pass to C compiler:
ExtraCFlags=

#
#==============================================================================
#
!include Watcom-EXE.mif

.before
@set include=$(%os2tk)\h;$(%include);$(%sdlhome)\include;.\;

all : playwave.exe playmus.exe

playwave.exe: $(object_files)
wlink @playwave.lnk

playmus.exe: $(object_files)
wlink @playmus.lnk

clean : .SYMBOLIC
@if exist *.exe del *.exe
@if exist *.obj del *.obj
@if exist *.map del *.map
@if exist *.res del *.res
@if exist *.lst del *.lst
75 changes: 75 additions & 0 deletions Makefile.wat
@@ -0,0 +1,75 @@
#=============================================================================
# This is a Watcom makefile to build SDLMIXER.DLL for OS/2
#
#
#=============================================================================

dllname=SDLMIXER

mainobjs = effects_internal.obj effect_position.obj effect_stereoreverse.obj load_aiff.obj load_ogg.obj load_voc.obj mixer.obj music.obj music_cmd.obj music_ogg.obj wavestream.obj
mikmodobjs = mikmod\drv_nos.obj mikmod\drv_sdl.obj mikmod\load_it.obj mikmod\load_mod.obj mikmod\load_s3m.obj mikmod\load_xm.obj mikmod\mdreg.obj mikmod\mdriver.obj mikmod\mloader.obj mikmod\mlreg.obj mikmod\mlutil.obj mikmod\mmalloc.obj mikmod\mmerror.obj mikmod\mmio.obj mikmod\mplayer.obj mikmod\munitrk.obj mikmod\mwav.obj mikmod\npertab.obj mikmod\sloader.obj mikmod\virtch.obj mikmod\virtch2.obj mikmod\virtch_common.obj
timidityobjs = timidity\common.obj timidity\controls.obj timidity\filter.obj timidity\instrum.obj timidity\mix.obj timidity\output.obj timidity\playmidi.obj timidity\readmidi.obj timidity\resample.obj timidity\sdl_a.obj timidity\sdl_c.obj timidity\tables.obj timidity\timidity.obj
oggidecobjs = oggidec\bitwise.obj oggidec\block.obj oggidec\codebook.obj oggidec\floor0.obj oggidec\floor1.obj oggidec\framing.obj oggidec\info.obj oggidec\mapping0.obj oggidec\mdct.obj oggidec\registry.obj oggidec\res012.obj oggidec\sharedbook.obj oggidec\synthesis.obj oggidec\vorbisfile.obj oggidec\window.obj
oggobjs = libogg-1.0\src\bitwise.obj libogg-1.0\src\framing.obj
vorbisobjs = libvorbis-1.0\lib\analysis.obj &
libvorbis-1.0\lib\bitrate.obj &
libvorbis-1.0\lib\block.obj &
libvorbis-1.0\lib\codebook.obj &
libvorbis-1.0\lib\envelope.obj &
libvorbis-1.0\lib\floor0.obj &
libvorbis-1.0\lib\floor1.obj &
libvorbis-1.0\lib\info.obj &
libvorbis-1.0\lib\lookup.obj &
libvorbis-1.0\lib\lpc.obj &
libvorbis-1.0\lib\lsp.obj &
libvorbis-1.0\lib\mapping0.obj &
libvorbis-1.0\lib\mdct.obj &
libvorbis-1.0\lib\psy.obj &
libvorbis-1.0\lib\registry.obj &
libvorbis-1.0\lib\res0.obj &
libvorbis-1.0\lib\sharedbook.obj &
libvorbis-1.0\lib\smallft.obj &
libvorbis-1.0\lib\synthesis.obj &
libvorbis-1.0\lib\vorbisenc.obj &
libvorbis-1.0\lib\vorbisfile.obj &
libvorbis-1.0\lib\window.obj


object_files= $(mainobjs) $(mikmodobjs) $(timidityobjs) $(oggidecobjs)

# Extra stuffs to pass to C compiler:
ExtraCFlags=

#
#==============================================================================
#
!include Watcom.mif

.before
@set include=$(%os2tk)\h;$(%include);$(%sdlhome)\include;.\timidity;.\mikmod;.\oggidec;
@cd mikmod
@wmake -h -f Makefile.wat
@cd ..\timidity
@wmake -h -f Makefile.wat
@cd ..

all : $(dllname).dll $(dllname).lib

$(dllname).dll : $(object_files)
wlink @$(dllname)

$(dllname).lib : $(dllname).dll
implib $(dllname).lib $(dllname).dll

clean : .SYMBOLIC
@if exist *.dll del *.dll
@if exist *.lib del *.lib
@if exist *.obj del *.obj
@if exist *.map del *.map
@if exist *.res del *.res
@if exist *.lst del *.lst
@cd mikmod
@wmake -h -f Makefile.wat clean
@cd ..\timidity
@wmake -h -f Makefile.wat clean
@cd ..
91 changes: 91 additions & 0 deletions SDLMIXER.lnk
@@ -0,0 +1,91 @@
#=============================================================================
# This is a linker file to build SDLMIXER.DLL for OS/2
#
#
#=============================================================================

system 386 LX DLL INITINSTANCE TERMINSTANCE
name SDLMIXER

# Object files from \.

file effects_internal
file effect_position
file effect_stereoreverse
file load_aiff
file load_ogg
file load_voc
file mixer
file music
file music_cmd
file music_ogg
file wavestream

# Object files from \mikmod

file mikmod\drv_nos
file mikmod\drv_sdl
file mikmod\load_it
file mikmod\load_mod
file mikmod\load_s3m
file mikmod\load_xm
file mikmod\mdreg
file mikmod\mdriver
file mikmod\mloader
file mikmod\mlreg
file mikmod\mlutil
file mikmod\mmalloc
file mikmod\mmerror
file mikmod\mmio
file mikmod\mplayer
file mikmod\munitrk
file mikmod\mwav
file mikmod\npertab
file mikmod\sloader
file mikmod\virtch
file mikmod\virtch2
file mikmod\virtch_common

# Object files from \timidity

file timidity\common
file timidity\controls
file timidity\filter
file timidity\instrum
file timidity\mix
file timidity\output
file timidity\playmidi
file timidity\readmidi
file timidity\resample
file timidity\sdl_a
file timidity\sdl_c
file timidity\tables
file timidity\timidity

# Object files from \oggidec

file oggidec\bitwise.obj
file oggidec\block.obj
file oggidec\codebook.obj
file oggidec\floor0.obj
file oggidec\floor1.obj
file oggidec\framing.obj
file oggidec\info.obj
file oggidec\mapping0.obj
file oggidec\mdct.obj
file oggidec\registry.obj
file oggidec\res012.obj
file oggidec\sharedbook.obj
file oggidec\synthesis.obj
file oggidec\vorbisfile.obj
file oggidec\window.obj

OPTION MAP=SDLMIXER
OPTION DESCRIPTION 'Simple DirectMedia Layer Mixer v1.2.5'
OPTION ELIMINATE
OPTION MANYAUTODATA
OPTION OSNAME='OS/2 and eComStation'
OPTION SHOWDEAD
LIBPATH %os2tk%\lib
LIBPATH %sdlhome%\src
lib sdl
30 changes: 30 additions & 0 deletions Watcom-EXE.mif
@@ -0,0 +1,30 @@
#=============================================================================
# This file contains the common includes for the
# Watcom makefiles to build EXE applications for OS/2
#
#
#=============================================================================

# Create debug build or not?
debug_build=defined

#
#==============================================================================
#

!ifdef debug_build
debugflags = -d2 -dDEBUG_BUILD
!else
debugflags =
!endif

cflags = -zq $(debugflags) -bm -bt=OS2 -5s -fpi -sg -otexan -wx -ei $(ExtraCFlags)

.extensions:
.extensions: .lib .dll .obj .c .cpp .exe

.c.obj : .AUTODEPEND
wcc386 $[* $(cflags)

.cpp.obj : .AUTODEPEND
wpp386 $[* $(cflags)
34 changes: 34 additions & 0 deletions Watcom.mif
@@ -0,0 +1,34 @@
#=============================================================================
# This file contains the common includes for the
# Watcom makefiles to build SDLMIXER.DLL for OS/2
#
#
#=============================================================================

# Create debug build or not?
#debug_build=defined

SDLMixerFlags=-DBUILD_SDL -DWAV_MUSIC -DMOD_MUSIC -DMID_MUSIC -DUSE_TIMIDITY_MIDI -DOGG_MUSIC
# ToDO:
# -DOGG_MUSIC -DMP3_MUSIC

#
#==============================================================================
#

!ifdef debug_build
debugflags = -d2 -dDEBUG_BUILD
!else
debugflags =
!endif

cflags = -zq $(debugflags) -bd -bm -bt=OS2 -5s -fpi -sg -otexan -wx -ei $(SDLMixerFlags) $(ExtraCFlags)

.extensions:
.extensions: .lib .dll .obj .c .cpp

.c.obj : .AUTODEPEND
wcc386 $[* $(cflags)

.cpp.obj : .AUTODEPEND
wpp386 $[* $(cflags)
21 changes: 21 additions & 0 deletions playmus.lnk
@@ -0,0 +1,21 @@
#=============================================================================
# This is a linker file to build SDLMIXER test app for OS/2
#
#
#=============================================================================

system os2v2

file playmus

OPTION MAP=playmus
OPTION DESCRIPTION 'Simple DirectMedia Layer Mixer v1.2.5 - Test Application'
OPTION ELIMINATE
OPTION MANYAUTODATA
OPTION OSNAME='OS/2 and eComStation'
OPTION SHOWDEAD
LIBPATH %os2tk%\lib
LIBPATH %sdlhome%\src
LIBPATH .
lib sdl
lib sdlmixer
21 changes: 21 additions & 0 deletions playwave.lnk
@@ -0,0 +1,21 @@
#=============================================================================
# This is a linker file to build SDLMIXER test app for OS/2
#
#
#=============================================================================

system os2v2

file playwave

OPTION MAP=playwave
OPTION DESCRIPTION 'Test Application'
OPTION ELIMINATE
OPTION MANYAUTODATA
OPTION OSNAME='OS/2 and eComStation'
OPTION SHOWDEAD
LIBPATH %os2tk%\lib
LIBPATH %sdlhome%\src
LIBPATH .
lib sdl
lib sdlmixer
8 changes: 6 additions & 2 deletions timidity/config.h
Expand Up @@ -181,6 +181,10 @@ typedef double FLOAT_T;
# define LITTLE_ENDIAN
#endif

#ifdef __OS2__
# define LITTLE_ENDIAN
#endif

#ifdef i386
#define LITTLE_ENDIAN
#endif
Expand Down Expand Up @@ -221,7 +225,7 @@ typedef char int8;
#define CONFIG_FILE_ETC "/etc/timidity.cfg"
#define CONFIG_FILE_ETC_TIMIDITY "/etc/timidity/timidity.cfg"

#ifdef __WIN32__
#if defined(__WIN32__) || defined(__OS2__)
#define DEFAULT_PATH "\\TIMIDITY"
#else
#define DEFAULT_PATH "/usr/local/lib/timidity"
Expand Down Expand Up @@ -271,7 +275,7 @@ typedef int16 resample_t;
#endif

/* The path separator (D.M.) */
#ifdef __WIN32__
#if defined(__WIN32__) || defined(__OS2__)
# define PATH_SEP '\\'
# define PATH_STRING "\\"
#else
Expand Down

0 comments on commit 17dc6a3

Please sign in to comment.