1159b3361Sopenharmony_ci#	Makefile.MSVC: MSVC Makefile for LAME
2159b3361Sopenharmony_ci#
3159b3361Sopenharmony_ci#	2000-2010 Robert Hegemann
4159b3361Sopenharmony_ci#	dedicated to the LAME project https://lame.sourceforge.io/
5159b3361Sopenharmony_ci###############################################################################
6159b3361Sopenharmony_ci
7159b3361Sopenharmony_ci
8159b3361Sopenharmony_ci
9159b3361Sopenharmony_ci#__ readme ____________________________________________________________________
10159b3361Sopenharmony_ci#	nmake -f Makefile.MSVC
11159b3361Sopenharmony_ci#		-> build lame, but not mp3x
12159b3361Sopenharmony_ci#		-> use Robert's code modifications
13159b3361Sopenharmony_ci#		-> assume MSVC 6.0 compiler available
14159b3361Sopenharmony_ci#		-> assume NASM available
15159b3361Sopenharmony_ci#		-> assemble MMX code with NASM
16159b3361Sopenharmony_ci#		-> no compiler warnings
17159b3361Sopenharmony_ci#       -> use single precision float
18159b3361Sopenharmony_ci#
19159b3361Sopenharmony_ci#	passing arguments, one can modify the default behaviour:
20159b3361Sopenharmony_ci#	COMP=<not INTEL or BCC>    ->  use MS compiler
21159b3361Sopenharmony_ci#	WARN=<anything but OFF>    ->  give verbose compiler warnings
22159b3361Sopenharmony_ci#	ASM=<anything but YES>     ->  no NASM nor MMX
23159b3361Sopenharmony_ci#	MMX=<anything but YES>     ->  do not assemble MMX code
24159b3361Sopenharmony_ci#	CFG=<anything but RH>      ->  disable Robert's modifications
25159b3361Sopenharmony_ci#	CPU=P1                     ->  optimize for Pentium instead of P II/III
26159b3361Sopenharmony_ci#	CPU=P2                     ->  optimize for Pentium II/III, you need a PII or better
27159b3361Sopenharmony_ci#	CPU=P3                     ->  optimize for Pentium III, you need a PIII or better
28159b3361Sopenharmony_ci#	GTK=YES                    ->  have GTK, adds mp3x to default targets
29159b3361Sopenharmony_ci#	PREC=<anything but SINGLE> ->  use double instead of single float
30159b3361Sopenharmony_ci#	SNDFILE=<anything but YES> ->  do not use LibSndfile for reading input files
31159b3361Sopenharmony_ci#
32159b3361Sopenharmony_ci#	Example:
33159b3361Sopenharmony_ci#	nmake -f Makefile.MSVC CPU=P1 GTK=YES
34159b3361Sopenharmony_ci#____________________________________________________________________ readme __
35159b3361Sopenharmony_ci
36159b3361Sopenharmony_ci
37159b3361Sopenharmony_ci
38159b3361Sopenharmony_ci#	targets <-> DOS filenames
39159b3361Sopenharmony_ci
40159b3361Sopenharmony_ciT_LAME = lame.exe
41159b3361Sopenharmony_ciT_MP3X = mp3x.exe
42159b3361Sopenharmony_ciT_MP3RTP = mp3rtp.exe
43159b3361Sopenharmony_ciT_DLL = libmp3lame.dll
44159b3361Sopenharmony_ciT_LIB_DYNAMIC = libmp3lame.lib
45159b3361Sopenharmony_ciT_LIB_STATIC = libmp3lame-static.lib
46159b3361Sopenharmony_ciT_LEGACY_DLL = lame_enc.dll
47159b3361Sopenharmony_ci
48159b3361Sopenharmony_ciTARGET_DIR = .\output\ 
49159b3361Sopenharmony_ci
50159b3361Sopenharmony_ci#	default targets
51159b3361Sopenharmony_ci
52159b3361Sopenharmony_ciPGM = $(T_LAME)
53159b3361Sopenharmony_ci
54159b3361Sopenharmony_ci#	some default settings
55159b3361Sopenharmony_ci
56159b3361Sopenharmony_ci!	IF "$(MSVCVER)" != ""
57159b3361Sopenharmony_ciCOMP = MS
58159b3361Sopenharmony_ci!	IF "$(MSVCVER)" == "Win64"
59159b3361Sopenharmony_ci!	IF "$(ASM)" == ""
60159b3361Sopenharmony_ciASM = NO # or it could be ML64 if we want to use it...
61159b3361Sopenharmony_ciGTK = NO
62159b3361Sopenharmony_ci!	ENDIF
63159b3361Sopenharmony_ci!	ENDIF
64159b3361Sopenharmony_ci!	ELSE
65159b3361Sopenharmony_ci!	IF "$(COMP)" == ""
66159b3361Sopenharmony_ciCOMP = MSVC
67159b3361Sopenharmony_ci!	ENDIF
68159b3361Sopenharmony_ci!	ENDIF
69159b3361Sopenharmony_ci
70159b3361Sopenharmony_ci!	IF "$(ASM)" == ""
71159b3361Sopenharmony_ciASM = YES
72159b3361Sopenharmony_ci!	ENDIF
73159b3361Sopenharmony_ci
74159b3361Sopenharmony_ci!	IF "$(MMX)" == ""
75159b3361Sopenharmony_ciMMX = YES
76159b3361Sopenharmony_ci!	ENDIF
77159b3361Sopenharmony_ci
78159b3361Sopenharmony_ci!	IF "$(CFG)" == ""
79159b3361Sopenharmony_ciCFG = RH
80159b3361Sopenharmony_ci!	ENDIF
81159b3361Sopenharmony_ci
82159b3361Sopenharmony_ci!	IF "$(CPU)" == ""
83159b3361Sopenharmony_ciCPU = P2auto
84159b3361Sopenharmony_ci!if "$(PROCESSOR_LEVEL)"=="6"
85159b3361Sopenharmony_ciCPU = P6
86159b3361Sopenharmony_ci!endif
87159b3361Sopenharmony_ci!	ENDIF
88159b3361Sopenharmony_ci
89159b3361Sopenharmony_ci!	IF "$(WARN)" == ""
90159b3361Sopenharmony_ciWARN = OFF
91159b3361Sopenharmony_ci!	ENDIF
92159b3361Sopenharmony_ci
93159b3361Sopenharmony_ci!	IF "$(PREC)" == ""
94159b3361Sopenharmony_ciPREC = SINGLE
95159b3361Sopenharmony_ci!	ENDIF
96159b3361Sopenharmony_ci
97159b3361Sopenharmony_ci!	IF "$(SNDFILE)" == ""
98159b3361Sopenharmony_ciSNDFILE = NO
99159b3361Sopenharmony_ci!	ENDIF
100159b3361Sopenharmony_ci
101159b3361Sopenharmony_ciOFF = win32
102159b3361Sopenharmony_ciMACHINE = /machine:I386
103159b3361Sopenharmony_ciLIB_OPTS = /nologo $(MACHINE) 
104159b3361Sopenharmony_ci
105159b3361Sopenharmony_ci!	MESSAGE ----------------------------------------------------------------------
106159b3361Sopenharmony_ci!	IF "$(CFG)" == ""
107159b3361Sopenharmony_ci!	 MESSAGE building LAME
108159b3361Sopenharmony_ci!	ELSE
109159b3361Sopenharmony_ci!	 MESSAGE building LAME featuring $(CFG)
110159b3361Sopenharmony_ci!	ENDIF
111159b3361Sopenharmony_ci!	IF "$(ASM)" == "YES"
112159b3361Sopenharmony_ci!	 MESSAGE + ASM
113159b3361Sopenharmony_ci!	 IF "$(MMX)" == "YES"
114159b3361Sopenharmony_ci!	  MESSAGE + MMX
115159b3361Sopenharmony_ci!	 ENDIF
116159b3361Sopenharmony_ci!	ENDIF
117159b3361Sopenharmony_ci!	IF "$(GTK)" == "YES"
118159b3361Sopenharmony_ci!	 MESSAGE + GTK
119159b3361Sopenharmony_ci!	ENDIF
120159b3361Sopenharmony_ci!	IF "$(COMP)" == "INTEL"
121159b3361Sopenharmony_ci!	 MESSAGE using INTEL COMPILER
122159b3361Sopenharmony_ci!	 IF "$(CPU)" == "P1"
123159b3361Sopenharmony_ci!	  MESSAGE + optimizing for Pentium (MMX)
124159b3361Sopenharmony_ci!	 ELSE
125159b3361Sopenharmony_ci!	  IF "$(CPU)" == "P2"
126159b3361Sopenharmony_ci!	   MESSAGE + you need a Pentium II or better
127159b3361Sopenharmony_ci!	  ELSE
128159b3361Sopenharmony_ci!	   IF "$(CPU)" == "P3"
129159b3361Sopenharmony_ci!	    MESSAGE + you need a Pentium III or better
130159b3361Sopenharmony_ci!	   ELSE
131159b3361Sopenharmony_ci!	    MESSAGE + optimizing for Pentium II/III
132159b3361Sopenharmony_ci!	   ENDIF
133159b3361Sopenharmony_ci!	  ENDIF
134159b3361Sopenharmony_ci!	 ENDIF
135159b3361Sopenharmony_ci!	ELSE
136159b3361Sopenharmony_ci!	 IF "$(MSVCVER)" == "6.0"
137159b3361Sopenharmony_ci!	  MESSAGE + using MSVC 6.0 32-Bit Compiler
138159b3361Sopenharmony_ci!	  IF "$(CPU)" == "P1"
139159b3361Sopenharmony_ci!	   MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
140159b3361Sopenharmony_ci!	  ELSE
141159b3361Sopenharmony_ci!	   MESSAGE + optimizing for Pentium II/III
142159b3361Sopenharmony_ci!	  ENDIF
143159b3361Sopenharmony_ci!	 ELSEIF "$(MSVCVER)" == "8.0"
144159b3361Sopenharmony_ci!	  MESSAGE + using MSVC 8.0 32-Bit Compiler
145159b3361Sopenharmony_ci!	  IF "$(CPU)" == "P1"
146159b3361Sopenharmony_ci!	   MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
147159b3361Sopenharmony_ci!	  ELSE
148159b3361Sopenharmony_ci!	   MESSAGE + optimizing for Pentium II/III
149159b3361Sopenharmony_ci!	  ENDIF
150159b3361Sopenharmony_ci!	 ELSE
151159b3361Sopenharmony_ci!	  IF "$(MSVCVER)" == "Win64"
152159b3361Sopenharmony_ci!	   MESSAGE + using MS 64-Bit Compiler
153159b3361Sopenharmony_ci!	  ELSE
154159b3361Sopenharmony_ci!	   MESSAGE using MS COMPILER
155159b3361Sopenharmony_ci!	   IF "$(CPU)" == "P1"
156159b3361Sopenharmony_ci!	    MESSAGE + optimizing for Pentium (MMX) (may slow down PIII a few percent)
157159b3361Sopenharmony_ci!	   ELSE
158159b3361Sopenharmony_ci!	    MESSAGE + optimizing for Pentium II/III
159159b3361Sopenharmony_ci!	   ENDIF
160159b3361Sopenharmony_ci!	  ENDIF
161159b3361Sopenharmony_ci!	 ENDIF
162159b3361Sopenharmony_ci!	ENDIF
163159b3361Sopenharmony_ci!	IF "$(PREC)" == "SINGLE"
164159b3361Sopenharmony_ci!	 MESSAGE + using Single precision
165159b3361Sopenharmony_ci!	ENDIF
166159b3361Sopenharmony_ci!	IF "$(SNDFILE)" == "YES"
167159b3361Sopenharmony_ci!	 MESSAGE + using LibSndfile reading input files
168159b3361Sopenharmony_ci!	ENDIF
169159b3361Sopenharmony_ci!	MESSAGE ----------------------------------------------------------------------
170159b3361Sopenharmony_ci
171159b3361Sopenharmony_ci!	IF "$(COMP)" != "INTEL"
172159b3361Sopenharmony_ci!	IF "$(COMP)" != "BCC"
173159b3361Sopenharmony_ci
174159b3361Sopenharmony_ci#__ Microsoft C options _______________________________________________________
175159b3361Sopenharmony_ci#
176159b3361Sopenharmony_ci#	/O2     maximize speed
177159b3361Sopenharmony_ci#	/Ob<n>  inline expansion
178159b3361Sopenharmony_ci#	/Og     enable global optimizations
179159b3361Sopenharmony_ci#	/Oi     enable intrinsic functions
180159b3361Sopenharmony_ci#	/Ot     favor code speed
181159b3361Sopenharmony_ci#	/Oy     enable frame pointer omission
182159b3361Sopenharmony_ci#	/G5     Pentium optimization
183159b3361Sopenharmony_ci#	/G6     Pentium II/III optimization
184159b3361Sopenharmony_ci#	/GA     optimize for Windows Application
185159b3361Sopenharmony_ci#	/GF     enable read-only string pooling
186159b3361Sopenharmony_ci#	/Gf     enable string spooling
187159b3361Sopenharmony_ci#	/Gs     disable stack checking calls
188159b3361Sopenharmony_ci#	/Gy     separate functions for linker
189159b3361Sopenharmony_ci#	/QIfdiv generate code for Pentium FDIV fix
190159b3361Sopenharmony_ci#	/QI0f   generate code for Pentium 0x0f erratum fix
191159b3361Sopenharmony_ci#
192159b3361Sopenharmony_ci#	remarks:
193159b3361Sopenharmony_ci#	 - aliasing options seem to break code
194159b3361Sopenharmony_ci#	 - try to get the Intel compiler demonstration code!
195159b3361Sopenharmony_ci#	   ICL produces faster code.
196159b3361Sopenharmony_ci
197159b3361Sopenharmony_ci# debugging options
198159b3361Sopenharmony_ci# CC_OPTS = /nologo /Zi /Ge /GZ
199159b3361Sopenharmony_ci# LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no
200159b3361Sopenharmony_ci
201159b3361Sopenharmony_ci# profiling options
202159b3361Sopenharmony_ci# CC_OPTS = /nologo /Zi /O2b2gity /G6As /DNDEBUG
203159b3361Sopenharmony_ci# LN_OPTS = /nologo /debug:full /debugtype:cv /fixed:no /profile
204159b3361Sopenharmony_ci
205159b3361Sopenharmony_ci# release options
206159b3361Sopenharmony_ci!	IF "$(MSVCVER)" == "Win64"
207159b3361Sopenharmony_ciCC_OPTS = /nologo /DWin64 /O2b2ity /GAy /Gs1024 /Zp8 /GL /GS- /Zi
208159b3361Sopenharmony_ci!	ELSEIF "$(MSVCVER)" == "8.0"
209159b3361Sopenharmony_ciCC_OPTS = /nologo /O2 /Wp64 /Oi /GL /arch:SSE /fp:precise
210159b3361Sopenharmony_ci!	ELSEif "$(CPU)"=="P6"
211159b3361Sopenharmony_ciCC_OPTS = /nologo /O2 /Ob2 /GAy /Gs1024 /Zp8 /Zi
212159b3361Sopenharmony_ci!else
213159b3361Sopenharmony_ciCC_OPTS = /nologo /O2 /Ob2 /GAy /Gs1024 /QIfdiv /QI0f /YX
214159b3361Sopenharmony_ci!	ENDIF
215159b3361Sopenharmony_ci
216159b3361Sopenharmony_ci!	IF "$(MSVCVER)" == "6.0"
217159b3361Sopenharmony_ci!	IF "$(CPU)" == "P1"
218159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /G5
219159b3361Sopenharmony_ci!	ELSE
220159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /G6
221159b3361Sopenharmony_ci!	ENDIF
222159b3361Sopenharmony_ci!	ENDIF
223159b3361Sopenharmony_ci
224159b3361Sopenharmony_ci!	IF "$(WARN)" == "OFF"
225159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /w
226159b3361Sopenharmony_ci!	ELSE
227159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /W$(WARN)
228159b3361Sopenharmony_ci!	ENDIF
229159b3361Sopenharmony_ci
230159b3361Sopenharmony_ci!	IF "$(PREC)" == "SINGLE"
231159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1
232159b3361Sopenharmony_ci!	ENDIF
233159b3361Sopenharmony_ci
234159b3361Sopenharmony_ci# temporary remove NDEBUG, see configure.in
235159b3361Sopenharmony_ci#CC_OPTS = $(CC_OPTS) /DNDEBUG /MT
236159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /MT
237159b3361Sopenharmony_ci
238159b3361Sopenharmony_ciLN_OPTS = /nologo /pdb:none
239159b3361Sopenharmony_ciLN_DLL = /nologo /DLL
240159b3361Sopenharmony_ci
241159b3361Sopenharmony_ciCC_OUT = /Fo
242159b3361Sopenharmony_ciLN_OUT = /OUT:
243159b3361Sopenharmony_ci
244159b3361Sopenharmony_ciCC = cl
245159b3361Sopenharmony_ciLN = link
246159b3361Sopenharmony_ci
247159b3361Sopenharmony_ci#_______________________________________________________ Microsoft C options __
248159b3361Sopenharmony_ci
249159b3361Sopenharmony_ci
250159b3361Sopenharmony_ci!	ELSE
251159b3361Sopenharmony_ci
252159b3361Sopenharmony_ci#__ Borland BCC options _______________________________________________________
253159b3361Sopenharmony_ci#
254159b3361Sopenharmony_ci#	first draft, DLL not working, generates very slow code!
255159b3361Sopenharmony_ciBCCINST = C:/Borland/BCC55
256159b3361Sopenharmony_ci
257159b3361Sopenharmony_ciCC_OPTS = -pc -q -ff -fp -jb -j1 -tWC -tWM -O2 -OS -I$(BCCINST)/include -DNDEBUG -DWIN32
258159b3361Sopenharmony_ci# dll >> -tWD
259159b3361Sopenharmony_ciLN_OPTS = -lGn -lGi -lap -lx -L$(BCCINST)/lib
260159b3361Sopenharmony_ci# dll >> -Tpd
261159b3361Sopenharmony_ci!	IF "$(CPU)" == "P1"
262159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) -5
263159b3361Sopenharmony_ci!	ELSE
264159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) -6
265159b3361Sopenharmony_ci!	ENDIF
266159b3361Sopenharmony_ci
267159b3361Sopenharmony_ci!	IF "$(WARN)" == "OFF"
268159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) -w-
269159b3361Sopenharmony_ci!	ELSE
270159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS)
271159b3361Sopenharmony_ci!	ENDIF
272159b3361Sopenharmony_ci
273159b3361Sopenharmony_ciLN_DLL =
274159b3361Sopenharmony_ci#$(CCINST)/lib/cw32R.lib
275159b3361Sopenharmony_ciLN_OUT = -e
276159b3361Sopenharmony_ciCC_OUT = -o
277159b3361Sopenharmony_ci
278159b3361Sopenharmony_ciCC = bcc32
279159b3361Sopenharmony_ciLN = bcc32
280159b3361Sopenharmony_ci
281159b3361Sopenharmony_ciOFF = obj
282159b3361Sopenharmony_ci
283159b3361Sopenharmony_ci!	ENDIF
284159b3361Sopenharmony_ci#_______________________________________________________ Borland BCC options __
285159b3361Sopenharmony_ci
286159b3361Sopenharmony_ci
287159b3361Sopenharmony_ci!	ELSE
288159b3361Sopenharmony_ci
289159b3361Sopenharmony_ci#__ Intel 4.5 options _________________________________________________________
290159b3361Sopenharmony_ci#
291159b3361Sopenharmony_ci#	/YX         enable automatic precompiled header file creation/usage
292159b3361Sopenharmony_ci#	/Ox         maximum optimization same as /O2 without /Gfy
293159b3361Sopenharmony_ci#	/O2         same as /Gfsy /Ob1gyti
294159b3361Sopenharmony_ci#	/Gd      1) make cdecl the default calling convention
295159b3361Sopenharmony_ci#	/G5      2) optimized for Pentium
296159b3361Sopenharmony_ci#	/G6      3) optimized for Pentium II/III
297159b3361Sopenharmony_ci#	/GA         assume single threaded
298159b3361Sopenharmony_ci#	/Gs[n]      disable stack checks for functions with <n bytes of locals
299159b3361Sopenharmony_ci#	/GF         read-only string pooling optimization
300159b3361Sopenharmony_ci#	/Gy         separate functions for the linker
301159b3361Sopenharmony_ci#	/Qunroll    unroll loops with default heuristic
302159b3361Sopenharmony_ci#	/QIfist     enable fast float to int conversion
303159b3361Sopenharmony_ci#	/QIfdiv     enable patch for Pentium with FDIV erratum
304159b3361Sopenharmony_ci#	/QI0f       enable patch for Pentium with 0f erratum
305159b3361Sopenharmony_ci#	/Qip     2) enable single-file IP optimizations (within files)
306159b3361Sopenharmony_ci#	/Qipo       enable multi-file IP optimizations (between files)
307159b3361Sopenharmony_ci#	/Qipo_wp 4) enable entire program multi-file IP optimizations
308159b3361Sopenharmony_ci#	/QaxiMK     automatic use of specialized code for PII/III, MMX, SIMD
309159b3361Sopenharmony_ci#
310159b3361Sopenharmony_ci#	remarks:
311159b3361Sopenharmony_ci#	1) slows speed down, not using
312159b3361Sopenharmony_ci#	2) faster compared to 3) or 4) on Pentium MMX at 200 MHz
313159b3361Sopenharmony_ci
314159b3361Sopenharmony_ci!	IF "$(CPU)" == "P1"
315159b3361Sopenharmony_ciCC_OPTS = /G5 /QaxiMK /QIfdiv /QI0f
316159b3361Sopenharmony_ci!	ELSE
317159b3361Sopenharmony_ci!	IF "$(CPU)" == "P2"
318159b3361Sopenharmony_ciCC_OPTS = /G6 /Qxi /QaxMK
319159b3361Sopenharmony_ci!	ELSE
320159b3361Sopenharmony_ci!	IF "$(CPU)" == "P3"
321159b3361Sopenharmony_ciCC_OPTS = /G6 /QxiMK
322159b3361Sopenharmony_ci!	ELSE
323159b3361Sopenharmony_ciCC_OPTS = /G6 /QaxiMK /QIfdiv /QI0f
324159b3361Sopenharmony_ci!	ENDIF
325159b3361Sopenharmony_ci!	ENDIF
326159b3361Sopenharmony_ci!	ENDIF
327159b3361Sopenharmony_ci
328159b3361Sopenharmony_ci!	IF "$(WARN)" == "OFF"
329159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /w
330159b3361Sopenharmony_ci!	ELSE
331159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /W2 /Wport
332159b3361Sopenharmony_ci!	ENDIF
333159b3361Sopenharmony_ci
334159b3361Sopenharmony_ci!	IF "$(PREC)" == "SINGLE"
335159b3361Sopenharmony_ciCC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1
336159b3361Sopenharmony_ci!	ENDIF
337159b3361Sopenharmony_ci
338159b3361Sopenharmony_ciCC_OPTS = /nologo /DNDEBUG /YX /GA /Ox /Ob2 \
339159b3361Sopenharmony_ci          /Qunroll /Qsox- /Qip $(CC_OPTS)
340159b3361Sopenharmony_ci
341159b3361Sopenharmony_ci
342159b3361Sopenharmony_ciLN_OPTS = $(CC_OPTS)
343159b3361Sopenharmony_ciLN_DLL = /LD
344159b3361Sopenharmony_ciLN_OUT = /Fe
345159b3361Sopenharmony_ciCC_OUT = /Fo
346159b3361Sopenharmony_ci
347159b3361Sopenharmony_ciCC = icl
348159b3361Sopenharmony_ciLN = icl
349159b3361Sopenharmony_ci#_________________________________________________________ Intel 4.5 options __
350159b3361Sopenharmony_ci
351159b3361Sopenharmony_ci!	ENDIF
352159b3361Sopenharmony_ci
353159b3361Sopenharmony_ci
354159b3361Sopenharmony_ci
355159b3361Sopenharmony_ci#__ LIBSNDFILE ________________________________________________________________
356159b3361Sopenharmony_ci#
357159b3361Sopenharmony_ci#	uncomment the following if you want LibSndfile for input
358159b3361Sopenharmony_ci#	It's always a good idea to compile it in!
359159b3361Sopenharmony_ci#
360159b3361Sopenharmony_ci!	IF "$(SNDFILE)" == "YES"
361159b3361Sopenharmony_ciSNDFILE_OPTS = /DLIBSNDFILE
362159b3361Sopenharmony_ciLIBSNDFILE = $(SNDFILE_DIR)libsndfile.lib
363159b3361Sopenharmony_ci!   ENDIF
364159b3361Sopenharmony_ci#________________________________________________________________ LIBSNDFILE __
365159b3361Sopenharmony_ci
366159b3361Sopenharmony_ci
367159b3361Sopenharmony_ci
368159b3361Sopenharmony_ci#-- MISC --
369159b3361Sopenharmony_ciCPP_OPTS = /DHAVE_CONFIG_H -I.
370159b3361Sopenharmony_ci
371159b3361Sopenharmony_ci
372159b3361Sopenharmony_ci
373159b3361Sopenharmony_ci#__ FRAME ANALYZER SUPPORT ____________________________________________________
374159b3361Sopenharmony_ci#
375159b3361Sopenharmony_ci#	Assuming you have "glib-dev" and "gtk+-dev" installed and the system
376159b3361Sopenharmony_ci#	DLLs "glib-1.3.dll", "gdk-1.3.dll" and "gtk-1.3.dll" copied into the
377159b3361Sopenharmony_ci#	"Win\System" folder
378159b3361Sopenharmony_ci#
379159b3361Sopenharmony_ci#	To compile in the frame analyzer support, you need the above mentioned
380159b3361Sopenharmony_ci#	libraries. You can pass the appropriate path to them in GTK_DIRS.
381159b3361Sopenharmony_ci#
382159b3361Sopenharmony_ci!	IF "$(GTK)" == "YES"
383159b3361Sopenharmony_ci!	IF "$(GTK_DIRS)" == ""
384159b3361Sopenharmony_ciGTK_DIRS = ../3rdparty
385159b3361Sopenharmony_ci!	ENDIF
386159b3361Sopenharmony_ciGTK_OPTS = -I$(GTK_DIRS)/glib     \
387159b3361Sopenharmony_ci           -I$(GTK_DIRS)/gtk+     \
388159b3361Sopenharmony_ci           -I$(GTK_DIRS)/gtk+/gtk \
389159b3361Sopenharmony_ci           -I$(GTK_DIRS)/gtk+/gdk
390159b3361Sopenharmony_ciGTK_LIBS = $(GTK_DIRS)/gtk+/gtk/gtk-1.3.lib \
391159b3361Sopenharmony_ci           $(GTK_DIRS)/gtk+/gdk/gdk-1.3.lib \
392159b3361Sopenharmony_ci           $(GTK_DIRS)/glib/glib-1.3.lib
393159b3361Sopenharmony_ci
394159b3361Sopenharmony_ciPGM = $(T_MP3X) $(PGM)
395159b3361Sopenharmony_ci!	ELSE
396159b3361Sopenharmony_ci!	IF "$(GTK)" == ""
397159b3361Sopenharmony_ci!	MESSAGE Pass GTK=YES to build the frame analyzer. (requires installed GTK)
398159b3361Sopenharmony_ci!	ENDIF
399159b3361Sopenharmony_ci!	ENDIF
400159b3361Sopenharmony_ci#____________________________________________________ FRAME ANALYZER SUPPORT __
401159b3361Sopenharmony_ci
402159b3361Sopenharmony_ci
403159b3361Sopenharmony_ci
404159b3361Sopenharmony_ci#__ HIP DECODING ______________________________________________________________
405159b3361Sopenharmony_ci#
406159b3361Sopenharmony_ci#	uncomment the following if you want decoding support
407159b3361Sopenharmony_ci#	It's always a good idea to compile it in!
408159b3361Sopenharmony_ci#
409159b3361Sopenharmony_ciCPP_OPTS = $(CPP_OPTS) /DHAVE_MPGLIB
410159b3361Sopenharmony_ci#___________________________________________________________ HIP DECODING _____
411159b3361Sopenharmony_ci
412159b3361Sopenharmony_ci
413159b3361Sopenharmony_ci
414159b3361Sopenharmony_ci#__ Takehiro's IEEE hack ______________________________________________________
415159b3361Sopenharmony_ci#
416159b3361Sopenharmony_ci#	uncomment the following to enable Takehiro's IEEE hack
417159b3361Sopenharmony_ci#	You'll want it on a x86 machine with i387 FPU
418159b3361Sopenharmony_ci#
419159b3361Sopenharmony_ciCPP_OPTS = $(CPP_OPTS) /DTAKEHIRO_IEEE754_HACK
420159b3361Sopenharmony_ci#______________________________________________________ Takehiro's IEEE hack __
421159b3361Sopenharmony_ci
422159b3361Sopenharmony_ci
423159b3361Sopenharmony_ci
424159b3361Sopenharmony_ci#__ Robert's alternate code ___________________________________________________
425159b3361Sopenharmony_ci!	IF "$(CFG)" == "RH"
426159b3361Sopenharmony_ci!	IF "$(MSVCVER)" == "8.0"
427159b3361Sopenharmony_ciLIB_OPTS = $(LIB_OPTS) /LTCG
428159b3361Sopenharmony_ciLN_OPTS = $(LN_OPTS) /LTCG
429159b3361Sopenharmony_ci!   ENDIF
430159b3361Sopenharmony_ci!	ENDIF
431159b3361Sopenharmony_ci#___________________________________________________ Robert's alternate code __
432159b3361Sopenharmony_ci
433159b3361Sopenharmony_ci
434159b3361Sopenharmony_ci
435159b3361Sopenharmony_ciCC_SWITCHES = $(CC_OPTS) $(SNDFILE_OPTS) \
436159b3361Sopenharmony_ci              $(GTK_OPTS) /DBS_FORMAT=BINARY
437159b3361Sopenharmony_ci
438159b3361Sopenharmony_ciLN_SWITCHES = $(LN_OPTS)
439159b3361Sopenharmony_ci
440159b3361Sopenharmony_cilame_sources = \
441159b3361Sopenharmony_ci	frontend/lame_main.c
442159b3361Sopenharmony_ci
443159b3361Sopenharmony_cimpx_sources = \
444159b3361Sopenharmony_ci	frontend/gpkplotting.c \
445159b3361Sopenharmony_ci	frontend/gtkanal.c \
446159b3361Sopenharmony_ci	frontend/mp3x.c
447159b3361Sopenharmony_ci
448159b3361Sopenharmony_cimp3rtp_sources = \
449159b3361Sopenharmony_ci	frontend/rtp.c \
450159b3361Sopenharmony_ci	frontend/mp3rtp.c
451159b3361Sopenharmony_ci
452159b3361Sopenharmony_cidll_sources = \
453159b3361Sopenharmony_ci	dll/BladeMP3EncDll.c
454159b3361Sopenharmony_ci
455159b3361Sopenharmony_cicommon_sources = \
456159b3361Sopenharmony_ci	frontend/main.c \
457159b3361Sopenharmony_ci	frontend/get_audio.c \
458159b3361Sopenharmony_ci	frontend/parse.c \
459159b3361Sopenharmony_ci	frontend/timestatus.c \
460159b3361Sopenharmony_ci	frontend/lametime.c \
461159b3361Sopenharmony_ci	frontend/console.c \
462159b3361Sopenharmony_ci	frontend/brhist.c
463159b3361Sopenharmony_ci
464159b3361Sopenharmony_cilamelib_sources = \
465159b3361Sopenharmony_ci	libmp3lame/bitstream.c \
466159b3361Sopenharmony_ci	libmp3lame/encoder.c \
467159b3361Sopenharmony_ci	libmp3lame/fft.c \
468159b3361Sopenharmony_ci	libmp3lame/gain_analysis.c \
469159b3361Sopenharmony_ci	libmp3lame/id3tag.c \
470159b3361Sopenharmony_ci	libmp3lame/lame.c \
471159b3361Sopenharmony_ci	libmp3lame/newmdct.c \
472159b3361Sopenharmony_ci	libmp3lame/psymodel.c \
473159b3361Sopenharmony_ci	libmp3lame/quantize.c \
474159b3361Sopenharmony_ci	libmp3lame/quantize_pvt.c \
475159b3361Sopenharmony_ci	libmp3lame/vector/xmm_quantize_sub.c \
476159b3361Sopenharmony_ci	libmp3lame/set_get.c \
477159b3361Sopenharmony_ci	libmp3lame/vbrquantize.c \
478159b3361Sopenharmony_ci	libmp3lame/reservoir.c \
479159b3361Sopenharmony_ci	libmp3lame/tables.c \
480159b3361Sopenharmony_ci	libmp3lame/takehiro.c \
481159b3361Sopenharmony_ci	libmp3lame/util.c \
482159b3361Sopenharmony_ci	libmp3lame/mpglib_interface.c \
483159b3361Sopenharmony_ci	libmp3lame/VbrTag.c \
484159b3361Sopenharmony_ci	libmp3lame/presets.c \
485159b3361Sopenharmony_ci	libmp3lame/version.c
486159b3361Sopenharmony_ci
487159b3361Sopenharmony_cimpglib_sources = \
488159b3361Sopenharmony_ci	mpglib/common.c \
489159b3361Sopenharmony_ci	mpglib/dct64_i386.c \
490159b3361Sopenharmony_ci	mpglib/decode_i386.c \
491159b3361Sopenharmony_ci	mpglib/layer1.c \
492159b3361Sopenharmony_ci	mpglib/layer2.c \
493159b3361Sopenharmony_ci	mpglib/layer3.c \
494159b3361Sopenharmony_ci	mpglib/tabinit.c \
495159b3361Sopenharmony_ci	mpglib/interface.c
496159b3361Sopenharmony_ci
497159b3361Sopenharmony_ci
498159b3361Sopenharmony_ci!IF "$(MSVCVER)" == "Win64"
499159b3361Sopenharmony_ciADDL_OBJ = bufferoverflowU.lib
500159b3361Sopenharmony_ci!ENDIF
501159b3361Sopenharmony_ci
502159b3361Sopenharmony_ciLIB_OBJ = $(lamelib_sources:.c=.obj)
503159b3361Sopenharmony_ciHIP_OBJ = $(mpglib_sources:.c=.obj)
504159b3361Sopenharmony_ciCMMN_OBJ = $(common_sources:.c=.obj)
505159b3361Sopenharmony_ciLAME_OBJ = $(lame_sources:.c=.obj)
506159b3361Sopenharmony_ciMPX_OBJ = $(mpx_sources:.c=.obj)
507159b3361Sopenharmony_ciMPRTP_OBJ = $(mp3rtp_sources:.c=.obj)
508159b3361Sopenharmony_ciDLL_OBJ = $(dll_sources:.c=.obj)
509159b3361Sopenharmony_ci
510159b3361Sopenharmony_ci.c.obj:
511159b3361Sopenharmony_ci	@$(CC) $(CPP_OPTS) $(CC_SWITCHES) -Iinclude -Ilibmp3lame -Impglib \
512159b3361Sopenharmony_ci	       $(CC_OUT)$@  -c $<
513159b3361Sopenharmony_ci
514159b3361Sopenharmony_ci
515159b3361Sopenharmony_ci#__ MASM ______________________________________________________________________
516159b3361Sopenharmony_ci#
517159b3361Sopenharmony_ci#	MASM: Microsoft Assembler
518159b3361Sopenharmony_ci#
519159b3361Sopenharmony_ci!	IF "$(ASM)" == "ML64"
520159b3361Sopenharmony_ci#
521159b3361Sopenharmony_ci.SUFFIXES : .nas
522159b3361Sopenharmony_ci.nas.obj:
523159b3361Sopenharmony_ci	@echo $<
524159b3361Sopenharmony_ci	@ml64 -Ilibmp3lame\i386 -Sf -DWIN32 -DWIN64 $< -Fo$@
525159b3361Sopenharmony_ci
526159b3361Sopenharmony_ciCC_SWITCHES = $(CC_SWITCHES) -DHAVE_NASM
527159b3361Sopenharmony_ciASM_OBJ = $(ASM_OBJ) \
528159b3361Sopenharmony_ci	libmp3lame\i386\cpu_feat.obj \
529159b3361Sopenharmony_ci	libmp3lame\i386\fft3dn.obj \
530159b3361Sopenharmony_ci	libmp3lame\i386\fftsse.obj
531159b3361Sopenharmony_ci
532159b3361Sopenharmony_ci#	not yet coded
533159b3361Sopenharmony_ci#CC_SWITCHES = $(CC_SWITCHES) -DUSE_FFTFPU
534159b3361Sopenharmony_ci#ASM_OBJ = $(ASM_OBJ) libmp3lame\i386\fftfpu.obj
535159b3361Sopenharmony_ci#______________________________________________________________________ MASM __
536159b3361Sopenharmony_ci
537159b3361Sopenharmony_ci
538159b3361Sopenharmony_ci#__ NASM ______________________________________________________________________
539159b3361Sopenharmony_ci#
540159b3361Sopenharmony_ci#	NASM: Netwide Assembler
541159b3361Sopenharmony_ci#
542159b3361Sopenharmony_ci!	ELSEIF "$(ASM)" == "YES"
543159b3361Sopenharmony_ci#
544159b3361Sopenharmony_ci.SUFFIXES : .nas
545159b3361Sopenharmony_ci.nas.obj:
546159b3361Sopenharmony_ci	@echo $<
547159b3361Sopenharmony_ci	@nasmw -f $(OFF) -i libmp3lame/i386/ -DWIN32 $< -o $@
548159b3361Sopenharmony_ci
549159b3361Sopenharmony_ciCC_SWITCHES = $(CC_SWITCHES) /DHAVE_NASM
550159b3361Sopenharmony_ciASM_OBJ = $(ASM_OBJ) \
551159b3361Sopenharmony_ci	libmp3lame\i386\cpu_feat.obj \
552159b3361Sopenharmony_ci	libmp3lame\i386\fft3dn.obj \
553159b3361Sopenharmony_ci	libmp3lame\i386\fftsse.obj
554159b3361Sopenharmony_ci
555159b3361Sopenharmony_ci#	not yet coded
556159b3361Sopenharmony_ci#CC_SWITCHES = $(CC_SWITCHES) /DUSE_FFTFPU
557159b3361Sopenharmony_ci#ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/fftfpu.obj
558159b3361Sopenharmony_ci#______________________________________________________________________ NASM __
559159b3361Sopenharmony_ci
560159b3361Sopenharmony_ci!	ELSE
561159b3361Sopenharmony_ci!	MESSAGE Pass ASM=YES to build the assembler optimizations
562159b3361Sopenharmony_ci!	ENDIF
563159b3361Sopenharmony_ci
564159b3361Sopenharmony_ci
565159b3361Sopenharmony_ci#__ MMX _______________________________________________________________________
566159b3361Sopenharmony_ci#
567159b3361Sopenharmony_ci#	you need NASM but *not necessarily* a processor with MMX
568159b3361Sopenharmony_ci#	The above CPU feature detection code allows to run the same
569159b3361Sopenharmony_ci#	binary on a CPU without MMX too!
570159b3361Sopenharmony_ci#
571159b3361Sopenharmony_ci!	IF "$(ASM)" == "YES"
572159b3361Sopenharmony_ci!	IF "$(MMX)" == "YES"
573159b3361Sopenharmony_ciCC_SWITCHES = $(CC_SWITCHES) /DMMX_choose_table
574159b3361Sopenharmony_ciASM_OBJ = $(ASM_OBJ) libmp3lame/i386/choose_table.obj
575159b3361Sopenharmony_ci!	ENDIF
576159b3361Sopenharmony_ci!	ENDIF
577159b3361Sopenharmony_ci#_______________________________________________________________________ MMX __
578159b3361Sopenharmony_ci
579159b3361Sopenharmony_ci!	MESSAGE
580159b3361Sopenharmony_ci
581159b3361Sopenharmony_cino_target_specified :	$(PGM)
582159b3361Sopenharmony_ci	@echo.
583159b3361Sopenharmony_ci	@echo --=*  $(PGM) uptodate  *=--
584159b3361Sopenharmony_ci	@echo.
585159b3361Sopenharmony_ci
586159b3361Sopenharmony_citarget_directory :
587159b3361Sopenharmony_ci	@if not exist $(TARGET_DIR) mkdir $(TARGET_DIR)
588159b3361Sopenharmony_ci	
589159b3361Sopenharmony_cicommon:	$(CMMN_OBJ)
590159b3361Sopenharmony_ci	@echo.
591159b3361Sopenharmony_ci	@echo --- COMMON FRONTEND STUFF UPTODATE ---
592159b3361Sopenharmony_ci	@echo.
593159b3361Sopenharmony_ci
594159b3361Sopenharmony_cilibA:	$(LIB_OBJ)
595159b3361Sopenharmony_ci	@echo.
596159b3361Sopenharmony_ci	@echo --- LAME MP3 ENCODING LIBRARY UPTODATE ---
597159b3361Sopenharmony_ci	@echo.
598159b3361Sopenharmony_ci
599159b3361Sopenharmony_cilibB:	$(HIP_OBJ)
600159b3361Sopenharmony_ci	@echo.
601159b3361Sopenharmony_ci	@echo --- HIP DECODING LIBRARY UPTODATE ---
602159b3361Sopenharmony_ci	@echo.
603159b3361Sopenharmony_ci
604159b3361Sopenharmony_cilib: $(ASM_OBJ) libA libB
605159b3361Sopenharmony_ci
606159b3361Sopenharmony_cilame.res: ./libmp3lame/lame.rc
607159b3361Sopenharmony_ci	@rc.exe /d "NDEBUG" /d "_APP=lame.exe" /l 0x409 /fo"./frontend/lame.res" "./libmp3lame/lame.rc"
608159b3361Sopenharmony_ci
609159b3361Sopenharmony_cimp3rtp.res: ./libmp3lame/lame.rc
610159b3361Sopenharmony_ci	@rc.exe /d "NDEBUG" /d "_APP=mp3rtp.exe" /l 0x409 /fo"./frontend/mp3rtp.res" "./libmp3lame/lame.rc"
611159b3361Sopenharmony_ci
612159b3361Sopenharmony_cimp3x.res: ./libmp3lame/lame.rc
613159b3361Sopenharmony_ci	@rc.exe /d "NDEBUG" /d "_APP=mp3x.exe" /l 0x409 /fo"./frontend/mp3x.res" "./libmp3lame/lame.rc"
614159b3361Sopenharmony_ci
615159b3361Sopenharmony_cilame_enc.res: ./libmp3lame/lame.rc
616159b3361Sopenharmony_ci	@rc.exe /d "NDEBUG" /d "_DLL=lame_enc.dll" /l 0x409 /fo"./frontend/lame_enc.res" "./libmp3lame/lame.rc"
617159b3361Sopenharmony_ci
618159b3361Sopenharmony_ci$(T_LAME) : target_directory config.h $(T_LIB_STATIC) common $(LAME_OBJ) lame.res
619159b3361Sopenharmony_ci	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(LIBSNDFILE) \
620159b3361Sopenharmony_ci	       $(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(LAME_OBJ) $(ADDL_OBJ) \
621159b3361Sopenharmony_ci	       ./frontend/lame.res
622159b3361Sopenharmony_ci	@echo.
623159b3361Sopenharmony_ci	@echo --=*  $(TARGET_DIR)$@ ready  *=--
624159b3361Sopenharmony_ci	@echo.
625159b3361Sopenharmony_ci
626159b3361Sopenharmony_ci$(T_MP3X) : target_directory config.h lib common $(MPX_OBJ) mp3x.res
627159b3361Sopenharmony_ci	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(GTK_LIBS) $(LIBSNDFILE) \
628159b3361Sopenharmony_ci	       $(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(MPX_OBJ) $(ADDL_OBJ) \
629159b3361Sopenharmony_ci	       ./frontend/mp3x.res
630159b3361Sopenharmony_ci	@echo.
631159b3361Sopenharmony_ci	@echo --=*  $(TARGET_DIR)$@ ready  *=--
632159b3361Sopenharmony_ci	@echo.
633159b3361Sopenharmony_ci
634159b3361Sopenharmony_ci$(T_MP3RTP) : target_directory config.h lib common $(MPRTP_OBJ) mp3rtp.res
635159b3361Sopenharmony_ci	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) $(LIBSNDFILE) \
636159b3361Sopenharmony_ci	       $(TARGET_DIR)$(T_LIB_STATIC) $(CMMN_OBJ) $(MPRTP_OBJ) $(ADDL_OBJ) \
637159b3361Sopenharmony_ci	       ./frontend/mp3rtp.res wsock32.lib
638159b3361Sopenharmony_ci	@echo.
639159b3361Sopenharmony_ci	@echo --=*  $(TARGET_DIR)$@ ready  *=--
640159b3361Sopenharmony_ci	@echo.
641159b3361Sopenharmony_ci
642159b3361Sopenharmony_ci$(T_LEGACY_DLL) : target_directory config.h $(DLL_OBJ) lame_enc.res
643159b3361Sopenharmony_ci	@$(LN) $(LN_OUT)$(TARGET_DIR)$@ $(LN_SWITCHES) \
644159b3361Sopenharmony_ci	       $(TARGET_DIR)$(T_LIB_STATIC) $(LN_DLL) \
645159b3361Sopenharmony_ci	       $(DLL_OBJ) $(ADDL_OBJ) ./frontend/lame_enc.res user32.lib
646159b3361Sopenharmony_ci	@echo.
647159b3361Sopenharmony_ci	@echo --=*  $(TARGET_DIR)$@ ready  *=--
648159b3361Sopenharmony_ci	@echo.
649159b3361Sopenharmony_ci
650159b3361Sopenharmony_ci$(T_DLL) : target_directory config.h $(T_LIB_STATIC) 
651159b3361Sopenharmony_ci	@$(LN) $(LN_DLL) $(MACHINE) \
652159b3361Sopenharmony_ci		/DEF:"include\lame.def" \
653159b3361Sopenharmony_ci		$(ADDL_OBJ) \
654159b3361Sopenharmony_ci		$(LN_OUT)"$(TARGET_DIR)$@" \
655159b3361Sopenharmony_ci		$(TARGET_DIR)$(T_LIB_STATIC) libmp3lame\version.obj 
656159b3361Sopenharmony_ci	@echo.
657159b3361Sopenharmony_ci	@echo --=*  $(TARGET_DIR)$@ ready  *=--
658159b3361Sopenharmony_ci	@echo.
659159b3361Sopenharmony_ci
660159b3361Sopenharmony_ci$(T_LIB_STATIC) : target_directory lib
661159b3361Sopenharmony_ci	@lib $(LIB_OPTS) \
662159b3361Sopenharmony_ci		/OUT:"$(TARGET_DIR)$@" \
663159b3361Sopenharmony_ci		$(ASM_OBJ) $(LIB_OBJ) $(HIP_OBJ)
664159b3361Sopenharmony_ci	@echo.
665159b3361Sopenharmony_ci	@echo --=*  $(TARGET_DIR)$@ ready  *=--
666159b3361Sopenharmony_ci	@echo.
667159b3361Sopenharmony_ci		
668159b3361Sopenharmony_ciconfig.h : configMS.h
669159b3361Sopenharmony_ci	@-copy configMS.h config.h
670159b3361Sopenharmony_ci
671159b3361Sopenharmony_ciclean:
672159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_LAME)
673159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_MP3X)
674159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_MP3RTP)
675159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_DLL)
676159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_LIB_STATIC)
677159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_LIB_DYNAMIC)
678159b3361Sopenharmony_ci	@-del $(TARGET_DIR)$(T_LEGACY_DLL)
679159b3361Sopenharmony_ci	@-del lame.pdb
680159b3361Sopenharmony_ci	@-del icl.pch
681159b3361Sopenharmony_ci	@-del $(TARGET_DIR)lame_enc.*
682159b3361Sopenharmony_ci	@-del frontend\*.obj
683159b3361Sopenharmony_ci	@-del dll\*.obj
684159b3361Sopenharmony_ci	@-del mpglib\*.obj
685159b3361Sopenharmony_ci	@-del libmp3lame\*.obj
686159b3361Sopenharmony_ci	@-del libmp3lame\i386\*.obj
687159b3361Sopenharmony_ci	@-del libmp3lame\vector\*.obj
688159b3361Sopenharmony_ci	@-del libmp3lame\*.res
689159b3361Sopenharmony_ci	@-del frontend\*.res
690159b3361Sopenharmony_ci
691159b3361Sopenharmony_ci
692159b3361Sopenharmony_cirebuild: clean all
693159b3361Sopenharmony_ci
694159b3361Sopenharmony_ci
695159b3361Sopenharmony_cilame	:	$(T_LAME)
696159b3361Sopenharmony_cilame_enc:	$(T_LEGACY_DLL)
697159b3361Sopenharmony_cidll 	:	$(T_DLL) $(T_LEGACY_DLL) 
698159b3361Sopenharmony_cimp3x	:	$(T_MP3X)
699159b3361Sopenharmony_cimp3rtp	:	$(T_MP3RTP)
700159b3361Sopenharmony_ci
701159b3361Sopenharmony_ci
702159b3361Sopenharmony_ciall :	$(PGM) mp3rtp dll lame_enc 
703159b3361Sopenharmony_ci	@echo.
704159b3361Sopenharmony_ci	@echo --=*  all uptodate  *=--
705159b3361Sopenharmony_ci	@echo.
706