| vpath %.c simd |
| vpath %.asm simd |
| |
| include win/Makerules |
| |
| TARGETS = $(ODIR)/jpeg62.dll \ |
| $(ODIR)/jpeg.lib \ |
| $(ODIR)/jpeg-static.lib \ |
| $(ODIR)/cjpeg.exe \ |
| $(ODIR)/djpeg.exe \ |
| $(ODIR)/jpegtran.exe \ |
| $(ODIR)/rdjpgcom.exe \ |
| $(ODIR)/wrjpgcom.exe \ |
| $(ODIR)/turbojpeg.dll \ |
| $(ODIR)/turbojpeg.lib \ |
| $(ODIR)/turbojpeg-static.lib \ |
| $(ODIR)/jpgtest.exe \ |
| $(ODIR)/jpegut.exe |
| |
| LOBJS = $(ODIR)/jcapimin.obj \ |
| $(ODIR)/jcapistd.obj \ |
| $(ODIR)/jccoefct.obj \ |
| $(ODIR)/jccolor.obj \ |
| $(ODIR)/jcdctmgr.obj \ |
| $(ODIR)/jchuff.obj \ |
| $(ODIR)/jcinit.obj \ |
| $(ODIR)/jcmainct.obj \ |
| $(ODIR)/jcmarker.obj \ |
| $(ODIR)/jcmaster.obj \ |
| $(ODIR)/jcomapi.obj \ |
| $(ODIR)/jcparam.obj \ |
| $(ODIR)/jcphuff.obj \ |
| $(ODIR)/jcprepct.obj \ |
| $(ODIR)/jcsample.obj \ |
| $(ODIR)/jctrans.obj \ |
| $(ODIR)/jdapimin.obj \ |
| $(ODIR)/jdapistd.obj \ |
| $(ODIR)/jdatadst.obj \ |
| $(ODIR)/jdatasrc.obj \ |
| $(ODIR)/jdcoefct.obj \ |
| $(ODIR)/jdcolor.obj \ |
| $(ODIR)/jddctmgr.obj \ |
| $(ODIR)/jdhuff.obj \ |
| $(ODIR)/jdinput.obj \ |
| $(ODIR)/jdmainct.obj \ |
| $(ODIR)/jdmarker.obj \ |
| $(ODIR)/jdmaster.obj \ |
| $(ODIR)/jdmerge.obj \ |
| $(ODIR)/jdphuff.obj \ |
| $(ODIR)/jdpostct.obj \ |
| $(ODIR)/jdsample.obj \ |
| $(ODIR)/jdtrans.obj \ |
| $(ODIR)/jerror.obj \ |
| $(ODIR)/jfdctflt.obj \ |
| $(ODIR)/jfdctfst.obj \ |
| $(ODIR)/jfdctint.obj \ |
| $(ODIR)/jidctflt.obj \ |
| $(ODIR)/jidctfst.obj \ |
| $(ODIR)/jidctint.obj \ |
| $(ODIR)/jidctred.obj \ |
| $(ODIR)/jquant1.obj \ |
| $(ODIR)/jquant2.obj \ |
| $(ODIR)/jutils.obj \ |
| $(ODIR)/jmemmgr.obj \ |
| $(ODIR)/jmemnobs.obj |
| |
| ifeq ($(WITH_SIMD), yes) |
| |
| ifeq ($(WIN64), yes) |
| SIMD_OBJS = $(ODIR)/jfsseflt-64.obj \ |
| $(ODIR)/jccolss2-64.obj \ |
| $(ODIR)/jdcolss2-64.obj \ |
| $(ODIR)/jcsamss2-64.obj \ |
| $(ODIR)/jdsamss2-64.obj \ |
| $(ODIR)/jdmerss2-64.obj \ |
| $(ODIR)/jcqnts2i-64.obj \ |
| $(ODIR)/jfss2fst-64.obj \ |
| $(ODIR)/jfss2int-64.obj \ |
| $(ODIR)/jiss2red-64.obj \ |
| $(ODIR)/jiss2int-64.obj \ |
| $(ODIR)/jiss2fst-64.obj \ |
| $(ODIR)/jcqnts2f-64.obj \ |
| $(ODIR)/jiss2flt-64.obj |
| LOBJS := $(LOBJS) $(ODIR)/jsimd_x86_64.obj |
| else |
| SIMD_OBJS = $(ODIR)/jsimdcpu.obj \ |
| $(ODIR)/jccolmmx.obj \ |
| $(ODIR)/jdcolmmx.obj \ |
| $(ODIR)/jcsammmx.obj \ |
| $(ODIR)/jdsammmx.obj \ |
| $(ODIR)/jdmermmx.obj \ |
| $(ODIR)/jcqntmmx.obj \ |
| $(ODIR)/jfmmxfst.obj \ |
| $(ODIR)/jfmmxint.obj \ |
| $(ODIR)/jimmxred.obj \ |
| $(ODIR)/jimmxint.obj \ |
| $(ODIR)/jimmxfst.obj \ |
| $(ODIR)/jcqnt3dn.obj \ |
| $(ODIR)/jf3dnflt.obj \ |
| $(ODIR)/ji3dnflt.obj \ |
| $(ODIR)/jcqntsse.obj \ |
| $(ODIR)/jfsseflt.obj \ |
| $(ODIR)/jisseflt.obj \ |
| $(ODIR)/jccolss2.obj \ |
| $(ODIR)/jdcolss2.obj \ |
| $(ODIR)/jcsamss2.obj \ |
| $(ODIR)/jdsamss2.obj \ |
| $(ODIR)/jdmerss2.obj \ |
| $(ODIR)/jcqnts2i.obj \ |
| $(ODIR)/jfss2fst.obj \ |
| $(ODIR)/jfss2int.obj \ |
| $(ODIR)/jiss2red.obj \ |
| $(ODIR)/jiss2int.obj \ |
| $(ODIR)/jiss2fst.obj \ |
| $(ODIR)/jcqnts2f.obj \ |
| $(ODIR)/jiss2flt.obj |
| LOBJS := $(LOBJS) $(ODIR)/jsimd_i386.obj |
| endif |
| |
| else |
| |
| LOBJS := $(LOBJS) $(ODIR)/jsimd_none.obj |
| |
| endif |
| |
| LOBJSSTATIC := $(subst .obj,-static.obj,$(LOBJS)) |
| LOBJS := $(LOBJS) $(SIMD_OBJS) |
| LOBJSSTATIC := $(LOBJSSTATIC) $(SIMD_OBJS) |
| |
| OBJS := $(LOBJS) $(LOBJSSTATIC) \ |
| $(ODIR)/cdjpeg.obj \ |
| $(ODIR)/cjpeg.obj \ |
| $(ODIR)/djpeg.obj \ |
| $(ODIR)/jpegtran.obj \ |
| $(ODIR)/rdbmp.obj \ |
| $(ODIR)/rdcolmap.obj \ |
| $(ODIR)/rdgif.obj \ |
| $(ODIR)/rdjpgcom.obj \ |
| $(ODIR)/rdppm.obj \ |
| $(ODIR)/rdtarga.obj \ |
| $(ODIR)/rdswitch.obj \ |
| $(ODIR)/rdtarga.obj \ |
| $(ODIR)/transupp.obj \ |
| $(ODIR)/wrbmp.obj \ |
| $(ODIR)/wrgif.obj \ |
| $(ODIR)/wrppm.obj \ |
| $(ODIR)/wrtarga.obj \ |
| $(ODIR)/wrjpgcom.obj \ |
| $(ODIR)/turbojpegl-static.obj \ |
| $(ODIR)/turbojpegl-dll.obj \ |
| $(ODIR)/jpgtest.obj \ |
| $(ODIR)/jpegut.obj \ |
| $(ODIR)/bmp-static.obj |
| |
| all: $(TARGETS) |
| |
| clean: testclean |
| -$(RM) $(TARGETS) $(OBJS) |
| |
| HDRS := $(wildcard *.h) |
| $(OBJS): $(HDRS) |
| |
| ifeq ($(WITH_SIMD), yes) |
| SIMD_HDRS := $(wildcard simd/*.inc) |
| $(SIMD_OBJS): $(SIMD_HDRS) |
| |
| ifeq ($(WIN64), yes) |
| $(ODIR)/jccolss2-64.obj: simd/jcclrss2-64.asm |
| $(ODIR)/jdcolss2-64.obj: simd/jdclrss2-64.asm |
| $(ODIR)/jdmerss2-64.obj: simd/jdmrgss2-64.asm |
| else |
| $(ODIR)/jccolmmx.obj: simd/jcclrmmx.asm |
| $(ODIR)/jccolss2.obj: simd/jcclrss2.asm |
| $(ODIR)/jdcolmmx.obj: simd/jdclrmmx.asm |
| $(ODIR)/jdcolss2.obj: simd/jdclrss2.asm |
| $(ODIR)/jdmermmx.obj: simd/jdmrgmmx.asm |
| $(ODIR)/jdmerss2.obj: simd/jdmrgss2.asm |
| endif |
| |
| endif |
| |
| $(ODIR)/jpeg-static.lib: $(LOBJSSTATIC) |
| $(AR) -out:$@ $^ |
| |
| $(ODIR)/jpeg62.dll $(ODIR)/jpeg.lib: $(LOBJS) win/jpeg.def |
| $(LINK) $(LDFLAGS) -dll -out:$(ODIR)/jpeg62.dll -implib:$(ODIR)/jpeg.lib \ |
| -def:win/jpeg.def $(LOBJS) |
| |
| $(ODIR)/cjpeg.exe: $(ODIR)/cdjpeg.obj $(ODIR)/cjpeg.obj $(ODIR)/rdbmp.obj \ |
| $(ODIR)/rdgif.obj $(ODIR)/rdppm.obj $(ODIR)/rdswitch.obj \ |
| $(ODIR)/rdtarga.obj $(ODIR)/jpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| |
| $(ODIR)/djpeg.exe: $(ODIR)/cdjpeg.obj $(ODIR)/djpeg.obj $(ODIR)/rdcolmap.obj \ |
| $(ODIR)/rdswitch.obj $(ODIR)/wrbmp.obj $(ODIR)/wrgif.obj $(ODIR)/wrppm.obj \ |
| $(ODIR)/wrtarga.obj $(ODIR)/jpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| |
| $(ODIR)/jpegtran.exe: $(ODIR)/cdjpeg.obj $(ODIR)/jpegtran.obj \ |
| $(ODIR)/rdswitch.obj $(ODIR)/transupp.obj $(ODIR)/jpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| $(ODIR)/rdjpgcom.exe: $(ODIR)/rdjpgcom.obj $(ODIR)/jpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| $(ODIR)/wrjpgcom.exe: $(ODIR)/wrjpgcom.obj $(ODIR)/jpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| |
| $(ODIR)/turbojpeg-static.lib: $(ODIR)/turbojpegl-static.obj $(LOBJSSTATIC) |
| $(AR) -out:$@ $^ |
| |
| $(ODIR)/turbojpegl-dll.obj: turbojpegl.c |
| $(CC) $(CFLAGS) $(LIBCSTATIC) -DDLLDEFINE -c $< -Fo$@ |
| |
| $(ODIR)/turbojpeg.dll $(ODIR)/turbojpeg.lib: $(ODIR)/turbojpegl-dll.obj \ |
| $(LOBJSSTATIC) |
| $(LINK) $(LDFLAGS) -dll -out:$(ODIR)/turbojpeg.dll \ |
| -implib:$(ODIR)/turbojpeg.lib $^ |
| |
| |
| $(ODIR)/jpgtest.exe: $(ODIR)/jpgtest.obj $(ODIR)/bmp-static.obj \ |
| $(ODIR)/turbojpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| $(ODIR)/jpegut.exe: $(ODIR)/jpegut.obj $(ODIR)/turbojpeg.lib |
| $(LINK) $(LDFLAGS) -out:$@ $^ |
| |
| |
| ifeq ($(WIN64), yes) |
| nsi: all |
| $(RM) $(ODIR)/libjpeg-turbo64.exe |
| makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo64 \ |
| -DWLIBDIR=windows64 -DWSRCDIR=. -DWBLDDIR=windows64 -DWHDRDIR=win \ |
| -DPLATFORM="Visual C++ 64-bit" -DWIN64 release/libjpeg-turbo.nsi |
| else |
| nsi: all |
| $(RM) $(ODIR)/libjpeg-turbo.exe |
| makensis -nocd -DVERSION=$(VERSION) -DAPPNAME=libjpeg-turbo \ |
| -DWLIBDIR=windows -DWSRCDIR=. -DWBLDDIR=windows -DWHDRDIR=win \ |
| -DPLATFORM="Visual C++" release/libjpeg-turbo.nsi |
| endif |
| |
| test: testclean $(ODIR)/cjpeg.exe $(ODIR)/djpeg.exe $(ODIR)/jpegtran.exe \ |
| $(ODIR)/jpegut.exe |
| cd $(ODIR); ./jpegut |
| $(ODIR)/cjpeg -dct int -outfile $(ODIR)/testoutint.jpg testorig.ppm |
| $(ODIR)/cjpeg -dct fast -opt -outfile $(ODIR)/testoutfst.jpg testorig.ppm |
| $(ODIR)/cjpeg -dct float -outfile $(ODIR)/testoutflt.jpg testorig.ppm |
| cmp testimgint.jpg $(ODIR)/testoutint.jpg |
| cmp testimgfst.jpg $(ODIR)/testoutfst.jpg |
| cmp testimgflt.jpg $(ODIR)/testoutflt.jpg |
| $(ODIR)/djpeg -dct int -fast -ppm -outfile $(ODIR)/testoutint.ppm testorig.jpg |
| $(ODIR)/djpeg -dct fast -ppm -outfile $(ODIR)/testoutfst.ppm testorig.jpg |
| $(ODIR)/djpeg -dct float -ppm -outfile $(ODIR)/testoutflt.ppm testorig.jpg |
| cmp testimgint.ppm $(ODIR)/testoutint.ppm |
| cmp testimgfst.ppm $(ODIR)/testoutfst.ppm |
| cmp testimgflt.ppm $(ODIR)/testoutflt.ppm |
| $(ODIR)/djpeg -dct int -bmp -colors 256 -outfile $(ODIR)/testout.bmp testorig.jpg |
| cmp testimg.bmp $(ODIR)/testout.bmp |
| $(ODIR)/cjpeg -dct int -progressive -outfile $(ODIR)/testoutp.jpg testorig.ppm |
| cmp testimgp.jpg $(ODIR)/testoutp.jpg |
| $(ODIR)/jpegtran -outfile $(ODIR)/testoutt.jpg $(ODIR)/testoutp.jpg |
| cmp testimgint.jpg $(ODIR)/testoutt.jpg |
| |
| testclean: |
| $(RM) $(ODIR)/testout* \ |
| $(ODIR)/*_GRAYQ[0-9]*.bmp \ |
| $(ODIR)/*_GRAYQ[0-9]*.ppm \ |
| $(ODIR)/*_GRAYQ[0-9]*.jpg \ |
| $(ODIR)/*_420Q[0-9]*.bmp \ |
| $(ODIR)/*_420Q[0-9]*.ppm \ |
| $(ODIR)/*_420Q[0-9]*.jpg \ |
| $(ODIR)/*_422Q[0-9]*.bmp \ |
| $(ODIR)/*_422Q[0-9]*.ppm \ |
| $(ODIR)/*_422Q[0-9]*.jpg \ |
| $(ODIR)/*_444Q[0-9]*.bmp \ |
| $(ODIR)/*_444Q[0-9]*.ppm \ |
| $(ODIR)/*_444Q[0-9]*.jpg |