blob: bf0c1df343ec88782847b7810b6da46c862f0bd8 [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
10libjpeg_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 \
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000017 jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c
Constantin Kaplinsky0ca44252008-09-28 05:08:48 +000018
DRC6f8c6682010-02-16 05:03:51 +000019libturbojpeg_la_SOURCES = $(libjpeg_la_SOURCES) turbojpegl.c turbojpeg.h \
20 turbojpeg-mapfile
21
DRC8515d3d2010-10-19 06:38:57 +000022if ANON_VERSION_SCRIPT
23
24libturbojpeg_la_LDFLAGS += $(ANON_VERSION_SCRIPT_FLAG)$(srcdir)/turbojpeg-mapfile
25
26endif
27
DRC6f8c6682010-02-16 05:03:51 +000028if VERSION_SCRIPT
29
DRC8515d3d2010-10-19 06:38:57 +000030libjpeg_la_LDFLAGS += $(VERSION_SCRIPT_FLAG)libjpeg.map
DRC6f8c6682010-02-16 05:03:51 +000031
32endif
DRC1bf1a142010-02-11 06:39:32 +000033
DRC60cddeb2010-02-12 05:37:07 +000034if WITH_SIMD
35
Pierre Ossman3a65ef42009-03-16 13:34:18 +000036SUBDIRS = simd
37libjpeg_la_LIBADD = simd/libsimd.la
DRC1bf1a142010-02-11 06:39:32 +000038libturbojpeg_la_LIBADD = simd/libsimd.la
Pierre Ossman2ae181c2009-03-09 13:21:27 +000039
DRC60cddeb2010-02-12 05:37:07 +000040else
41
42libjpeg_la_SOURCES += jsimd_none.c
43
44endif
45
DRC1bf1a142010-02-11 06:39:32 +000046TSTHDRS = rrutil.h rrtimer.h
DRC2e7b76b2009-04-03 12:04:24 +000047
DRC8e2bba92010-06-04 23:54:10 +000048bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom
49noinst_PROGRAMS = jpgtest jpegut
DRC2e7b76b2009-04-03 12:04:24 +000050
DRC1bf1a142010-02-11 06:39:32 +000051jpgtest_SOURCES = $(TSTHDRS) jpgtest.cxx bmp.h bmp.c
DRC2e7b76b2009-04-03 12:04:24 +000052
DRC971d8512010-02-13 22:55:05 +000053jpgtest_LDADD = libturbojpeg.la
DRC2e7b76b2009-04-03 12:04:24 +000054
DRC1bf1a142010-02-11 06:39:32 +000055jpegut_SOURCES = $(TSTHDRS) jpegut.c bmp.h bmp.c
DRC2e7b76b2009-04-03 12:04:24 +000056
DRC971d8512010-02-13 22:55:05 +000057jpegut_LDADD = libturbojpeg.la
DRC73de9822009-06-25 20:41:17 +000058
59cjpeg_SOURCES = cdjpeg.h cderror.h cdjpeg.c cjpeg.c rdbmp.c rdgif.c \
60 rdppm.c rdswitch.c rdtarga.c
61
DRC971d8512010-02-13 22:55:05 +000062cjpeg_LDADD = libjpeg.la
DRC73de9822009-06-25 20:41:17 +000063
64cjpeg_CFLAGS = -DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED \
65 -DTARGA_SUPPORTED
66
67djpeg_SOURCES = cdjpeg.h cderror.h cdjpeg.c djpeg.c rdcolmap.c rdswitch.c \
68 wrbmp.c wrgif.c wrppm.c wrtarga.c
69
DRC971d8512010-02-13 22:55:05 +000070djpeg_LDADD = libjpeg.la
DRC73de9822009-06-25 20:41:17 +000071
72djpeg_CFLAGS = -DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED \
73 -DTARGA_SUPPORTED
DRC60fa0602010-02-12 06:01:49 +000074
DRC0a945a12010-02-15 11:04:51 +000075jpegtran_SOURCES = jpegtran.c rdswitch.c cdjpeg.c transupp.c transupp.h
DRC60fa0602010-02-12 06:01:49 +000076
DRC971d8512010-02-13 22:55:05 +000077jpegtran_LDADD = libjpeg.la
DRC60fa0602010-02-12 06:01:49 +000078
DRC0a945a12010-02-15 11:04:51 +000079rdjpgcom_SOURCES = rdjpgcom.c
DRC60fa0602010-02-12 06:01:49 +000080
DRC971d8512010-02-13 22:55:05 +000081rdjpgcom_LDADD = libjpeg.la
DRC60fa0602010-02-12 06:01:49 +000082
83wrjpgcom_SOURCES = wrjpgcom.c
84
DRC971d8512010-02-13 22:55:05 +000085wrjpgcom_LDADD = libjpeg.la
DRC60fa0602010-02-12 06:01:49 +000086
DRC0a945a12010-02-15 11:04:51 +000087
DRCcbda81a2010-06-05 01:12:35 +000088dist_man1_MANS = cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1
DRC0a945a12010-02-15 11:04:51 +000089
DRC39ea5622010-10-12 01:55:31 +000090DOCS= README install.txt usage.txt wizard.txt example.c libjpeg.txt \
91 structure.txt coderules.txt filelist.txt jconfig.txt change.log \
DRC0b7d4ed2010-03-03 09:37:58 +000092 README-turbo.txt rdrle.c wrrle.c LICENSE.txt LGPL.txt BUILDING.txt \
93 ChangeLog.txt
DRC0a945a12010-02-15 11:04:51 +000094
DRC968c8bb2010-02-22 22:50:13 +000095TESTFILES= testorig.jpg testorig.ppm testimg.bmp testimgflt.jpg \
DRC50503c72010-09-09 21:00:31 +000096 testimgfst.jpg testimgint.jpg testimgp.jpg testimgflt.ppm testimgfst.ppm \
DRC1f80a102010-10-18 00:15:31 +000097 testimgint.ppm testimgflt-nosimd.jpg testimgcrop.jpg
DRC0a945a12010-02-15 11:04:51 +000098
DRC1f80a102010-10-18 00:15:31 +000099EXTRA_DIST = win release $(DOCS) $(TESTFILES) CMakeLists.txt \
DRC8515d3d2010-10-19 06:38:57 +0000100 sharedlib/CMakeLists.txt cmakescripts libjpeg.map.in
DRC0a945a12010-02-15 11:04:51 +0000101
102dist-hook:
103 rm -rf `find $(distdir) -name .svn`
104
105
DRC83f21442010-06-10 18:52:41 +0000106if WITH_SIMD
107
DRC5263a802010-09-09 21:02:21 +0000108test: testclean all
DRC971d8512010-02-13 22:55:05 +0000109 ./jpegut
DRC0fd8be52010-02-19 05:12:39 +0000110 ./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
111 ./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig.ppm
112 ./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testorig.ppm
113 cmp $(srcdir)/testimgint.jpg testoutint.jpg
114 cmp $(srcdir)/testimgfst.jpg testoutfst.jpg
115 cmp $(srcdir)/testimgflt.jpg testoutflt.jpg
116 ./djpeg -dct int -fast -ppm -outfile testoutint.ppm $(srcdir)/testorig.jpg
117 ./djpeg -dct fast -ppm -outfile testoutfst.ppm $(srcdir)/testorig.jpg
118 ./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testorig.jpg
119 cmp $(srcdir)/testimgint.ppm testoutint.ppm
120 cmp $(srcdir)/testimgfst.ppm testoutfst.ppm
DRC30959712010-08-07 16:06:56 +0000121 cmp $(srcdir)/testimgflt.ppm testoutflt.ppm
DRC971d8512010-02-13 22:55:05 +0000122 ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
DRC6f525922010-02-15 11:10:08 +0000123 cmp $(srcdir)/testimg.bmp testout.bmp
DRC0fd8be52010-02-19 05:12:39 +0000124 ./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig.ppm
DRC6f525922010-02-15 11:10:08 +0000125 cmp $(srcdir)/testimgp.jpg testoutp.jpg
DRC0fd8be52010-02-19 05:12:39 +0000126 ./jpegtran -outfile testoutt.jpg testoutp.jpg
127 cmp $(srcdir)/testimgint.jpg testoutt.jpg
DRC9a648cc2010-10-10 02:48:21 +0000128 ./jpegtran -crop 120x90+20+50 -transpose -perfect -outfile testoutcrop.jpg $(srcdir)/testorig.jpg
DRCc04bd3c2010-10-10 02:15:56 +0000129 cmp $(srcdir)/testimgcrop.jpg testoutcrop.jpg
DRC34d59e72010-02-12 06:27:34 +0000130
DRC83f21442010-06-10 18:52:41 +0000131else
132
DRC5263a802010-09-09 21:02:21 +0000133test: testclean all
DRC83f21442010-06-10 18:52:41 +0000134 ./jpegut
DRC30959712010-08-07 16:06:56 +0000135 ./cjpeg -dct int -outfile testoutint.jpg $(srcdir)/testorig.ppm
136 ./cjpeg -dct fast -opt -outfile testoutfst.jpg $(srcdir)/testorig.ppm
137 ./cjpeg -dct float -outfile testoutflt.jpg $(srcdir)/testorig.ppm
138 cmp $(srcdir)/testimgint.jpg testoutint.jpg
139 cmp $(srcdir)/testimgfst.jpg testoutfst.jpg
DRC83f21442010-06-10 18:52:41 +0000140 cmp $(srcdir)/testimgflt-nosimd.jpg testoutflt.jpg
141 ./djpeg -dct int -fast -ppm -outfile testoutint.ppm $(srcdir)/testorig.jpg
142 ./djpeg -dct fast -ppm -outfile testoutfst.ppm $(srcdir)/testorig.jpg
143 ./djpeg -dct float -ppm -outfile testoutflt.ppm $(srcdir)/testorig.jpg
144 cmp $(srcdir)/testimgint.ppm testoutint.ppm
DRC30959712010-08-07 16:06:56 +0000145 cmp $(srcdir)/testimgfst.ppm testoutfst.ppm
146 cmp $(srcdir)/testorig.ppm testoutflt.ppm
DRC83f21442010-06-10 18:52:41 +0000147 ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
DRC30959712010-08-07 16:06:56 +0000148 cmp $(srcdir)/testimg.bmp testout.bmp
149 ./cjpeg -dct int -progressive -outfile testoutp.jpg $(srcdir)/testorig.ppm
150 cmp $(srcdir)/testimgp.jpg testoutp.jpg
DRC83f21442010-06-10 18:52:41 +0000151 ./jpegtran -outfile testoutt.jpg testoutp.jpg
DRC30959712010-08-07 16:06:56 +0000152 cmp $(srcdir)/testimgint.jpg testoutt.jpg
DRC9a648cc2010-10-10 02:48:21 +0000153 ./jpegtran -crop 120x90+20+50 -transpose -perfect -outfile testoutcrop.jpg $(srcdir)/testorig.jpg
DRCc04bd3c2010-10-10 02:15:56 +0000154 cmp $(srcdir)/testimgcrop.jpg testoutcrop.jpg
DRC83f21442010-06-10 18:52:41 +0000155
156endif
157
DRC34d59e72010-02-12 06:27:34 +0000158testclean:
DRC7b991722010-06-10 19:44:56 +0000159 rm -f testout*
160 rm -f *_GRAYQ[0-9]*.bmp
161 rm -f *_GRAYQ[0-9]*.ppm
162 rm -f *_GRAYQ[0-9]*.jpg
163 rm -f *_420Q[0-9]*.bmp
164 rm -f *_420Q[0-9]*.ppm
165 rm -f *_420Q[0-9]*.jpg
166 rm -f *_422Q[0-9]*.bmp
167 rm -f *_422Q[0-9]*.ppm
168 rm -f *_422Q[0-9]*.jpg
169 rm -f *_444Q[0-9]*.bmp
170 rm -f *_444Q[0-9]*.ppm
171 rm -f *_444Q[0-9]*.jpg
DRC079b4342010-02-15 11:32:23 +0000172
DRCd1c281a2010-11-17 22:44:40 +0000173if X86_64
174
175install-exec-hook:
176 __PREFIX=`echo ${prefix} | sed -e 's@\/*$$@@'`; \
177 if [ "$$__PREFIX" = "/opt/libjpeg-turbo" ]; then \
178 cd $(DESTDIR)/${prefix}; \
179 if [ -d lib -a ! -d lib64 -a ! -h lib64 ]; then \
180 $(LN_S) lib lib64; \
181 fi \
182 fi
183
184else
185
186install-exec-hook:
187 __PREFIX=`echo ${prefix} | sed -e 's@\/*$$@@'`; \
188 if [ "$$__PREFIX" = "/opt/libjpeg-turbo" ]; then \
189 cd $(DESTDIR)/${prefix}; \
190 if [ -d lib -a ! -d lib32 -a ! -h lib32 ]; then \
191 $(LN_S) lib lib32; \
192 fi \
193 fi
194
195endif
196
DRC079b4342010-02-15 11:32:23 +0000197rpm: all
DRC1f80a102010-10-18 00:15:31 +0000198 TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
199 mkdir -p $$TMPDIR/RPMS; \
200 ln -fs `pwd` $$TMPDIR/BUILD; \
201 rm -f ${PACKAGE_NAME}.${RPMARCH}.rpm; \
202 rpmbuild -bb --define "_blddir $$TMPDIR/buildroot" \
203 --define "_topdir $$TMPDIR" --define "_srcdir ${srcdir}" \
204 --target ${RPMARCH} libjpeg-turbo.spec; \
205 cp $$TMPDIR/RPMS/${RPMARCH}/${PACKAGE_NAME}-${VERSION}-${BUILD}.${RPMARCH}.rpm ${PACKAGE_NAME}.${RPMARCH}.rpm; \
206 rm -rf $$TMPDIR
DRC079b4342010-02-15 11:32:23 +0000207
DRCf26914b2010-02-15 11:36:46 +0000208srpm: dist-gzip
DRC1f80a102010-10-18 00:15:31 +0000209 TMPDIR=`mktemp -d /tmp/${PACKAGE_NAME}-build.XXXXXX`; \
210 mkdir -p $$TMPDIR/RPMS; \
211 mkdir -p $$TMPDIR/SRPMS; \
212 mkdir -p $$TMPDIR/BUILD; \
213 mkdir -p $$TMPDIR/SOURCES; \
214 mkdir -p $$TMPDIR/SPECS; \
215 rm -f ${PACKAGE_NAME}.src.rpm; \
216 cp ${PACKAGE_NAME}-${VERSION}.tar.gz $$TMPDIR/SOURCES; \
217 cat libjpeg-turbo.spec | sed s/%{_blddir}/%{_tmppath}/g \
218 | sed s@%{_srcdir}/@@g | sed s/#--\>//g \
219 >$$TMPDIR/SPECS/libjpeg-turbo.spec; \
220 rpmbuild -bs --define "_topdir $$TMPDIR" $$TMPDIR/SPECS/libjpeg-turbo.spec; \
221 cp $$TMPDIR/SRPMS/${PACKAGE_NAME}-${VERSION}-${BUILD}.src.rpm ${PACKAGE_NAME}.src.rpm; \
222 rm -rf $$TMPDIR
DRC52a19f22010-02-15 12:06:27 +0000223
224deb: all
225 sh $(srcdir)/release/makedpkg ${PACKAGE_NAME} ${VERSION} ${BUILD} \
226 ${DEBARCH} ${srcdir}
DRC6533b6e2010-02-15 14:57:18 +0000227
DRC315123f2010-02-15 16:14:26 +0000228if X86_64
229
230udmg: all
DRC0f53df82010-10-21 19:47:06 +0000231 sh makemacpkg universal ${BUILDDIR32}
DRC315123f2010-02-15 16:14:26 +0000232
233endif
234
DRC6533b6e2010-02-15 14:57:18 +0000235dmg: all
DRC0f53df82010-10-21 19:47:06 +0000236 sh makemacpkg
DRCb9b1ca32010-02-17 02:24:02 +0000237
238if X86_64
239
DRC0f53df82010-10-21 19:47:06 +0000240csunpkg: all
241 sh makesunpkg combined ${BUILDDIR32}
DRCb9b1ca32010-02-17 02:24:02 +0000242
DRC3dc1bc22010-05-10 22:18:10 +0000243endif
DRCae79fdb2010-06-09 20:16:04 +0000244
DRC0f53df82010-10-21 19:47:06 +0000245sunpkg: all
246 sh makesunpkg
247
DRCae79fdb2010-06-09 20:16:04 +0000248cygwinpkg: all
249 sh $(srcdir)/release/makecygwinpkg ${PACKAGE_NAME} ${VERSION} ${srcdir}