1@echo off
2
3if "%1" == "" goto displayUsage
4if "%2" == "" goto displayUsage
5
6set curDir=%CD%
7set includeDir="%curDir%\..\include"
8set libDir="%curDir%\..\lib%1"
9set ar="%2\bin\ar"
10set gcc="%2\bin\gcc" -O3 -DNDEBUG
11set gxx="%2\bin\g++" -O3 -DNDEBUG -Wl,-enable-auto-import -Wl,-s
12
13echo ** AC-3 Audio Decoder **
14
15cd audioDecoders\ac3\ADM_liba52
16%gcc% -c *.c -I%includeDir% -L%libDir% -lADM_core.dll
17%ar% rs libADM_liba52.a *.o
18cd ..
19%gxx% -shared *.cpp -o libADM_ad_a52.dll -I%includeDir% -LADM_liba52 -lADM_liba52 -L%libDir% -lADM_core.dll
20cd %curDir%
21
22echo.
23echo ** Win32 Audio Device **
24
25cd audioDevices\win32
26%gxx% -shared *.cpp -o libADM_av_win32.dll -I%includeDir% -L%libDir% -lADM_core.dll -lADM_coreAudio.dll -lwinmm
27cd %curDir%
28
29echo.
30echo ** PCM Audio Encoder **
31
32cd audioEncoders\pcm
33%gxx% -shared *.cpp -o libADM_ae_pcm.dll -I%includeDir% -L%libDir% -lADM_core.dll -lADM_coreAudio.dll
34cd %curDir%
35
36echo.
37echo ** mpeg2enc Video Encoder **
38
39cd videoEncoders\mpeg2enc\mpeg2enc
40%gcc% -c *.c *.cc -I. -I%includeDir% -DHAVE_CONFIG_H -DHAVE_X86CPU
41%ar% rs libmpeg2enc.a *.o
42cd ..
43%gcc% -c *.c -I%includeDir%
44%gxx% -shared *.o *.cpp common\pluginOptions\*.cpp common\xvidRateCtl\*.cpp -o libADM_vidEnc_mpeg2enc.dll -I%includeDir% -I. -I.\mpeg2enc -I.\common\pluginOptions -I.\common\xvidRateCtl -DMPEG1_PLUGIN_CONFIG_DIR=\"mpeg2enc/mpeg-1\" -DMPEG2_PLUGIN_CONFIG_DIR=\"mpeg2enc/mpeg-2\" -L. -lxml2.dll -Lmpeg2enc -lmpeg2enc -L%libDir% -lADM_coreUI.dll -lADM_core.dll
45cd %curDir%
46
47echo.
48echo ** Fade Video Filter **
49
50cd videoFilters\fade
51%gxx% -shared *.cpp -o libADM_vf_fade.dll -I%includeDir% -L%libDir% -lADM_coreImage.dll -lADM_core.dll -lADM_coreUI.dll
52cd %curDir%
53
54goto :EOF
55
56:displayUsage
57	echo Usage: "Build Plugins.bat" [Bitness] [MinGW directory]
58	echo e.g. "Build Plugins.bat" 32 C:\MinGW
59	goto :EOF