1 lib_LTLIBRARIES = libjpeg.la
2 libjpeg_la_LDFLAGS = -version-info ${LIBTOOL_CURRENT}:${SO_MINOR_VERSION}:${SO_AGE} -no-undefined
3 include_HEADERS = jerror.h jmorecfg.h jpeglib.h
6 lib_LTLIBRARIES += libturbojpeg.la
7 libturbojpeg_la_LDFLAGS = -version-info 0:0 -no-undefined
8 include_HEADERS += turbojpeg.h
11 nodist_include_HEADERS = jconfig.h
14 HDRS = jchuff.h jdct.h jdhuff.h jerror.h jinclude.h jmemsys.h jmorecfg.h \
15 jpegint.h jpeglib.h jversion.h jsimd.h jsimddct.h jpegcomp.h
17 libjpeg_la_SOURCES = $(HDRS) jcapimin.c jcapistd.c jccoefct.c jccolor.c \
18 jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \
19 jcomapi.c jcparam.c jcphuff.c jcprepct.c jcsample.c jctrans.c \
20 jdapimin.c jdapistd.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \
21 jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \
22 jdmerge.c jdphuff.c jdpostct.c jdsample.c jdtrans.c jerror.c \
23 jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c \
24 jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c
27 libjpeg_la_SOURCES += jaricom.c
31 libjpeg_la_SOURCES += jcarith.c
35 libjpeg_la_SOURCES += jdarith.c
44 libturbojpeg_la_SOURCES = $(libjpeg_la_SOURCES) turbojpeg.c turbojpeg.h \
45 transupp.c transupp.h jdatadst-tj.c jdatasrc-tj.c
49 libturbojpeg_la_SOURCES += turbojpeg-jni.c
50 libturbojpeg_la_CFLAGS = ${JNI_CFLAGS}
51 TJMAPFILE = turbojpeg-mapfile.jni
55 TJMAPFILE = turbojpeg-mapfile
59 libturbojpeg_la_SOURCES += $(TJMAPFILE)
62 libturbojpeg_la_LDFLAGS += $(VERSION_SCRIPT_FLAG)$(srcdir)/$(TJMAPFILE)
69 libjpeg_la_LDFLAGS += $(VERSION_SCRIPT_FLAG)libjpeg.map
76 libjpeg_la_LIBADD = simd/libsimd.la
77 libturbojpeg_la_LIBADD = simd/libsimd.la
81 libjpeg_la_SOURCES += jsimd_none.c
86 bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom
87 noinst_PROGRAMS = jcstest
92 bin_PROGRAMS += tjbench
94 noinst_PROGRAMS += tjunittest
96 tjbench_SOURCES = tjbench.c bmp.h bmp.c tjutil.h tjutil.c rdbmp.c rdppm.c \
99 tjbench_LDADD = libturbojpeg.la libjpeg.la -lm
101 tjbench_CFLAGS = -DBMP_SUPPORTED -DPPM_SUPPORTED
103 tjunittest_SOURCES = tjunittest.c tjutil.h tjutil.c
105 tjunittest_LDADD = libturbojpeg.la
110 cjpeg_SOURCES = cdjpeg.h cderror.h cdjpeg.c cjpeg.c rdbmp.c rdgif.c \
111 rdppm.c rdswitch.c rdtarga.c
113 cjpeg_LDADD = libjpeg.la
115 cjpeg_CFLAGS = -DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED \
118 djpeg_SOURCES = cdjpeg.h cderror.h cdjpeg.c djpeg.c rdcolmap.c rdswitch.c \
119 wrbmp.c wrgif.c wrppm.c wrtarga.c
121 djpeg_LDADD = libjpeg.la
123 djpeg_CFLAGS = -DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED \
126 jpegtran_SOURCES = jpegtran.c rdswitch.c cdjpeg.c transupp.c transupp.h
128 jpegtran_LDADD = libjpeg.la
130 rdjpgcom_SOURCES = rdjpgcom.c
132 rdjpgcom_LDADD = libjpeg.la
134 wrjpgcom_SOURCES = wrjpgcom.c
136 wrjpgcom_LDADD = libjpeg.la
138 jcstest_SOURCES = jcstest.c
140 jcstest_LDADD = libjpeg.la
142 dist_man1_MANS = cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1
144 DOCS= coderules.txt jconfig.txt change.log rdrle.c wrrle.c BUILDING.txt \
147 docdir = $(datadir)/doc
148 dist_doc_DATA = README README-turbo.txt libjpeg.txt structure.txt usage.txt \
151 exampledir = $(datadir)/doc
152 dist_example_DATA = example.c
155 EXTRA_DIST = win release $(DOCS) testimages CMakeLists.txt \
156 sharedlib/CMakeLists.txt cmakescripts libjpeg.map.in doc doxygen.config \
157 jccolext.c jdcolext.c jdmrgext.c
160 rm -rf `find $(distdir) -name .svn`
165 MD5_JPEG_INT = 9a68f56bc76e466aa7e52f415d0f4a5f
166 MD5_JPEG_FAST = 0e1502e7fa421835e376a314fac2a39f
167 MD5_JPEG_FAST_100 = 7bf72a8e741d64eecb960c97323af77c
168 MD5_JPEG_FLOAT = d1623885ffafcd40c684af09e3d65cd5
169 MD5_JPEG_FLOAT_NOSIMD = fb4884c35f8273f498cb32879de5c455
170 MD5_JPEG_INT_GRAY = 72b51f894b8f4a10b3ee3066770aa38d
171 MD5_PPM_INT = d1ed0d11f076b842525271647716aeb8
172 MD5_PPM_FAST = 048298a2d2410261c0533cb97bcfef23
173 MD5_PPM_FLOAT = 7f5b446ee36b2630e06785b8d42af15f
174 MD5_PPM_FLOAT_NOSIMD = 64072f1dbdc5b3a187777788604971a5
175 MD5_PPM_INT_2_1 = 9f9de8c0612f8d06869b960b05abf9c9
176 MD5_PPM_INT_15_8 = b6875bc070720b899566cc06459b63b7
177 MD5_PPM_INT_7_4 = 06a177eae05f164fac57f7a2c346ee87
178 MD5_PPM_INT_13_8 = bc3452573c8152f6ae552939ee19f82f
179 MD5_PPM_INT_3_2 = f5a8b88a8a7f96016f04d259cf82ed67
180 MD5_PPM_INT_11_8 = d8cc73c0aaacd4556569b59437ba00a5
181 MD5_PPM_INT_5_4 = 32775dd9ad2ab90f4c5b219b53e0c86c
182 MD5_PPM_INT_9_8 = d25e61bc7eac0002f5b393aa223747b6
183 MD5_PPM_INT_7_8 = ddb564b7c74a09494016d6cd7502a946
184 MD5_PPM_INT_3_4 = 8ed8e68808c3fbc4ea764fc9d2968646
185 MD5_PPM_INT_5_8 = a3363274999da2366a024efae6d16c9b
186 MD5_PPM_INT_1_2 = e692a315cea26b988c8e8b29a5dbcd81
187 MD5_PPM_INT_3_8 = 79eca9175652ced755155c90e785a996
188 MD5_PPM_INT_1_4 = 79cd778f8bf1a117690052cacdd54eca
189 MD5_PPM_INT_1_8 = 391b3d4aca640c8567d6f8745eb2142f
190 MD5_PPM_FAST_1_2 = f30bcf6d32ccd44cbdd9aeaacbd9454f
191 MD5_BMP_256 = 4980185e3776e89bd931736e1cddeee6
192 MD5_JPEG_ARI = e986fb0a637a8d833d96e8a6d6d84ea1
193 MD5_PPM_ARI = 72b59a99bcf1de24c5b27d151bde2437
194 MD5_JPEG_PROG = 1c4afddc05c0a43489ee54438a482d92
195 MD5_JPEG_PROG_ARI = 0a8f1c8f66e113c3cf635df0a475a617
196 MD5_JPEG_CROP = b4197f377e621c4e9b1d20471432610d
201 $(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest
202 $(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest -bi
203 $(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest -yuv
204 $(JAVA) -cp java/turbojpeg.jar -Djava.library.path=.libs TJUnitTest -yuv -bi
210 ./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testimages/testorig.ppm
211 md5/md5cmp $(MD5_JPEG_INT) testoutint.jpg
212 ./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testimages/testorig.ppm
213 md5/md5cmp $(MD5_JPEG_FAST) testoutfst.jpg
214 ./cjpeg -dct fast -quality 100 -opt -outfile testoutfst100.jpg $(srcdir)/testimages/testorig.ppm
215 md5/md5cmp $(MD5_JPEG_FAST_100) testoutfst100.jpg
216 ./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testimages/testorig.ppm
217 if WITH_SSE_FLOAT_DCT
218 md5/md5cmp $(MD5_JPEG_FLOAT) testoutflt.jpg
220 md5/md5cmp $(MD5_JPEG_FLOAT_NOSIMD) testoutflt.jpg
222 ./cjpeg -dct int -grayscale -outfile testoutgray.jpg $(srcdir)/testimages/testorig.ppm
223 md5/md5cmp $(MD5_JPEG_INT_GRAY) testoutgray.jpg
224 ./djpeg -dct int -fast -ppm -outfile testoutint.ppm $(srcdir)/testimages/testorig.jpg
225 md5/md5cmp $(MD5_PPM_INT) testoutint.ppm
226 ./djpeg -dct fast -ppm -outfile testoutfst.ppm $(srcdir)/testimages/testorig.jpg
227 md5/md5cmp $(MD5_PPM_FAST) testoutfst.ppm
228 ./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testimages/testorig.jpg
229 if WITH_SSE_FLOAT_DCT
230 md5/md5cmp $(MD5_PPM_FLOAT) testoutflt.ppm
232 md5/md5cmp $(MD5_PPM_FLOAT_NOSIMD) testoutflt.ppm
234 ./djpeg -dct int -nosmooth -scale 2/1 -ppm -outfile testoutint2_1.ppm $(srcdir)/testimages/testorig.jpg;
235 md5/md5cmp $(MD5_PPM_INT_2_1) testoutint2_1.ppm;
236 ./djpeg -dct int -nosmooth -scale 15/8 -ppm -outfile testoutint15_8.ppm $(srcdir)/testimages/testorig.jpg;
237 md5/md5cmp $(MD5_PPM_INT_15_8) testoutint15_8.ppm;
238 ./djpeg -dct int -nosmooth -scale 7/4 -ppm -outfile testoutint7_4.ppm $(srcdir)/testimages/testorig.jpg;
239 md5/md5cmp $(MD5_PPM_INT_7_4) testoutint7_4.ppm;
240 ./djpeg -dct int -nosmooth -scale 13/8 -ppm -outfile testoutint13_8.ppm $(srcdir)/testimages/testorig.jpg;
241 md5/md5cmp $(MD5_PPM_INT_13_8) testoutint13_8.ppm;
242 ./djpeg -dct int -nosmooth -scale 3/2 -ppm -outfile testoutint3_2.ppm $(srcdir)/testimages/testorig.jpg;
243 md5/md5cmp $(MD5_PPM_INT_3_2) testoutint3_2.ppm;
244 ./djpeg -dct int -nosmooth -scale 11/8 -ppm -outfile testoutint11_8.ppm $(srcdir)/testimages/testorig.jpg;
245 md5/md5cmp $(MD5_PPM_INT_11_8) testoutint11_8.ppm;
246 ./djpeg -dct int -nosmooth -scale 5/4 -ppm -outfile testoutint5_4.ppm $(srcdir)/testimages/testorig.jpg;
247 md5/md5cmp $(MD5_PPM_INT_5_4) testoutint5_4.ppm;
248 ./djpeg -dct int -nosmooth -scale 9/8 -ppm -outfile testoutint9_8.ppm $(srcdir)/testimages/testorig.jpg;
249 md5/md5cmp $(MD5_PPM_INT_9_8) testoutint9_8.ppm;
250 ./djpeg -dct int -nosmooth -scale 7/8 -ppm -outfile testoutint7_8.ppm $(srcdir)/testimages/testorig.jpg;
251 md5/md5cmp $(MD5_PPM_INT_7_8) testoutint7_8.ppm;
252 ./djpeg -dct int -nosmooth -scale 3/4 -ppm -outfile testoutint3_4.ppm $(srcdir)/testimages/testorig.jpg;
253 md5/md5cmp $(MD5_PPM_INT_3_4) testoutint3_4.ppm;
254 ./djpeg -dct int -nosmooth -scale 5/8 -ppm -outfile testoutint5_8.ppm $(srcdir)/testimages/testorig.jpg;
255 md5/md5cmp $(MD5_PPM_INT_5_8) testoutint5_8.ppm;
256 ./djpeg -dct int -nosmooth -scale 1/2 -ppm -outfile testoutint1_2.ppm $(srcdir)/testimages/testorig.jpg;
257 md5/md5cmp $(MD5_PPM_INT_1_2) testoutint1_2.ppm;
258 ./djpeg -dct int -nosmooth -scale 3/8 -ppm -outfile testoutint3_8.ppm $(srcdir)/testimages/testorig.jpg;
259 md5/md5cmp $(MD5_PPM_INT_3_8) testoutint3_8.ppm;
260 ./djpeg -dct int -nosmooth -scale 1/4 -ppm -outfile testoutint1_4.ppm $(srcdir)/testimages/testorig.jpg;
261 md5/md5cmp $(MD5_PPM_INT_1_4) testoutint1_4.ppm;
262 ./djpeg -dct int -nosmooth -scale 1/8 -ppm -outfile testoutint1_8.ppm $(srcdir)/testimages/testorig.jpg;
263 md5/md5cmp $(MD5_PPM_INT_1_8) testoutint1_8.ppm;
264 ./djpeg -dct fast -scale 1/2 -ppm -outfile testoutfst1_2.ppm $(srcdir)/testimages/testorig.jpg
265 md5/md5cmp $(MD5_PPM_FAST_1_2) testoutfst1_2.ppm
266 ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testimages/testorig.jpg
267 md5/md5cmp $(MD5_BMP_256) testout.bmp
269 ./cjpeg -dct int -arithmetic -outfile testoutari.jpg $(srcdir)/testimages/testorig.ppm
270 md5/md5cmp $(MD5_JPEG_ARI) testoutari.jpg
271 ./jpegtran -arithmetic -outfile testouta.jpg $(srcdir)/testimages/testimgint.jpg
272 md5/md5cmp $(MD5_JPEG_ARI) testouta.jpg
273 ./cjpeg -dct int -progressive -arithmetic -sample 1x1 -outfile testoutpa.jpg $(srcdir)/testimages/testorig.ppm
274 md5/md5cmp $(MD5_JPEG_PROG_ARI) testoutpa.jpg
277 ./djpeg -dct int -fast -ppm -outfile testoutari.ppm $(srcdir)/testimages/testimgari.jpg
278 md5/md5cmp $(MD5_PPM_ARI) testoutari.ppm
279 ./jpegtran -outfile testouta.jpg $(srcdir)/testimages/testimgari.jpg
280 md5/md5cmp $(MD5_JPEG_INT) testouta.jpg
282 ./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testimages/testorig.ppm
283 md5/md5cmp $(MD5_JPEG_PROG) testoutp.jpg
284 ./jpegtran -outfile testoutt.jpg testoutp.jpg
285 md5/md5cmp $(MD5_JPEG_INT) testoutt.jpg
286 ./jpegtran -crop 120x90+20+50 -transpose -perfect -outfile testoutcrop.jpg $(srcdir)/testimages/testorig.jpg
287 md5/md5cmp $(MD5_JPEG_CROP) testoutcrop.jpg
322 sh ./tjbenchtest.java
326 pkgscripts/libjpeg-turbo.spec: pkgscripts/libjpeg-turbo.spec.tmpl
327 cat pkgscripts/libjpeg-turbo.spec.tmpl | sed s@%{__prefix}@$(prefix)@g | \
328 sed s@%{__bindir}@$(bindir)@g | sed s@%{__datadir}@$(datadir)@g | \
329 sed s@%{__docdir}@$(docdir)@g | sed s@%{__includedir}@$(includedir)@g | \
330 sed s@%{__libdir}@$(libdir)@g | sed s@%{__mandir}@$(mandir)@g \
331 > pkgscripts/libjpeg-turbo.spec
333 rpm: all pkgscripts/libjpeg-turbo.spec
334 TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
335 mkdir -p $$TMPDIR/RPMS; \
336 ln -fs `pwd` $$TMPDIR/BUILD; \
337 rm -f ${PKGNAME}-${VERSION}.${RPMARCH}.rpm; \
338 rpmbuild -bb --define "_blddir $$TMPDIR/buildroot" \
339 --define "_topdir $$TMPDIR" \
340 --target ${RPMARCH} pkgscripts/libjpeg-turbo.spec; \
341 cp $$TMPDIR/RPMS/${RPMARCH}/${PKGNAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm \
342 ${PKGNAME}-${VERSION}.${RPMARCH}.rpm; \
345 srpm: dist-gzip pkgscripts/libjpeg-turbo.spec
346 TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
347 mkdir -p $$TMPDIR/RPMS; \
348 mkdir -p $$TMPDIR/SRPMS; \
349 mkdir -p $$TMPDIR/BUILD; \
350 mkdir -p $$TMPDIR/SOURCES; \
351 mkdir -p $$TMPDIR/SPECS; \
352 rm -f ${PKGNAME}-${VERSION}.src.rpm; \
353 cp ${PACKAGE_NAME}-${VERSION}.tar.gz $$TMPDIR/SOURCES; \
354 cat pkgscripts/libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \
356 > $$TMPDIR/SPECS/libjpeg-turbo.spec; \
357 rpmbuild -bs --define "_topdir $$TMPDIR" $$TMPDIR/SPECS/libjpeg-turbo.spec; \
358 cp $$TMPDIR/SRPMS/${PKGNAME}-${VERSION}-${BUILD}.src.rpm \
359 ${PKGNAME}-${VERSION}.src.rpm; \
362 pkgscripts/makedpkg: pkgscripts/makedpkg.tmpl
363 cat pkgscripts/makedpkg.tmpl | sed s@%{__prefix}@$(prefix)@g | \
364 sed s@%{__docdir}@$(docdir)@g | sed s@%{__libdir}@$(libdir)@g \
365 > pkgscripts/makedpkg
367 deb: all pkgscripts/makedpkg
368 sh pkgscripts/makedpkg
370 pkgscripts/uninstall: pkgscripts/uninstall.tmpl
371 cat pkgscripts/uninstall.tmpl | sed s@%{__prefix}@$(prefix)@g | \
372 sed s@%{__bindir}@$(bindir)@g | sed s@%{__datadir}@$(datadir)@g | \
373 sed s@%{__includedir}@$(includedir)@g | sed s@%{__libdir}@$(libdir)@g | \
374 sed s@%{__mandir}@$(mandir)@g > pkgscripts/uninstall
376 pkgscripts/makemacpkg: pkgscripts/makemacpkg.tmpl
377 cat pkgscripts/makemacpkg.tmpl | sed s@%{__prefix}@$(prefix)@g | \
378 sed s@%{__bindir}@$(bindir)@g | sed s@%{__docdir}@$(docdir)@g | \
379 sed s@%{__libdir}@$(libdir)@g > pkgscripts/makemacpkg
383 udmg: all pkgscripts/makemacpkg pkgscripts/uninstall
384 sh pkgscripts/makemacpkg -build32 ${BUILDDIR32}
386 iosdmg: all pkgscripts/makemacpkg pkgscripts/uninstall
387 sh pkgscripts/makemacpkg -build32 ${BUILDDIR32} -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S}
391 iosdmg: all pkgscripts/makemacpkg pkgscripts/uninstall
392 sh pkgscripts/makemacpkg -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S}
396 dmg: all pkgscripts/makemacpkg pkgscripts/uninstall
397 sh pkgscripts/makemacpkg
399 pkgscripts/makecygwinpkg: pkgscripts/makecygwinpkg.tmpl
400 cat pkgscripts/makecygwinpkg.tmpl | sed s@%{__prefix}@$(prefix)@g | \
401 sed s@%{__docdir}@$(docdir)@g | sed s@%{__libdir}@$(libdir)@g \
402 > pkgscripts/makecygwinpkg
404 cygwinpkg: all pkgscripts/makecygwinpkg
405 sh pkgscripts/makecygwinpkg