@@ -531,13 +531,11 @@ PYTHON_LIBS+=$(CNTKLIBRARY_LIB)
531
531
JAVA_LIBS+=$( CNTKLIBRARY_LIB)
532
532
SRC+=$( CNTKLIBRARY_SRC)
533
533
534
- OPENCV_LIBS:=-lopencv_core -lopencv_imgproc -lopencv_imgcodecs
535
-
536
534
$( CNTKLIBRARY_LIB) : $( CNTKLIBRARY_OBJ) | $( CNTKMATH_LIB)
537
535
@echo $( SEPARATOR)
538
536
@mkdir -p $( dir $@ )
539
537
@echo building $@ for $( ARCH) with build type $( BUILDTYPE)
540
- $( CXX) $( LDFLAGS) -shared $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) $( OPENCV_LIBS ) -l$( CNTKMATH) $( PROTOBUF_PATH) /lib/libprotobuf.a -ldl -fopenmp
538
+ $( CXX) $( LDFLAGS) -shared $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) -l$( CNTKMATH) $( PROTOBUF_PATH) /lib/libprotobuf.a -ldl -fopenmp
541
539
542
540
543
541
# #######################################
@@ -600,7 +598,7 @@ $(PROPOSAL_LAYER_LIB): $(PROPOSAL_LAYER_LIBRARY_OBJ) | $(CNTKLIBRARY_LIB)
600
598
@echo $( SEPARATOR)
601
599
@echo creating $@ for $( ARCH) with build type $( BUILDTYPE)
602
600
@mkdir -p $( dir $@ )
603
- $( CXX) $( LDFLAGS) -shared $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) ) $( patsubst %,$( RPATH) %, $( LIBDIR) $( LIBPATH) $( ORIGINDIR) ) -o $@ $^ -l$( CNTKLIBRARY) $( OPENCV_LIBS )
601
+ $( CXX) $( LDFLAGS) -shared $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) ) $( patsubst %,$( RPATH) %, $( LIBDIR) $( LIBPATH) $( ORIGINDIR) ) -o $@ $^ -l$( CNTKLIBRARY)
604
602
605
603
606
604
# #######################################
@@ -665,7 +663,7 @@ $(EVAL_CLIENT): $(EVAL_CLIENT_OBJ) | $(EVAL_LIB) $(READER_LIBS)
665
663
@echo $( SEPARATOR)
666
664
@mkdir -p $( dir $@ )
667
665
@echo building $( EVAL_CLIENT) for $( ARCH) with build type $( BUILDTYPE)
668
- $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) -l$( EVAL) $( L_READER_LIBS) $( lMULTIVERSO) $( OPENCV_LIBS )
666
+ $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) -l$( EVAL) $( L_READER_LIBS) $( lMULTIVERSO)
669
667
670
668
EVAL_EXTENDED_CLIENT:=$( BINDIR) /cppevalextendedclient
671
669
@@ -681,7 +679,7 @@ $(EVAL_EXTENDED_CLIENT): $(EVAL_EXTENDED_CLIENT_OBJ) | $(EVAL_LIB) $(READER_LIBS
681
679
@echo $( SEPARATOR)
682
680
@mkdir -p $( dir $@ )
683
681
@echo building $( EVAL_EXTENDED_CLIENT) for $( ARCH) with build type $( BUILDTYPE)
684
- $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) -l$( EVAL) $( L_READER_LIBS) $( lMULTIVERSO) $( OPENCV_LIBS )
682
+ $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) -l$( EVAL) $( L_READER_LIBS) $( lMULTIVERSO)
685
683
686
684
# #######################################
687
685
# Eval V2 Sample client
@@ -1009,6 +1007,32 @@ $(IMAGEREADER): $(IMAGEREADER_OBJ) | $(CNTKMATH_LIB)
1009
1007
endif
1010
1008
endif
1011
1009
1010
+ # #######################################
1011
+ # ImageWriter plugin
1012
+ # #######################################
1013
+
1014
+ ifdef OPENCV_PATH
1015
+ IMAGEWRITER_LIBS_LIST := opencv_core opencv_imgproc opencv_imgcodecs
1016
+ IMAGEWRITER_LIBS:= $( addprefix -l,$( IMAGEWRITER_LIBS_LIST) )
1017
+
1018
+ IMAGEWRITER_SRC =\
1019
+ $( SOURCEDIR) /ImageWriterDll/ImageWriter.cpp \
1020
+
1021
+ IMAGEWRITER_OBJ := $( patsubst %.cpp, $( OBJDIR) /%.o, $( IMAGEWRITER_SRC) )
1022
+
1023
+ IMAGEWRITER:=$( LIBDIR) /Cntk.ImageWriter-$( CNTK_COMPONENT_VERSION) .so
1024
+ ALL_LIBS += $( IMAGEWRITER)
1025
+ PYTHON_LIBS += $( IMAGEWRITER)
1026
+ SRC+=$( IMAGEWRITER_SRC)
1027
+
1028
+ INCLUDEPATH += $( OPENCV_PATH) /include
1029
+ LIBPATH += $( OPENCV_PATH) /lib $( OPENCV_PATH) /release/lib
1030
+
1031
+ $( IMAGEWRITER) : $( IMAGEWRITER_OBJ)
1032
+ @echo $( SEPARATOR)
1033
+ $( CXX) $( LDFLAGS) -shared $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) ) $( patsubst %,$( RPATH) %, $( ORIGINDIR) $( LIBPATH) ) -o $@ $^ $( IMAGEWRITER_LIBS)
1034
+ endif
1035
+
1012
1036
# #######################################
1013
1037
# 1bit SGD setup
1014
1038
# #######################################
@@ -1131,7 +1155,7 @@ $(CNTK): $(CNTK_OBJ) | $(READER_LIBS) $(MULTIVERSO_LIB)
1131
1155
@echo $( SEPARATOR)
1132
1156
@mkdir -p $( dir $@ )
1133
1157
@echo building $@ for $( ARCH) with build type $( BUILDTYPE)
1134
- $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) $( L_READER_LIBS) $( lMULTIVERSO) -ldl -fopenmp $( PROTOBUF_PATH) /lib/libprotobuf.a $( OPENCV_LIBS )
1158
+ $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) ) $( patsubst %,$( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) ) -o $@ $^ $( LIBS) $( L_READER_LIBS) $( lMULTIVERSO) -ldl -fopenmp $( PROTOBUF_PATH) /lib/libprotobuf.a
1135
1159
1136
1160
# deployable resources: standard library of BS
1137
1161
CNTK_CORE_BS:=$( BINDIR) /cntk.core.bs
@@ -1204,7 +1228,7 @@ $(UNITTEST_EVAL) : $(UNITTEST_EVAL_OBJ) | $(EVAL_LIB) $(READER_LIBS)
1204
1228
@echo $( SEPARATOR)
1205
1229
@mkdir -p $( dir $@ )
1206
1230
@echo building $@ for $( ARCH) with build type $( BUILDTYPE)
1207
- $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) $( BOOSTLIB_PATH) ) $( patsubst %, $( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) $( BOOSTLIB_PATH) ) -o $@ $^ $( BOOSTLIBS) $( LIBS) -l$( EVAL) $( L_READER_LIBS) $( lMULTIVERSO) $( OPENCV_LIBS )
1231
+ $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) $( BOOSTLIB_PATH) ) $( patsubst %, $( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) $( BOOSTLIB_PATH) ) -o $@ $^ $( BOOSTLIBS) $( LIBS) -l$( EVAL) $( L_READER_LIBS) $( lMULTIVERSO)
1208
1232
1209
1233
# TODO: create project specific makefile or rules to avoid adding project specific path to the global path
1210
1234
INCLUDEPATH += $( SOURCEDIR) /Readers/CNTKTextFormatReader
@@ -1271,7 +1295,7 @@ $(UNITTEST_NETWORK): $(UNITTEST_NETWORK_OBJ) | $(READER_LIBS) $(CNTKTEXTFORMATRE
1271
1295
@echo $( SEPARATOR)
1272
1296
@mkdir -p $( dir $@ )
1273
1297
@echo building $@ for $( ARCH) with build type $( BUILDTYPE)
1274
- $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) $( BOOSTLIB_PATH) ) $( patsubst %, $( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) $( BOOSTLIB_PATH) ) -o $@ $^ $( BOOSTLIBS) $( LIBS) $( lMULTIVERSO) $( L_READER_LIBS) -ldl -fopenmp $( PROTOBUF_PATH) /lib/libprotobuf.a $( OPENCV_LIBS )
1298
+ $( CXX) $( LDFLAGS) $( patsubst %,-L%, $( LIBDIR) $( LIBPATH) $( GDK_NVML_LIB_PATH) $( BOOSTLIB_PATH) ) $( patsubst %, $( RPATH) %, $( ORIGINLIBDIR) $( LIBPATH) $( BOOSTLIB_PATH) ) -o $@ $^ $( BOOSTLIBS) $( LIBS) $( lMULTIVERSO) $( L_READER_LIBS) -ldl -fopenmp $( PROTOBUF_PATH) /lib/libprotobuf.a
1275
1299
1276
1300
UNITTEST_MATH_SRC = \
1277
1301
$( SOURCEDIR) /../Tests/UnitTests/MathTests/BatchNormalizationEngineTests.cpp \
0 commit comments