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