annotate Makefile @ 35:36f27ef8bebe

Added AIFF support.
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 20 Sep 2001 07:53:59 +0000
parents 530fa59d5db9
children f7a792fdf7a4
rev   line source
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
1 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
2 # SDL_sound -- An abstract sound format decoding API.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
3 # Copyright (C) 2001 Ryan C. Gordon.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
4 #
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
5 # This library is free software; you can redistribute it and/or
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
6 # modify it under the terms of the GNU Lesser General Public
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
7 # License as published by the Free Software Foundation; either
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
8 # version 2.1 of the License, or (at your option) any later version.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
9 #
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
10 # This library is distributed in the hope that it will be useful,
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
13 # Lesser General Public License for more details.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
14 #
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
15 # You should have received a copy of the GNU Lesser General Public
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
16 # License along with this library; if not, write to the Free Software
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
18 #
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
19 # (Please see the file LICENSE in the source's root directory.)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
20 #
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
21 # This file written by Ryan C. Gordon.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
22 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
23
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
24
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
25 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
26 # Makefile for building SDL_sound on Unix-like systems. Follow the
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
27 # instructions for editing this file, then run "make" on the command line.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
28 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
29
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
30
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
31 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
32 # Set to your liking.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
33 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
34 CC = gcc
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
35 LINKER = gcc
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
36
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
37
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
38 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
39 # If this makefile fails to detect Cygwin correctly, or you want to force
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
40 # the build process's behaviour, set it to "true" or "false" (w/o quotes).
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
41 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
42 #cygwin := true
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
43 #cygwin := false
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
44 cygwin := autodetect
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
45
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
46 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
47 # You only need to set SDL_INC_DIR and SDL_LIB_DIR if you are using cygwin.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
48 # SDL_INC_DIR is where SDL.h and associated headers can be found, and
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
49 # SDL_LIB_DIR is where SDL.lib and SDL.dll are located. These may be set as
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
50 # environment variables, if you'd prefer to not hack the Makefile.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
51 #
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
52 # examples:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
53 # SDL_INC_DIR := C:/2/SDL-1.1.8/include
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
54 # SDL_LIB_DIR := C:/2/SDL-1.1.8/lib
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
55 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
56 ifeq ($(strip $(SDL_INC_DIR)),)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
57 SDL_INC_DIR := please_set_me_cygwin_users
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
58 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
59
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
60 ifeq ($(strip $(SDL_LIB_DIR)),)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
61 SDL_LIB_DIR := please_set_me_cygwin_users
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
62 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
63
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
64 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
65 # Set this to true if you want to create a debug build.
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
66 # (for generating debugging symbols, disabling optimizations, etc.)
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
67 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
68 #debugging := false
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
69 debugging := true
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
70
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
71 #-----------------------------------------------------------------------------#
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
72 # Set this to true if you want debugging output. This does a LOT of
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
73 # chattering to stdout, and can be used with out without the (debugging)
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
74 # option above. You do NOT want this in a release build!
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
75 #-----------------------------------------------------------------------------#
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
76 #debugging_chatter := false
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
77 debugging_chatter := true
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
78
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
79 #-----------------------------------------------------------------------------#
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
80 # Set the decoder types you'd like to support.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
81 # Note that various decoders may need external libraries.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
82 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
83 use_decoder_raw := true
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
84 use_decoder_mp3 := false
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
85 use_decoder_voc := true
18
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
86 use_decoder_wav := true
35
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
87 use_decoder_aiff := true
27
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
88 use_decoder_ogg := true
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
89
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
90 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
91 # Set to "true" if you'd like to build a DLL. Set to "false" otherwise.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
92 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
93 #build_dll := false
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
94 build_dll := true
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
95
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
96 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
97 # Set one of the below. Currently, none of these are used.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
98 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
99 #use_asm = -DUSE_I386_ASM
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
100 use_asm = -DUSE_PORTABLE_C
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
101
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
102
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
103 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
104 # Set this to where you want SDL_sound installed. It will put the
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
105 # files in $(install_prefix)/bin, $(install_prefix)/lib, and
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
106 # $(install_prefix)/include ...
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
107 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
108 install_prefix := /usr/local
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
109
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
110
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
111 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
112 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
113 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
114 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
115 # Everything below this line is probably okay.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
116 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
117 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
118 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
119 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
120
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
121 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
122 # CygWin autodetect.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
123 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
124
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
125 ifeq ($(strip $(cygwin)),autodetect)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
126 ifneq ($(strip $(shell gcc -v 2>&1 |grep "cygwin")),)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
127 cygwin := true
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
128 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
129 cygwin := false
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
130 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
131 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
132
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
133
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
134 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
135 # Platform-specific binary stuff.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
136 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
137
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
138 ifeq ($(strip $(cygwin)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
139 ifeq ($(strip $(SDL_INC_DIR)),please_set_me_cygwin_users)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
140 $(error Cygwin users need to set the SDL_INC_DIR envr var.)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
141 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
142 SDL_CFLAGS := -I$(SDL_INC_DIR)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
143 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
144
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
145 ifeq ($(strip $(SDL_LIB_DIR)),please_set_me_cygwin_users)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
146 $(error Cygwin users need to set the SDL_LIB_DIR envr var.)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
147 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
148 SDL_LDFLAGS := -L$(SDL_LIB_DIR) -lSDL
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
149 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
150
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
151 # !!! FIXME
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
152 build_dll := false
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
153 # !!! FIXME
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
154
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
155 ASM = nasmw
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
156 EXE_EXT = .exe
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
157 DLL_EXT = .dll
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
158 STATICLIB_EXT = .a
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
159 ASMOBJFMT = win32
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
160 ASMDEFS = -dC_IDENTIFIERS_UNDERSCORED
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
161 CFLAGS += -DC_IDENTIFIERS_UNDERSCORED
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
162 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
163 ASM = nasm
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
164 EXE_EXT =
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
165 DLL_EXT = .so
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
166 STATICLIB_EXT = .a
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
167 ASMOBJFMT = elf
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
168 SDL_CFLAGS := $(shell sdl-config --cflags)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
169 SDL_LDFLAGS := $(shell sdl-config --libs)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
170 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
171
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
172 CFLAGS += $(SDL_CFLAGS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
173 LDFLAGS += $(SDL_LDFLAGS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
174
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
175 ifeq ($(strip $(build_dll)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
176 LIB_EXT := $(DLL_EXT)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
177 SHAREDFLAGS += -shared
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
178 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
179 LIB_EXT := $(STATICLIB_EXT)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
180 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
181
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
182 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
183 # Version crapola.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
184 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
185 VERMAJOR := $(shell grep "define SOUND_VER_MAJOR" SDL_sound.h | sed "s/\#define SOUND_VER_MAJOR //")
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
186 VERMINOR := $(shell grep "define SOUND_VER_MINOR" SDL_sound.h | sed "s/\#define SOUND_VER_MINOR //")
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
187 VERPATCH := $(shell grep "define SOUND_VER_PATCH" SDL_sound.h | sed "s/\#define SOUND_VER_PATCH //")
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
188
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
189 VERMAJOR := $(strip $(VERMAJOR))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
190 VERMINOR := $(strip $(VERMINOR))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
191 VERPATCH := $(strip $(VERPATCH))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
192
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
193 VERFULL := $(VERMAJOR).$(VERMINOR).$(VERPATCH)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
194
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
195 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
196 # General compiler, assembler, and linker flags.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
197 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
198
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
199 BINDIR := bin
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
200 SRCDIR := .
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
201
18
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
202 CFLAGS := -I$(SRCDIR) $(CFLAGS)
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
203 CFLAGS += $(use_asm) -D_REENTRANT -fsigned-char -DPLATFORM_UNIX
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
204 CFLAGS += -Wall -Werror -fno-exceptions -fno-rtti -ansi -pedantic
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
205
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
206 LDFLAGS += -lm
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
207
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
208 ifeq ($(strip $(debugging)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
209 CFLAGS += -DDEBUG -g -fno-omit-frame-pointer
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
210 LDFLAGS += -g -fno-omit-frame-pointer
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
211 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
212 CFLAGS += -DNDEBUG -O2 -fomit-frame-pointer
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
213 LDFLAGS += -O2 -fomit-frame-pointer
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
214 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
215
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
216 ifeq ($(strip $(debugging_chatter)),true)
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
217 CFLAGS += -DDEBUG_CHATTER
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
218 endif
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
219
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
220 ASMFLAGS := -f $(ASMOBJFMT) $(ASMDEFS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
221
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
222 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
223 # Source and target names.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
224 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
225
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
226 PUREBASELIBNAME := SDL_sound
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
227 ifeq ($(strip $(cygwin)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
228 BASELIBNAME := $(strip $(PUREBASELIBNAME))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
229 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
230 BASELIBNAME := lib$(strip $(PUREBASELIBNAME))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
231 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
232
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
233 MAINLIB := $(BINDIR)/$(strip $(BASELIBNAME))$(strip $(LIB_EXT))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
234
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
235 TESTSRCS := test/test_sdlsound.c
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
236
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
237 MAINSRCS := SDL_sound.c
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
238
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
239 need_extra_rwops := false
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
240 ifeq ($(strip $(use_decoder_raw)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
241 MAINSRCS += decoders/raw.c
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
242 CFLAGS += -DSOUND_SUPPORTS_RAW
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
243 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
244
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
245 ifeq ($(strip $(use_decoder_mp3)),true)
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
246 MAINSRCS += decoders/mp3.c
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
247 need_extra_rwops := true
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
248 CFLAGS += -DSOUND_SUPPORTS_MP3 $(shell smpeg-config --cflags)
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
249 LDFLAGS += $(shell smpeg-config --libs)
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
250 endif
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
251
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
252 ifeq ($(strip $(use_decoder_voc)),true)
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
253 MAINSRCS += decoders/voc.c
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
254 CFLAGS += -DSOUND_SUPPORTS_VOC
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
255 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
256
18
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
257 ifeq ($(strip $(use_decoder_wav)),true)
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
258 MAINSRCS += decoders/wav.c
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
259 CFLAGS += -DSOUND_SUPPORTS_WAV
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
260 endif
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
261
35
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
262 ifeq ($(strip $(use_decoder_aiff)),true)
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
263 MAINSRCS += decoders/aiff.c
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
264 CFLAGS += -DSOUND_SUPPORTS_AIFF
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
265 endif
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
266
27
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
267 ifeq ($(strip $(use_decoder_ogg)),true)
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
268 MAINSRCS += decoders/ogg.c
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
269 CFLAGS += -DSOUND_SUPPORTS_OGG
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
270 LDFLAGS += -lvorbisfile -lvorbis
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
271 endif
ba49bdd9ea33 Ogg Vorbis support.
Ryan C. Gordon <icculus@icculus.org>
parents: 18
diff changeset
272
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
273 ifeq ($(strip $(need_extra_rwops)),true)
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
274 MAINSRCS += extra_rwops.c
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
275 endif
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
276
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
277 #ifeq ($(strip $(cygwin)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
278 # MAINSRCS += platform/win32.c
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
279 # CFLAGS += -DWIN32
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
280 #else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
281 # MAINSRCS += platform/unix.c
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
282 #endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
283
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
284 TESTEXE := $(BINDIR)/test_sdlsound$(EXE_EXT)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
285
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
286 # Rule for getting list of objects from source
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
287 MAINOBJS1 := $(MAINSRCS:.c=.o)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
288 MAINOBJS2 := $(MAINOBJS1:.cpp=.o)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
289 MAINOBJS3 := $(MAINOBJS2:.asm=.o)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
290 MAINOBJS := $(foreach f,$(MAINOBJS3),$(BINDIR)/$(f))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
291 MAINSRCS := $(foreach f,$(MAINSRCS),$(SRCDIR)/$(f))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
292
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
293 TESTOBJS1 := $(TESTSRCS:.c=.o)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
294 TESTOBJS2 := $(TESTOBJS1:.cpp=.o)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
295 TESTOBJS3 := $(TESTOBJS2:.asm=.o)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
296 TESTOBJS := $(foreach f,$(TESTOBJS3),$(BINDIR)/$(f))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
297 TESTSRCS := $(foreach f,$(TESTSRCS),$(SRCDIR)/$(f))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
298
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
299 CLEANUP = $(wildcard *.exe) $(wildcard *.obj) \
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
300 $(wildcard $(BINDIR)/*.exe) $(wildcard $(BINDIR)/*.obj) \
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
301 $(wildcard *~) $(wildcard *.err) \
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
302 $(wildcard .\#*) core
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
303
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
304
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
305 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
306 # Rules.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
307 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
308
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
309 # Rules for turning source files into .o files
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
310 $(BINDIR)/%.o: $(SRCDIR)/%.cpp
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
311 $(CC) -c -o $@ $< $(CFLAGS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
312
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
313 $(BINDIR)/%.o: $(SRCDIR)/%.c
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
314 $(CC) -c -o $@ $< $(CFLAGS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
315
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
316 $(BINDIR)/%.o: $(SRCDIR)/%.asm
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
317 $(ASM) $(ASMFLAGS) -o $@ $<
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
318
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
319 .PHONY: all clean distclean listobjs install showcfg showflags
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
320
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
321 all: $(BINDIR) $(EXTRABUILD) $(MAINLIB) $(TESTEXE)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
322
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
323 $(MAINLIB) : $(BINDIR) $(MAINOBJS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
324 $(LINKER) -o $(MAINLIB) $(SHAREDFLAGS) $(MAINOBJS) $(LDFLAGS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
325
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
326 $(TESTEXE) : $(MAINLIB) $(TESTOBJS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
327 $(LINKER) -o $(TESTEXE) $(TESTLDFLAGS) $(TESTOBJS) -L$(BINDIR) -l$(strip $(PUREBASELIBNAME)) $(LDFLAGS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
328
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
329
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
330 install: all
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
331 rm -f $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERMAJOR)).$(strip $(VERMINOR)).*
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
332 mkdir -p $(install_prefix)/bin
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
333 mkdir -p $(install_prefix)/lib
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
334 mkdir -p $(install_prefix)/include
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
335 cp $(SRCDIR)/SDL_sound.h $(install_prefix)/include
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
336 cp $(TESTEXE) $(install_prefix)/bin
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
337 ifeq ($(strip $(cygwin)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
338 cp $(MAINLIB) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
339 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
340 cp $(MAINLIB) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
341 ln -sf $(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL)) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
342 ln -sf $(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL)) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERMAJOR))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
343 chmod 0755 $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL))
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
344 chmod 0644 $(install_prefix)/include/SDL_sound.h
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
345 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
346
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
347 $(BINDIR):
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
348 mkdir -p $(BINDIR)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
349 mkdir -p $(BINDIR)/decoders
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
350 mkdir -p $(BINDIR)/platform
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
351 mkdir -p $(BINDIR)/test
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
352
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
353 distclean: clean
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
354
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
355 clean:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
356 rm -f $(CLEANUP)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
357 rm -rf $(BINDIR)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
358
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
359 listobjs:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
360 @echo SOURCES:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
361 @echo $(MAINSRCS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
362 @echo
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
363 @echo OBJECTS:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
364 @echo $(MAINOBJS)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
365 @echo
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
366 @echo BINARIES:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
367 @echo $(MAINLIB)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
368
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
369 showcfg:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
370 @echo "Compiler : $(CC)"
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
371 @echo "Using CygWin : $(cygwin)"
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
372 @echo "Debugging : $(debugging)"
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
373 @echo "Debugging chatter : $(debugging_chatter)"
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
374 @echo "ASM flag : $(use_asm)"
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
375 @echo "SDL_sound version : $(VERFULL)"
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
376 @echo "Building DLLs : $(build_dll)"
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
377 @echo "Install prefix : $(install_prefix)"
18
0b66213eb422 Added WAV support.
Ryan C. Gordon <icculus@icculus.org>
parents: 6
diff changeset
378 @echo "Supports .WAV : $(use_decoder_wav)"
35
36f27ef8bebe Added AIFF support.
Ryan C. Gordon <icculus@icculus.org>
parents: 31
diff changeset
379 @echo "Supports .AIFF : $(use_decoder_aiff)"
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
380 @echo "Supports .RAW : $(use_decoder_raw)"
6
3f214fe4a82f Added debugging_chatter flag, and VOC and MP3 decoders.
Ryan C. Gordon <icculus@icculus.org>
parents: 4
diff changeset
381 @echo "Supports .MP3 : $(use_decoder_mp3)"
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
382 @echo "Supports .VOC : $(use_decoder_voc)"
31
530fa59d5db9 Added Ogg Vorbis to "showcfg" target.
Ryan C. Gordon <icculus@icculus.org>
parents: 27
diff changeset
383 @echo "Supports .OGG : $(use_decoder_ogg)"
4
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
384
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
385 showflags:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
386 @echo 'CFLAGS : $(CFLAGS)'
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
387 @echo 'LDFLAGS : $(LDFLAGS)'
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
388
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
389
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
390 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
391 # This section is pretty much just for Ryan's use to make distributions.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
392 # You Probably Should Not Touch.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
393 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
394
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
395 # These are the files needed in a binary distribution, regardless of what
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
396 # platform is being used.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
397 BINSCOMMON := LICENSE CHANGELOG SDL_sound.h
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
398
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
399 .PHONY: package msbins win32bins nocygwin
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
400 package: clean
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
401 cd .. ; mv SDL_sound SDL_sound-$(VERFULL) ; tar -cyvvf ./SDL_sound-$(VERFULL).tar.bz2 --exclude="*CVS*" SDL_sound-$(VERFULL) ; mv SDL_sound-$(VERFULL) SDL_sound
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
402
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
403
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
404 ifeq ($(strip $(cygwin)),true)
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
405 msbins: win32bins
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
406
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
407 win32bins: clean all
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
408 cp $(SDL_LIB_DIR)/SDL.dll .
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
409 echo -e "\r\n\r\n\r\nHEY YOU.\r\n\r\n\r\nTake a look at README-win32bins.txt FIRST.\r\n\r\n\r\n--ryan. (icculus@clutteredmind.org)\r\n\r\n" |zip -9rz ../SDL_sound-win32bins-$(shell date +%m%d%Y).zip $(MAINLIB) SDL.dll $(EXTRAPACKAGELIBS) README-win32bins.txt
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
410
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
411 else
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
412
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
413 msbins: nocygwin
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
414 win32bins: nocygwin
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
415
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
416 nocygwin:
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
417 @echo This must be done on a Windows box in the Cygwin environment.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
418
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
419 endif
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
420
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
421 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
422 # That's all, folks.
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
423 #-----------------------------------------------------------------------------#
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
424
341cea3e13c6 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
425 # end of Makefile ...