Жизнь, веб, XMPP, TAS, электронные самоделки

Сборка libjpeg на Windows

При разработке приложений, работающих с графикой, может возникнуть потребность в libjpeg. Для компиляции этой библиотеки достаточно MinGW, однако, дистрибутив не включает в себя скрипт сборки. Можно воспользоваться следующим скриптом build.cmd (код является общественным достоянием и взят с сайта Александра Любягина с незначительными изменениями). Перед запуском скрипта нужно переименовать jconfig.txt в jconfig.h. Исходные файлы можно загрузить с официального сайта.

@SET CC="gcc"
@SET AR="ar"
@SET RANLIB="ranlib"
@SET STRIP="strip"

%CC% -Os -pipe -I. -c jaricom.c -o jaricom.obj
%CC% -Os -pipe -I. -c jcapimin.c -o jcapimin.obj
%CC% -Os -pipe -I. -c jcapistd.c -o jcapistd.obj
%CC% -Os -pipe -I. -c jcarith.c -o jcarith.obj
%CC% -Os -pipe -I. -c jccoefct.c -o jccoefct.obj
%CC% -Os -pipe -I. -c jccolor.c -o jccolor.obj
%CC% -Os -pipe -I. -c jcdctmgr.c -o jcdctmgr.obj
%CC% -Os -pipe -I. -c jchuff.c -o jchuff.obj
%CC% -Os -pipe -I. -c jcinit.c -o jcinit.obj
%CC% -Os -pipe -I. -c jcmainct.c -o jcmainct.obj
%CC% -Os -pipe -I. -c jcmarker.c -o jcmarker.obj
%CC% -Os -pipe -I. -c jcmaster.c -o jcmaster.obj
%CC% -Os -pipe -I. -c jcomapi.c -o jcomapi.obj
%CC% -Os -pipe -I. -c jcparam.c -o jcparam.obj
%CC% -Os -pipe -I. -c jcprepct.c -o jcprepct.obj
%CC% -Os -pipe -I. -c jcsample.c -o jcsample.obj
%CC% -Os -pipe -I. -c jctrans.c -o jctrans.obj
%CC% -Os -pipe -I. -c jdapimin.c -o jdapimin.obj
%CC% -Os -pipe -I. -c jdapistd.c -o jdapistd.obj
%CC% -Os -pipe -I. -c jdarith.c -o jdarith.obj
%CC% -Os -pipe -I. -c jdatadst.c -o jdatadst.obj
%CC% -Os -pipe -I. -c jdatasrc.c -o jdatasrc.obj
%CC% -Os -pipe -I. -c jdcoefct.c -o jdcoefct.obj
%CC% -Os -pipe -I. -c jdcolor.c -o jdcolor.obj
%CC% -Os -pipe -I. -c jddctmgr.c -o jddctmgr.obj
%CC% -Os -pipe -I. -c jdhuff.c -o jdhuff.obj
%CC% -Os -pipe -I. -c jdinput.c -o jdinput.obj
%CC% -Os -pipe -I. -c jdmainct.c -o jdmainct.obj
%CC% -Os -pipe -I. -c jdmarker.c -o jdmarker.obj
%CC% -Os -pipe -I. -c jdmaster.c -o jdmaster.obj
%CC% -Os -pipe -I. -c jdmerge.c -o jdmerge.obj
%CC% -Os -pipe -I. -c jdpostct.c -o jdpostct.obj
%CC% -Os -pipe -I. -c jdsample.c -o jdsample.obj
%CC% -Os -pipe -I. -c jdtrans.c -o jdtrans.obj
%CC% -Os -pipe -I. -c jerror.c -o jerror.obj
%CC% -Os -pipe -I. -c jfdctflt.c -o jfdctflt.obj
%CC% -Os -pipe -I. -c jfdctfst.c -o jfdctfst.obj
%CC% -Os -pipe -I. -c jfdctint.c -o jfdctint.obj
%CC% -Os -pipe -I. -c jidctflt.c -o jidctflt.obj
%CC% -Os -pipe -I. -c jidctfst.c -o jidctfst.obj
%CC% -Os -pipe -I. -c jidctint.c -o jidctint.obj
%CC% -Os -pipe -I. -c jquant1.c -o jquant1.obj
%CC% -Os -pipe -I. -c jquant2.c -o jquant2.obj
%CC% -Os -pipe -I. -c jutils.c -o jutils.obj
%CC% -Os -pipe -I. -c jmemmgr.c -o jmemmgr.obj
%CC% -Os -pipe -I. -c jmemansi.c -o jmemansi.obj


%AR% cr libjpeg.a *.obj
%RANLIB% libjpeg.a
%CC% -Os -pipe -shared -o libjpeg.dll *.obj
%STRIP% libjpeg.dll
echo done