📄 makefile.msvc
字号:
! IF "$(CPU)" == "P1"CC_OPTS = /G5 /QaxiMK /QIfdiv /QI0f! ELSE! IF "$(CPU)" == "P2"CC_OPTS = /G6 /Qxi /QaxMK! ELSE! IF "$(CPU)" == "P3"CC_OPTS = /G6 /QxiMK! ELSECC_OPTS = /G6 /QaxiMK /QIfdiv /QI0f! ENDIF! ENDIF! ENDIF! IF "$(WARN)" == "OFF"CC_OPTS = $(CC_OPTS) /w! ELSECC_OPTS = $(CC_OPTS) /W2 /Wport! ENDIF! IF "$(PREC)" == "SINGLE"CC_OPTS = $(CC_OPTS) /DFLOAT8=float /DREAL_IS_FLOAT=1! ENDIFCC_OPTS = /nologo /DNDEBUG /YX /GA /Ox /Ob2 \ /Qunroll /Qsox- /Qip $(CC_OPTS)LN_OPTS = $(CC_OPTS)LN_DLL = /LDLN_OUT = /FeCC_OUT = /FoCC = iclLN = icl#_________________________________________________________ Intel 4.5 options __! ENDIF#-- MISC --SNDLIB = /DLAMESNDFILELIBSNDFILE =BRHIST_SWITCH = /DBRHISTTIMER_SWITCH =CPP_OPTS = /DHAVE_CONFIG_H -I.#__ FRAME ANALYZER SUPPORT ____________________________________________________## Assuming you have "glib-dev" and "gtk+-dev" installed and the system# DLLs "glib-1.3.dll", "gdk-1.3.dll" and "gtk-1.3.dll" copied into the# "Win\System" folder## To compile in the frame analyzer support, you need the above mentioned# libraries. You can pass the appropriate path to them in GTK_DIRS.#! IF "$(GTK)" == "YES"! IF "$(GTK_DIRS)" == ""GTK_DIRS = ../src! ENDIFGTK_OPTS = -I$(GTK_DIRS)/glib \ -I$(GTK_DIRS)/gtk+ \ -I$(GTK_DIRS)/gtk+/gtk \ -I$(GTK_DIRS)/gtk+/gdkGTK_LIBS = $(GTK_DIRS)/gtk+/gtk/gtk-1.3.lib \ $(GTK_DIRS)/gtk+/gdk/gdk-1.3.lib \ $(GTK_DIRS)/glib/glib-1.3.libPGM = $(T_MP3X) $(PGM)! ELSE! IF "$(GTK)" == ""! MESSAGE Pass GTK=YES to build the frame analyzer. (requires installed GTK)! ENDIF! ENDIF#____________________________________________________ FRAME ANALYZER SUPPORT __#__ MPG123 DECODING ___________________________________________________________## uncomment the following if you want decoding support# It's always a good idea to compile it in!#CPP_OPTS = $(CPP_OPTS) /DHAVE_MPGLIB /DUSE_LAYER_1 /DUSE_LAYER_2#___________________________________________________________ MPG123 DECODING __#__ Takehiro's IEEE hack ______________________________________________________## uncomment the following to enable Takehiro's IEEE hack# You'll want it on a x86 machine with i387 FPU#CPP_OPTS = $(CPP_OPTS) /DTAKEHIRO_IEEE754_HACK#______________________________________________________ Takehiro's IEEE hack __#__ Robert's alternate code ___________________________________________________! IF "$(CFG)" == "RH"CPP_OPTS = $(CPP_OPTS) !MESSAGE there is currently no alternate code by RH! ENDIF#___________________________________________________ Robert's alternate code __CC_SWITCHES = $(CC_OPTS) $(SNDLIB) $(BRHIST_SWITCH) \ $(TIMER_SWITCH) $(GTK_OPTS) /DBS_FORMAT=BINARYLN_SWITCHES = $(LN_OPTS)lame_sources = \ frontend/main.cmpx_sources = \ frontend/gpkplotting.c \ frontend/gtkanal.c \ frontend/mp3x.cdll_sources = \ dll/BladeMP3EncDll.ccommon_sources = \ frontend/portableio.c \ frontend/get_audio.c \ frontend/parse.c \ frontend/timestatus.c \ frontend/lametime.c \ frontend/brhist.clamelib_sources = \ libmp3lame/bitstream.c \ libmp3lame/encoder.c \ libmp3lame/fft.c \ libmp3lame/gain_analysis.c \ libmp3lame/id3tag.c \ libmp3lame/lame.c \ libmp3lame/newmdct.c \ libmp3lame/psymodel.c \ libmp3lame/quantize.c \ libmp3lame/quantize_pvt.c \ libmp3lame/set_get.c \ libmp3lame/vbrquantize.c \ libmp3lame/reservoir.c \ libmp3lame/tables.c \ libmp3lame/takehiro.c \ libmp3lame/util.c \ libmp3lame/mpglib_interface.c \ libmp3lame/VbrTag.c \ libmp3lame/presets.c \ libmp3lame/version.cmpglib_sources = \ mpglib/common.c \ mpglib/dct64_i386.c \ mpglib/decode_i386.c \ mpglib/layer1.c \ mpglib/layer2.c \ mpglib/layer3.c \ mpglib/tabinit.c \ mpglib/interface.c!IF "$(MSVCVER)" == "Win64"ADDL_OBJ = bufferoverflowU.lib!ENDIFLIB_OBJ = $(lamelib_sources:.c=.obj)MPG_OBJ = $(mpglib_sources:.c=.obj)CMMN_OBJ = $(common_sources:.c=.obj)LAME_OBJ = $(lame_sources:.c=.obj)MPX_OBJ = $(mpx_sources:.c=.obj)DLL_OBJ = $(dll_sources:.c=.obj).c.obj: @$(CC) $(CPP_OPTS) $(CC_SWITCHES) -Iinclude -Ilibmp3lame -Impglib \ $(CC_OUT)$@ -c $<#__ MASM ______________________________________________________________________## MASM: Microsoft Assembler#! IF "$(ASM)" == "ML64"#.SUFFIXES : .nas.nas.obj: @echo $< @ml64 -Ilibmp3lame\i386 -Sf -DWIN32 -DWIN64 $< -Fo$@ CC_SWITCHES = $(CC_SWITCHES) -DHAVE_NASMASM_OBJ = $(ASM_OBJ) libmp3lame\i386\cpu_feat.objASM_OBJ = $(ASM_OBJ) libmp3lame\i386\fft3dn.obj# not yet coded#CC_SWITCHES = $(CC_SWITCHES) -DUSE_FFTSSE#ASM_OBJ = $(ASM_OBJ) libmp3lame\i386\fftsse.obj#CC_SWITCHES = $(CC_SWITCHES) -DUSE_FFTFPU#ASM_OBJ = $(ASM_OBJ) libmp3lame\i386\fftfpu.obj#______________________________________________________________________ MASM __#__ NASM ______________________________________________________________________## NASM: Netwide Assembler#! ELSEIF "$(ASM)" == "YES"#.SUFFIXES : .nas.nas.obj: @echo $< @nasmw -f $(OFF) -i libmp3lame/i386/ -DWIN32 $< -o $@ CC_SWITCHES = $(CC_SWITCHES) /DHAVE_NASMASM_OBJ = $(ASM_OBJ) libmp3lame/i386/cpu_feat.objASM_OBJ = $(ASM_OBJ) libmp3lame/i386/fft3dn.obj# not yet coded#CC_SWITCHES = $(CC_SWITCHES) /DUSE_FFTSSE#ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/fftsse.obj#CC_SWITCHES = $(CC_SWITCHES) /DUSE_FFTFPU#ASM_OBJ = $(ASM_OBJ) libmp3lame/i386/fftfpu.obj#______________________________________________________________________ NASM __! ELSE! MESSAGE Pass ASM=YES to build the assembler optimizations! ENDIF#__ MMX _______________________________________________________________________## you need NASM but *not necessarily* a processor with MMX# The above CPU feature detection code allows to run the same# binary on a CPU without MMX too!#! IF "$(ASM)" == "YES"! IF "$(MMX)" == "YES"CC_SWITCHES = $(CC_SWITCHES) /DMMX_choose_tableASM_OBJ = $(ASM_OBJ) libmp3lame/i386/choose_table.obj! ENDIF! ENDIF#_______________________________________________________________________ MMX __! MESSAGEall : $(PGM) @echo. @echo --=* $(PGM) uptodate *=-- @echo.common: $(CMMN_OBJ) @echo. @echo --- COMMON FRONTEND STUFF UPTODATE --- @echo.libA: $(LIB_OBJ) @echo. @echo --- LAME MP3 ENCODING LIBRARY UPTODATE --- @echo.libB: $(MPG_OBJ) @echo. @echo --- MPG123 DECODING LIBRARY UPTODATE --- @echo.lib: $(ASM_OBJ) libA libB$(T_LAME) : config.h lib common $(LAME_OBJ) @$(LN) $(LN_OUT)$@ $(LN_SWITCHES) $(LIBSNDFILE) \ $(ASM_OBJ) $(LIB_OBJ) $(MPG_OBJ) $(CMMN_OBJ) $(LAME_OBJ) $(ADDL_OBJ) @echo. @echo --=* $@ ready *=-- @echo.$(T_MP3X) : config.h lib common $(MPX_OBJ) @$(LN) $(LN_OUT)$@ $(LN_SWITCHES) $(GTK_LIBS) $(LIBSNDFILE) \ $(ASM_OBJ) $(LIB_OBJ) $(MPG_OBJ) $(CMMN_OBJ) $(MPX_OBJ) $(ADDL_OBJ) @echo. @echo --=* $@ ready *=-- @echo.$(T_LDLL) : config.h lib $(DLL_OBJ) @$(LN) $(LN_OUT)$@ $(LN_SWITCHES) $(LN_DLL) $(LIBSNDFILE) \ $(ASM_OBJ) $(LIB_OBJ) $(MPG_OBJ) $(DLL_OBJ) $(ADDL_OBJ) @echo. @echo --=* $@ ready *=-- @echo.config.h : configMS.h @-copy configMS.h config.hclean: @-del lame.exe @-del lame.pdb @-del icl.pch @-del lame_enc.* @-del frontend\*.obj @-del dll\*.obj @-del mpglib\*.obj @-del libmp3lame\*.obj @-del libmp3lame\i386\*.objrebuild: clean alllame : $(T_LAME)dll : $(T_LDLL)mp3x : $(T_MP3X)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -