blob: 064114c30af45f7cc63ce3c60745f1935047dbc9 [file] [log] [blame]
DRC1bf1a142010-02-11 06:39:32 +00001lib_LTLIBRARIES = libjpeg.la libturbojpeg.la
DRC1f80a102010-10-18 00:15:31 +00002libjpeg_la_LDFLAGS = -version-info ${SO_MAJOR_VERSION}:${SO_MINOR_VERSION} -no-undefined
DRC21d66832010-02-12 04:34:41 +00003libturbojpeg_la_LDFLAGS = -avoid-version -no-undefined
DRC0a945a12010-02-15 11:04:51 +00004include_HEADERS = jerror.h jmorecfg.h jpeglib.h turbojpeg.h
5nodist_include_HEADERS = jconfig.h
DRC0c0f3042010-01-28 05:34:53 +00006
Adam Tkacda5a1fe2008-10-22 11:19:25 +00007HDRS = jchuff.h jdct.h jdhuff.h jerror.h jinclude.h jmemsys.h jmorecfg.h \
DRC1f80a102010-10-18 00:15:31 +00008 jpegint.h jpeglib.h jversion.h jsimd.h jsimddct.h jpegcomp.h
Constantin Kaplinsky0ca44252008-09-28 05:08:48 +00009
DRCe3720042010-11-23 06:50:14 +000010libjpeg_la_SOURCES = $(HDRS) jcapimin.c jcapistd.c jccoefct.c jccolor.c \
11 jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \
12 jcomapi.c jcparam.c jcphuff.c jcprepct.c jcsample.c jctrans.c \
13 jdapimin.c jdapistd.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \
14 jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \
15 jdmerge.c jdphuff.c jdpostct.c jdsample.c jdtrans.c jerror.c \
16 jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c \
17 jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c
18
19if WITH_ARITH
20
21libjpeg_la_SOURCES += jaricom.c
22
23endif
24
25if WITH_ARITH_ENC
26
27libjpeg_la_SOURCES += jcarith.c
28
29endif
30
31if WITH_ARITH_DEC
32
33libjpeg_la_SOURCES += jdarith.c
34
35endif
Constantin Kaplinsky0ca44252008-09-28 05:08:48 +000036
DRC890f1e02011-02-26 22:02:37 +000037libturbojpeg_la_SOURCES = $(libjpeg_la_SOURCES) turbojpegl.c turbojpeg.h \
38 transupp.c transupp.h
DRCf8e00552011-02-04 11:06:36 +000039
40if WITH_JNI
41
42libturbojpeg_la_SOURCES += turbojpeg-jni.c
DRC063ab492011-02-04 22:16:41 +000043libturbojpeg_la_CFLAGS = ${JAVA_CFLAGS}
DRCf8e00552011-02-04 11:06:36 +000044TJMAPFILE = turbojpeg-mapfile.jni
45
46else
47
48TJMAPFILE = turbojpeg-mapfile
49
50endif
51
52libturbojpeg_la_SOURCES += $(TJMAPFILE)
DRC6f8c6682010-02-16 05:03:51 +000053
54if VERSION_SCRIPT
55
DRC9fa95592011-02-25 00:23:44 +000056libturbojpeg_la_LDFLAGS += $(VERSION_SCRIPT_FLAG)$(srcdir)/$(TJMAPFILE)
DRC8515d3d2010-10-19 06:38:57 +000057libjpeg_la_LDFLAGS += $(VERSION_SCRIPT_FLAG)libjpeg.map
DRC6f8c6682010-02-16 05:03:51 +000058
59endif
DRC1bf1a142010-02-11 06:39:32 +000060
DRC60cddeb2010-02-12 05:37:07 +000061if WITH_SIMD
62
Pierre Ossman3a65ef42009-03-16 13:34:18 +000063SUBDIRS = simd
64libjpeg_la_LIBADD = simd/libsimd.la
DRC1bf1a142010-02-11 06:39:32 +000065libturbojpeg_la_LIBADD = simd/libsimd.la
Pierre Ossman2ae181c2009-03-09 13:21:27 +000066
DRC60cddeb2010-02-12 05:37:07 +000067else
68
69libjpeg_la_SOURCES += jsimd_none.c
70
71endif
72
DRC1bf1a142010-02-11 06:39:32 +000073TSTHDRS = rrutil.h rrtimer.h
DRC2e7b76b2009-04-03 12:04:24 +000074
DRC240d82f2011-02-19 00:00:34 +000075bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom jpgtest
76noinst_PROGRAMS = jpegut
DRC2e7b76b2009-04-03 12:04:24 +000077
DRC2e4d0442011-02-08 01:18:37 +000078jpgtest_SOURCES = $(TSTHDRS) jpgtest.c bmp.h bmp.c
DRC2e7b76b2009-04-03 12:04:24 +000079
DRCda509e32011-02-18 21:16:04 +000080jpgtest_LDADD = libturbojpeg.la -lm
DRC2e7b76b2009-04-03 12:04:24 +000081
DRC1bf1a142010-02-11 06:39:32 +000082jpegut_SOURCES = $(TSTHDRS) jpegut.c bmp.h bmp.c
DRC2e7b76b2009-04-03 12:04:24 +000083
DRC971d8512010-02-13 22:55:05 +000084jpegut_LDADD = libturbojpeg.la
DRC73de9822009-06-25 20:41:17 +000085
86cjpeg_SOURCES = cdjpeg.h cderror.h cdjpeg.c cjpeg.c rdbmp.c rdgif.c \
87 rdppm.c rdswitch.c rdtarga.c
88
DRC971d8512010-02-13 22:55:05 +000089cjpeg_LDADD = libjpeg.la
DRC73de9822009-06-25 20:41:17 +000090
91cjpeg_CFLAGS = -DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED \
92 -DTARGA_SUPPORTED
93
94djpeg_SOURCES = cdjpeg.h cderror.h cdjpeg.c djpeg.c rdcolmap.c rdswitch.c \
95 wrbmp.c wrgif.c wrppm.c wrtarga.c
96
DRC971d8512010-02-13 22:55:05 +000097djpeg_LDADD = libjpeg.la
DRC73de9822009-06-25 20:41:17 +000098
99djpeg_CFLAGS = -DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED \
100 -DTARGA_SUPPORTED
DRC60fa0602010-02-12 06:01:49 +0000101
DRC0a945a12010-02-15 11:04:51 +0000102jpegtran_SOURCES = jpegtran.c rdswitch.c cdjpeg.c transupp.c transupp.h
DRC60fa0602010-02-12 06:01:49 +0000103
DRC971d8512010-02-13 22:55:05 +0000104jpegtran_LDADD = libjpeg.la
DRC60fa0602010-02-12 06:01:49 +0000105
DRC0a945a12010-02-15 11:04:51 +0000106rdjpgcom_SOURCES = rdjpgcom.c
DRC60fa0602010-02-12 06:01:49 +0000107
DRC971d8512010-02-13 22:55:05 +0000108rdjpgcom_LDADD = libjpeg.la
DRC60fa0602010-02-12 06:01:49 +0000109
110wrjpgcom_SOURCES = wrjpgcom.c
111
DRC971d8512010-02-13 22:55:05 +0000112wrjpgcom_LDADD = libjpeg.la
DRC60fa0602010-02-12 06:01:49 +0000113
DRC0a945a12010-02-15 11:04:51 +0000114
DRCcbda81a2010-06-05 01:12:35 +0000115dist_man1_MANS = cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1
DRC0a945a12010-02-15 11:04:51 +0000116
DRC39ea5622010-10-12 01:55:31 +0000117DOCS= README install.txt usage.txt wizard.txt example.c libjpeg.txt \
118 structure.txt coderules.txt filelist.txt jconfig.txt change.log \
DRC0b7d4ed2010-03-03 09:37:58 +0000119 README-turbo.txt rdrle.c wrrle.c LICENSE.txt LGPL.txt BUILDING.txt \
120 ChangeLog.txt
DRC0a945a12010-02-15 11:04:51 +0000121
DRC968c8bb2010-02-22 22:50:13 +0000122TESTFILES= testorig.jpg testorig.ppm testimg.bmp testimgflt.jpg \
DRC50503c72010-09-09 21:00:31 +0000123 testimgfst.jpg testimgint.jpg testimgp.jpg testimgflt.ppm testimgfst.ppm \
DRCf0b7fef2010-11-23 17:13:02 +0000124 testimgint.ppm testimgflt-nosimd.jpg testimgcrop.jpg testimgari.jpg \
DRC2ddcc632011-02-18 22:46:05 +0000125 testimgari.ppm testimgfst100.jpg testimggray.jpg
DRC0a945a12010-02-15 11:04:51 +0000126
DRC207a03b2011-02-06 15:58:22 +0000127EXTRA_DIST = win release java $(DOCS) $(TESTFILES) CMakeLists.txt \
DRC8515d3d2010-10-19 06:38:57 +0000128 sharedlib/CMakeLists.txt cmakescripts libjpeg.map.in
DRC0a945a12010-02-15 11:04:51 +0000129
130dist-hook:
131 rm -rf `find $(distdir) -name .svn`
132
133
DRC66f97e62010-11-23 05:49:54 +0000134test: testclean all
135 ./jpegut
DRCfbb67472010-11-24 04:02:37 +0000136 ./jpegut -yuv
DRC66f97e62010-11-23 05:49:54 +0000137 ./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
138 cmp $(srcdir)/testimgint.jpg testoutint.jpg
139 ./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig.ppm
140 cmp $(srcdir)/testimgfst.jpg testoutfst.jpg
DRCa49c4e52011-02-18 20:50:08 +0000141 ./cjpeg -dct fast -quality 100 -opt -outfile testoutfst100.jpg $(srcdir)/testorig.ppm
142 cmp $(srcdir)/testimgfst100.jpg testoutfst100.jpg
DRC66f97e62010-11-23 05:49:54 +0000143 ./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testorig.ppm
DRC83f21442010-06-10 18:52:41 +0000144if WITH_SIMD
DRC0fd8be52010-02-19 05:12:39 +0000145 cmp $(srcdir)/testimgflt.jpg testoutflt.jpg
DRC83f21442010-06-10 18:52:41 +0000146else
DRC83f21442010-06-10 18:52:41 +0000147 cmp $(srcdir)/testimgflt-nosimd.jpg testoutflt.jpg
DRC66f97e62010-11-23 05:49:54 +0000148endif
DRCc8666332011-02-18 11:23:45 +0000149 ./cjpeg -dct int -grayscale -outfile testoutgray.jpg $(srcdir)/testorig.ppm
150 cmp $(srcdir)/testimggray.jpg testoutgray.jpg
DRC83f21442010-06-10 18:52:41 +0000151 ./djpeg -dct int -fast -ppm -outfile testoutint.ppm $(srcdir)/testorig.jpg
DRC83f21442010-06-10 18:52:41 +0000152 cmp $(srcdir)/testimgint.ppm testoutint.ppm
DRC66f97e62010-11-23 05:49:54 +0000153 ./djpeg -dct fast -ppm -outfile testoutfst.ppm $(srcdir)/testorig.jpg
DRC30959712010-08-07 16:06:56 +0000154 cmp $(srcdir)/testimgfst.ppm testoutfst.ppm
DRC66f97e62010-11-23 05:49:54 +0000155 ./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testorig.jpg
156if WITH_SIMD
157 cmp $(srcdir)/testimgflt.ppm testoutflt.ppm
158else
DRC30959712010-08-07 16:06:56 +0000159 cmp $(srcdir)/testorig.ppm testoutflt.ppm
DRC66f97e62010-11-23 05:49:54 +0000160endif
DRC83f21442010-06-10 18:52:41 +0000161 ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
DRC30959712010-08-07 16:06:56 +0000162 cmp $(srcdir)/testimg.bmp testout.bmp
DRCe3720042010-11-23 06:50:14 +0000163if WITH_ARITH_ENC
DRC66f97e62010-11-23 05:49:54 +0000164 ./cjpeg -dct int -arithmetic -outfile testoutari.jpg $(srcdir)/testorig.ppm
165 cmp $(srcdir)/testimgari.jpg testoutari.jpg
DRCe3720042010-11-23 06:50:14 +0000166 ./jpegtran -arithmetic -outfile testouta.jpg $(srcdir)/testimgint.jpg
167 cmp $(srcdir)/testimgari.jpg testouta.jpg
168endif
169if WITH_ARITH_DEC
DRC66f97e62010-11-23 05:49:54 +0000170 ./djpeg -dct int -fast -ppm -outfile testoutari.ppm $(srcdir)/testimgari.jpg
171 cmp $(srcdir)/testimgari.ppm testoutari.ppm
DRCe3720042010-11-23 06:50:14 +0000172 ./jpegtran -outfile testouta.jpg $(srcdir)/testimgari.jpg
DRC66f97e62010-11-23 05:49:54 +0000173 cmp $(srcdir)/testimgint.jpg testouta.jpg
DRCe3720042010-11-23 06:50:14 +0000174endif
DRC30959712010-08-07 16:06:56 +0000175 ./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig.ppm
176 cmp $(srcdir)/testimgp.jpg testoutp.jpg
DRC83f21442010-06-10 18:52:41 +0000177 ./jpegtran -outfile testoutt.jpg testoutp.jpg
DRC30959712010-08-07 16:06:56 +0000178 cmp $(srcdir)/testimgint.jpg testoutt.jpg
DRC9a648cc2010-10-10 02:48:21 +0000179 ./jpegtran -crop 120x90+20+50 -transpose -perfect -outfile testoutcrop.jpg $(srcdir)/testorig.jpg
DRCc04bd3c2010-10-10 02:15:56 +0000180 cmp $(srcdir)/testimgcrop.jpg testoutcrop.jpg
DRC83f21442010-06-10 18:52:41 +0000181
DRC83f21442010-06-10 18:52:41 +0000182
DRC34d59e72010-02-12 06:27:34 +0000183testclean:
DRC7b991722010-06-10 19:44:56 +0000184 rm -f testout*
185 rm -f *_GRAYQ[0-9]*.bmp
186 rm -f *_GRAYQ[0-9]*.ppm
187 rm -f *_GRAYQ[0-9]*.jpg
188 rm -f *_420Q[0-9]*.bmp
189 rm -f *_420Q[0-9]*.ppm
190 rm -f *_420Q[0-9]*.jpg
191 rm -f *_422Q[0-9]*.bmp
192 rm -f *_422Q[0-9]*.ppm
193 rm -f *_422Q[0-9]*.jpg
194 rm -f *_444Q[0-9]*.bmp
195 rm -f *_444Q[0-9]*.ppm
196 rm -f *_444Q[0-9]*.jpg
DRC079b4342010-02-15 11:32:23 +0000197
DRCd1c281a2010-11-17 22:44:40 +0000198if X86_64
199
200install-exec-hook:
201 __PREFIX=`echo ${prefix} | sed -e 's@\/*$$@@'`; \
202 if [ "$$__PREFIX" = "/opt/libjpeg-turbo" ]; then \
203 cd $(DESTDIR)/${prefix}; \
204 if [ -d lib -a ! -d lib64 -a ! -h lib64 ]; then \
205 $(LN_S) lib lib64; \
206 fi \
207 fi
208
209else
210
211install-exec-hook:
212 __PREFIX=`echo ${prefix} | sed -e 's@\/*$$@@'`; \
213 if [ "$$__PREFIX" = "/opt/libjpeg-turbo" ]; then \
214 cd $(DESTDIR)/${prefix}; \
215 if [ -d lib -a ! -d lib32 -a ! -h lib32 ]; then \
216 $(LN_S) lib lib32; \
217 fi \
218 fi
219
220endif
221
DRC079b4342010-02-15 11:32:23 +0000222rpm: all
DRC1f80a102010-10-18 00:15:31 +0000223 TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
224 mkdir -p $$TMPDIR/RPMS; \
225 ln -fs `pwd` $$TMPDIR/BUILD; \
DRCb94f2de2011-03-22 09:31:25 +0000226 rm -f ${PACKAGE_NAME}-${VERSION}.${RPMARCH}.rpm; \
DRC1f80a102010-10-18 00:15:31 +0000227 rpmbuild -bb --define "_blddir $$TMPDIR/buildroot" \
228 --define "_topdir $$TMPDIR" --define "_srcdir ${srcdir}" \
DRCb94f2de2011-03-22 09:31:25 +0000229 --target ${RPMARCH} pkgscripts/libjpeg-turbo.spec; \
230 cp $$TMPDIR/RPMS/${RPMARCH}/${PACKAGE_NAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm \
231 ${PACKAGE_NAME}-${VERSION}.${RPMARCH}.rpm; \
DRC1f80a102010-10-18 00:15:31 +0000232 rm -rf $$TMPDIR
DRC079b4342010-02-15 11:32:23 +0000233
DRCf26914b2010-02-15 11:36:46 +0000234srpm: dist-gzip
DRC1f80a102010-10-18 00:15:31 +0000235 TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
236 mkdir -p $$TMPDIR/RPMS; \
237 mkdir -p $$TMPDIR/SRPMS; \
238 mkdir -p $$TMPDIR/BUILD; \
239 mkdir -p $$TMPDIR/SOURCES; \
240 mkdir -p $$TMPDIR/SPECS; \
DRCb94f2de2011-03-22 09:31:25 +0000241 rm -f ${PACKAGE_NAME}-${VERSION}.src.rpm; \
DRC1f80a102010-10-18 00:15:31 +0000242 cp ${PACKAGE_NAME}-${VERSION}.tar.gz $$TMPDIR/SOURCES; \
DRCb94f2de2011-03-22 09:31:25 +0000243 cat pkgscripts/libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \
DRC1f80a102010-10-18 00:15:31 +0000244 | sed s@%{_srcdir}/@@g | sed s/#--\>//g \
DRCb94f2de2011-03-22 09:31:25 +0000245 > $$TMPDIR/SPECS/libjpeg-turbo.spec; \
DRC1f80a102010-10-18 00:15:31 +0000246 rpmbuild -bs --define "_topdir $$TMPDIR" $$TMPDIR/SPECS/libjpeg-turbo.spec; \
DRCb94f2de2011-03-22 09:31:25 +0000247 cp $$TMPDIR/SRPMS/${PACKAGE_NAME}-${VERSION}-${BUILD}.src.rpm \
248 ${PACKAGE_NAME}-${VERSION}.src.rpm; \
DRC1f80a102010-10-18 00:15:31 +0000249 rm -rf $$TMPDIR
DRC52a19f22010-02-15 12:06:27 +0000250
251deb: all
DRCb94f2de2011-03-22 09:31:25 +0000252 sh pkgscripts/makedpkg
DRC6533b6e2010-02-15 14:57:18 +0000253
DRC315123f2010-02-15 16:14:26 +0000254if X86_64
255
256udmg: all
DRCb94f2de2011-03-22 09:31:25 +0000257 sh pkgscripts/makemacpkg universal ${BUILDDIR32}
DRC315123f2010-02-15 16:14:26 +0000258
259endif
260
DRC6533b6e2010-02-15 14:57:18 +0000261dmg: all
DRCb94f2de2011-03-22 09:31:25 +0000262 sh pkgscripts/makemacpkg
DRCb9b1ca32010-02-17 02:24:02 +0000263
264if X86_64
265
DRC0f53df82010-10-21 19:47:06 +0000266csunpkg: all
DRCb94f2de2011-03-22 09:31:25 +0000267 sh pkgscripts/makesunpkg combined ${BUILDDIR32}
DRCb9b1ca32010-02-17 02:24:02 +0000268
DRC3dc1bc22010-05-10 22:18:10 +0000269endif
DRCae79fdb2010-06-09 20:16:04 +0000270
DRC0f53df82010-10-21 19:47:06 +0000271sunpkg: all
DRCb94f2de2011-03-22 09:31:25 +0000272 sh pkgscripts/makesunpkg
DRC0f53df82010-10-21 19:47:06 +0000273
DRCae79fdb2010-06-09 20:16:04 +0000274cygwinpkg: all
DRCb94f2de2011-03-22 09:31:25 +0000275 sh pkgscripts/makecygwinpkg