Use the C library DLL only with jpeg62.dll where it is needed. Build turbojpeg.dll with the static C library to maintain backward compatibility with TurboJPEG/IPP
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@135 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
34
win/Makefile
34
win/Makefile
@@ -67,8 +67,7 @@ LOBJS = $(ODIR)/jcapimin.obj \
|
|||||||
ifeq ($(WITH_SIMD), yes)
|
ifeq ($(WITH_SIMD), yes)
|
||||||
|
|
||||||
ifeq ($(WIN64), yes)
|
ifeq ($(WIN64), yes)
|
||||||
SIMD_OBJS = $(ODIR)/jsimd_x86_64.obj \
|
SIMD_OBJS = $(ODIR)/jfsseflt-64.obj \
|
||||||
$(ODIR)/jfsseflt-64.obj \
|
|
||||||
$(ODIR)/jccolss2-64.obj \
|
$(ODIR)/jccolss2-64.obj \
|
||||||
$(ODIR)/jdcolss2-64.obj \
|
$(ODIR)/jdcolss2-64.obj \
|
||||||
$(ODIR)/jcsamss2-64.obj \
|
$(ODIR)/jcsamss2-64.obj \
|
||||||
@@ -82,9 +81,9 @@ ifeq ($(WITH_SIMD), yes)
|
|||||||
$(ODIR)/jiss2fst-64.obj \
|
$(ODIR)/jiss2fst-64.obj \
|
||||||
$(ODIR)/jcqnts2f-64.obj \
|
$(ODIR)/jcqnts2f-64.obj \
|
||||||
$(ODIR)/jiss2flt-64.obj
|
$(ODIR)/jiss2flt-64.obj
|
||||||
|
LOBJS := $(LOBJS) $(ODIR)/jsimd_x86_64.obj
|
||||||
else
|
else
|
||||||
SIMD_OBJS = $(ODIR)/jsimd_i386.obj \
|
SIMD_OBJS = $(ODIR)/jsimdcpu.obj \
|
||||||
$(ODIR)/jsimdcpu.obj \
|
|
||||||
$(ODIR)/jccolmmx.obj \
|
$(ODIR)/jccolmmx.obj \
|
||||||
$(ODIR)/jdcolmmx.obj \
|
$(ODIR)/jdcolmmx.obj \
|
||||||
$(ODIR)/jcsammmx.obj \
|
$(ODIR)/jcsammmx.obj \
|
||||||
@@ -115,17 +114,20 @@ ifeq ($(WITH_SIMD), yes)
|
|||||||
$(ODIR)/jiss2fst.obj \
|
$(ODIR)/jiss2fst.obj \
|
||||||
$(ODIR)/jcqnts2f.obj \
|
$(ODIR)/jcqnts2f.obj \
|
||||||
$(ODIR)/jiss2flt.obj
|
$(ODIR)/jiss2flt.obj
|
||||||
|
LOBJS := $(LOBJS) $(ODIR)/jsimd_i386.obj
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LOBJS := $(LOBJS) $(SIMD_OBJS)
|
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
LOBJS := $(LOBJS) $(ODIR)/jsimd_none.obj
|
LOBJS := $(LOBJS) $(ODIR)/jsimd_none.obj
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJS := $(LOBJS) \
|
LOBJSSTATIC := $(subst .obj,-static.obj,$(LOBJS))
|
||||||
|
LOBJS := $(LOBJS) $(SIMD_OBJS)
|
||||||
|
LOBJSSTATIC := $(LOBJSSTATIC) $(SIMD_OBJS)
|
||||||
|
|
||||||
|
OBJS := $(LOBJS) $(LOBJSSTATIC) \
|
||||||
$(ODIR)/cdjpeg.obj \
|
$(ODIR)/cdjpeg.obj \
|
||||||
$(ODIR)/cjpeg.obj \
|
$(ODIR)/cjpeg.obj \
|
||||||
$(ODIR)/djpeg.obj \
|
$(ODIR)/djpeg.obj \
|
||||||
@@ -144,15 +146,15 @@ OBJS := $(LOBJS) \
|
|||||||
$(ODIR)/wrppm.obj \
|
$(ODIR)/wrppm.obj \
|
||||||
$(ODIR)/wrtarga.obj \
|
$(ODIR)/wrtarga.obj \
|
||||||
$(ODIR)/wrjpgcom.obj \
|
$(ODIR)/wrjpgcom.obj \
|
||||||
$(ODIR)/turbojpegl.obj \
|
$(ODIR)/turbojpegl-static.obj \
|
||||||
$(ODIR)/turbojpegl-dll.obj \
|
$(ODIR)/turbojpegl-dll.obj \
|
||||||
$(ODIR)/jpgtest.obj \
|
$(ODIR)/jpgtest.obj \
|
||||||
$(ODIR)/jpegut.obj \
|
$(ODIR)/jpegut.obj \
|
||||||
$(ODIR)/bmp.obj
|
$(ODIR)/bmp-static.obj
|
||||||
|
|
||||||
all: $(TARGETS)
|
all: $(TARGETS)
|
||||||
|
|
||||||
clean:
|
clean: testclean
|
||||||
-$(RM) $(TARGETS) $(OBJS)
|
-$(RM) $(TARGETS) $(OBJS)
|
||||||
|
|
||||||
HDRS := $(wildcard *.h)
|
HDRS := $(wildcard *.h)
|
||||||
@@ -177,7 +179,7 @@ endif
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(ODIR)/jpeg-static.lib: $(LOBJS)
|
$(ODIR)/jpeg-static.lib: $(LOBJSSTATIC)
|
||||||
$(AR) -out:$@ $^
|
$(AR) -out:$@ $^
|
||||||
|
|
||||||
$(ODIR)/jpeg62.dll $(ODIR)/jpeg.lib: $(LOBJS) win/jpeg.def
|
$(ODIR)/jpeg62.dll $(ODIR)/jpeg.lib: $(LOBJS) win/jpeg.def
|
||||||
@@ -207,18 +209,20 @@ $(ODIR)/wrjpgcom.exe: $(ODIR)/wrjpgcom.obj $(ODIR)/jpeg.lib
|
|||||||
$(LINK) $(LDFLAGS) -out:$@ $^
|
$(LINK) $(LDFLAGS) -out:$@ $^
|
||||||
|
|
||||||
|
|
||||||
$(ODIR)/turbojpeg-static.lib: $(ODIR)/turbojpegl.obj $(LOBJS)
|
$(ODIR)/turbojpeg-static.lib: $(ODIR)/turbojpegl-static.obj $(LOBJSSTATIC)
|
||||||
$(AR) -out:$@ $^
|
$(AR) -out:$@ $^
|
||||||
|
|
||||||
$(ODIR)/turbojpegl-dll.obj: turbojpegl.c
|
$(ODIR)/turbojpegl-dll.obj: turbojpegl.c
|
||||||
$(CC) $(CFLAGS) -DDLLDEFINE -c $< -Fo$@
|
$(CC) $(CFLAGS) $(LIBCSTATIC) -DDLLDEFINE -c $< -Fo$@
|
||||||
|
|
||||||
$(ODIR)/turbojpeg.dll $(ODIR)/turbojpeg.lib: $(ODIR)/turbojpegl-dll.obj $(LOBJS)
|
$(ODIR)/turbojpeg.dll $(ODIR)/turbojpeg.lib: $(ODIR)/turbojpegl-dll.obj \
|
||||||
|
$(LOBJSSTATIC)
|
||||||
$(LINK) $(LDFLAGS) -dll -out:$(ODIR)/turbojpeg.dll \
|
$(LINK) $(LDFLAGS) -dll -out:$(ODIR)/turbojpeg.dll \
|
||||||
-implib:$(ODIR)/turbojpeg.lib $^
|
-implib:$(ODIR)/turbojpeg.lib $^
|
||||||
|
|
||||||
|
|
||||||
$(ODIR)/jpgtest.exe: $(ODIR)/jpgtest.obj $(ODIR)/bmp.obj $(ODIR)/turbojpeg.lib
|
$(ODIR)/jpgtest.exe: $(ODIR)/jpgtest.obj $(ODIR)/bmp-static.obj \
|
||||||
|
$(ODIR)/turbojpeg.lib
|
||||||
$(LINK) $(LDFLAGS) -out:$@ $^
|
$(LINK) $(LDFLAGS) -out:$@ $^
|
||||||
|
|
||||||
$(ODIR)/jpegut.exe: $(ODIR)/jpegut.obj $(ODIR)/turbojpeg.lib
|
$(ODIR)/jpegut.exe: $(ODIR)/jpegut.obj $(ODIR)/turbojpeg.lib
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ VERSION = 0.0.90
|
|||||||
CC = "cl" -nologo
|
CC = "cl" -nologo
|
||||||
CXX = "cl" -EHsc -nologo
|
CXX = "cl" -EHsc -nologo
|
||||||
AR = "link" -lib -nologo
|
AR = "link" -lib -nologo
|
||||||
LINK = "link" -nologo -nodefaultlib:libcmt
|
LINK = "link" -nologo
|
||||||
ifeq ($(DEBUG), yes)
|
ifeq ($(DEBUG), yes)
|
||||||
LINK = "link" -nologo -debug -nodefaultlib:libcmt
|
LINK = "link" -nologo -debug
|
||||||
endif
|
endif
|
||||||
ifeq ($(NASM),)
|
ifeq ($(NASM),)
|
||||||
NASM = nasm
|
NASM = nasm
|
||||||
@@ -35,10 +35,14 @@ else
|
|||||||
NAFLAGS = -fwin32 -DWIN32 -DMSVC -Iwin/
|
NAFLAGS = -fwin32 -DWIN32 -DMSVC -Iwin/
|
||||||
endif
|
endif
|
||||||
ifeq ($(DEBUG), yes)
|
ifeq ($(DEBUG), yes)
|
||||||
CFLAGS := $(CFLAGS) -Od -MDd -Zi
|
CFLAGS := $(CFLAGS) -Od -Zi
|
||||||
NAFLAGS := $(NAFLAGS) -g
|
NAFLAGS := $(NAFLAGS) -g
|
||||||
|
LIBCDLL = -MDd
|
||||||
|
LIBCSTATIC = -MTd
|
||||||
else
|
else
|
||||||
CFLAGS := $(CFLAGS) -O2 -MD
|
CFLAGS := $(CFLAGS) -O2
|
||||||
|
LIBCDLL = -MD
|
||||||
|
LIBCSTATIC = -MT
|
||||||
endif
|
endif
|
||||||
|
|
||||||
WITH_SIMD = yes
|
WITH_SIMD = yes
|
||||||
@@ -49,10 +53,13 @@ endif
|
|||||||
|
|
||||||
|
|
||||||
$(ODIR)/%.obj: %.c
|
$(ODIR)/%.obj: %.c
|
||||||
$(CC) $(CFLAGS) -c $< -Fo$@
|
$(CC) $(CFLAGS) $(LIBCDLL) -c $< -Fo$@
|
||||||
|
|
||||||
|
$(ODIR)/%-static.obj: %.c
|
||||||
|
$(CC) $(CFLAGS) $(LIBCSTATIC) -c $< -Fo$@
|
||||||
|
|
||||||
$(ODIR)/%.obj: %.cxx
|
$(ODIR)/%.obj: %.cxx
|
||||||
$(CXX) $(CXXFLAGS) -c $< -Fo$@
|
$(CXX) $(CXXFLAGS) $(LIBCSTATIC) -c $< -Fo$@
|
||||||
|
|
||||||
$(ODIR)/%.obj: %.asm
|
$(ODIR)/%.obj: %.asm
|
||||||
$(NASM) $(NAFLAGS) -Isimd/ -o $@ $<
|
$(NASM) $(NAFLAGS) -Isimd/ -o $@ $<
|
||||||
|
|||||||
Reference in New Issue
Block a user