diff --git a/config/Doxyfile b/config/Doxyfile
index 374de918..2d1dab76 100644
--- a/config/Doxyfile
+++ b/config/Doxyfile
@@ -700,10 +700,10 @@ RECURSIVE = NO
# Note that relative paths are relative to the directory from which doxygen is
# run.
-EXCLUDE = ../include/exiv2/Jzon.h \
+EXCLUDE = ../samples/Jzon.h \
../src/getopt_win32.c \
../src/getopt_win32.h \
- ../src/Jzon.cpp \
+ ../samples/Jzon.cpp \
../src/localtime.c \
../src/private.h \
../src/timegm.h \
diff --git a/msvc2003/exiv2json/exiv2json.vcproj b/msvc2003/exiv2json/exiv2json.vcproj
index de2d1b20..a86bb755 100644
--- a/msvc2003/exiv2json/exiv2json.vcproj
+++ b/msvc2003/exiv2json/exiv2json.vcproj
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/msvc2003/exiv2lib/exiv2lib.vcproj b/msvc2003/exiv2lib/exiv2lib.vcproj
index 306c5862..5b4df817 100644
--- a/msvc2003/exiv2lib/exiv2lib.vcproj
+++ b/msvc2003/exiv2lib/exiv2lib.vcproj
@@ -1,566 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/msvc2005/exiv2json/exiv2json.vcproj b/msvc2005/exiv2json/exiv2json.vcproj
index 2e709c22..22133f03 100644
--- a/msvc2005/exiv2json/exiv2json.vcproj
+++ b/msvc2005/exiv2json/exiv2json.vcproj
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/msvc2005/libexiv2/libexiv2.vcproj b/msvc2005/libexiv2/libexiv2.vcproj
index 661f520d..cd7ea5e9 100644
--- a/msvc2005/libexiv2/libexiv2.vcproj
+++ b/msvc2005/libexiv2/libexiv2.vcproj
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index 50dc51d9..9fc59b3f 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -28,7 +28,6 @@ SET( SAMPLES addmoddel.cpp
exifdata.cpp
exifprint.cpp
exifvalue.cpp
- exiv2json.cpp
geotag.cpp
iotest.cpp
iptceasy.cpp
@@ -69,6 +68,12 @@ SET_TARGET_PROPERTIES( pathtest PROPERTIES OUTPUT_NAME path-test )
TARGET_LINK_LIBRARIES( pathtest exiv2lib )
INSTALL( TARGETS pathtest ${INSTALL_TARGET_STANDARD_ARGS} )
+SET( EXIV2JSON_SRC exiv2json.cpp Jzon.cpp )
+ADD_EXECUTABLE( exiv2json ${EXIV2JSON_SRC} )
+SET_TARGET_PROPERTIES( exiv2json PROPERTIES OUTPUT_NAME exiv2json )
+TARGET_LINK_LIBRARIES( exiv2json exiv2lib )
+INSTALL( TARGETS exiv2json ${INSTALL_TARGET_STANDARD_ARGS} )
+
# That's all Folks!
##
diff --git a/src/Jzon.cpp b/samples/Jzon.cpp
similarity index 100%
rename from src/Jzon.cpp
rename to samples/Jzon.cpp
diff --git a/include/exiv2/Jzon.h b/samples/Jzon.h
similarity index 100%
rename from include/exiv2/Jzon.h
rename to samples/Jzon.h
diff --git a/samples/Makefile b/samples/Makefile
index ccb50d63..1bc2f8c5 100644
--- a/samples/Makefile
+++ b/samples/Makefile
@@ -161,6 +161,13 @@ metacopy path-test: %: %.cpp ../src/utils.o
@$(POSTDEPEND)
$(LIBTOOL) --mode=link $(LINK.cc) $@.o ../src/utils.o -o ../bin/$@
+# link applications which require Jzon.cpp support
+exiv2json: %: %.cpp ../samples/Jzon.o
+ $(COMPILE.cc) -I. -o $@.o $<
+ @$(MAKEDEPEND)
+ @$(POSTDEPEND)
+ $(LIBTOOL) --mode=link $(LINK.cc) $@.o ../samples/Jzon.o -o ../bin/$@
+
# Remove binaries, e.g., to relink them
binclean:
$(RM) $(EXECUTABLE)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 706ab672..c38fb25e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -57,7 +57,6 @@ SET( LIBEXIV2_HDR ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/asfvideo.hp
${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/iptc.hpp
${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/jp2image.hpp
${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/jpgimage.hpp
- ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/Jzon.h
${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/matroskavideo.hpp
${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/metadatum.hpp
${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/mrwimage.hpp
@@ -105,7 +104,6 @@ SET( LIBEXIV2_SRC asfvideo.cpp
iptc.cpp
jp2image.cpp
jpgimage.cpp
- Jzon.cpp
makernote.cpp
matroskavideo.cpp
metadatum.cpp
diff --git a/src/Makefile b/src/Makefile
index 327549da..370c5ee2 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -63,7 +63,6 @@ CCHDR = exiv2.hpp \
config.h \
exv_conf.h \
exv_msvc.h \
- Jzon.h \
version.hpp
# Add library C++ source files to this list
@@ -88,7 +87,6 @@ CCSRC = asfvideo.cpp \
iptc.cpp \
jp2image.cpp \
jpgimage.cpp \
- Jzon.cpp \
makernote.cpp \
matroskavideo.cpp \
metadatum.cpp \