1all: library all_samples 2 3#CFLAGS=-arch i386 -arch x86_64 -O3 -I. -w 4CFLAGS=-arch x86_64 -fPIC -mfpmath=sse -msse4.2 -ffunction-sections -fdata-sections -ffast-math -fvisibility=hidden -fvisibility-inlines-hidden -fnon-call-exceptions -O3 -I. -w 5CC=clang 6CXX=clang++ 7 8# OpenMP support 9#CFLAGS+=-fopenmp 10 11# RawSpeed Support 12#CFLAGS+=-pthread -DUSE_RAWSPEED -I../RawSpeed -I/usr/local/include/libxml2 13#LDADD+=-L../RawSpeed/RawSpeed -lrawspeed -L/usr/local/lib -ljpeg -lxml2 14#RAWSPEED_DATA=../RawSpeed/data/cameras.xml 15 16# DNG SDK Support 17# CFLAGS+=-DUSE_DNGSDK -I../dng_sdk/source 18# LDADDD+=-L../dng_sdk/release -ldng -lXMPCore -ljpeg -lz 19 20# Jasper support for RedCine 21#CFLAGS+=-DUSE_JASPER -I/usr/local/include 22#LDADD+=-L/usr/local/lib -ljasper 23 24# JPEG support for lossy DNG 25#CFLAGS+=-DUSE_JPEG -I/usr/local/include 26#LDADD+=-L/usr/local/lib -ljpeg 27# LIBJPEG8: 28#CFLAGS+=-DUSE_JPEG8 29 30# LCMS support 31#CFLAGS+=-DUSE_LCMS -I/usr/local/include 32#LDADD+=-L/usr/local/lib -llcms 33 34# LCMS2.x support 35#CFLAGS+=-DUSE_LCMS2 -I/usr/local/include 36#LDADD+=-L/usr/local/lib -llcms2 37 38CSTFLAGS=$(CFLAGS) -DLIBRAW_NOTHREADS 39 40LIB_OBJECTS= object/libraw_datastream.o object/libraw_c_api.o \ 41 object/cameralist.o object/fuji_compressed.o \ 42 object/crx.o object/fp_dng.o object/decoders_libraw.o \ 43 object/unpack.o object/unpack_thumb.o \ 44 object/rawspeed_glue.o object/dngsdk_glue.o \ 45 object/colorconst.o object/utils_libraw.o object/init_close_utils.o \ 46 object/decoder_info.o object/open.o object/phaseone_processing.o \ 47 object/thumb_utils.o \ 48 object/tiff_writer.o object/subtract_black.o object/postprocessing_utils.o \ 49 object/dcraw_process.o object/raw2image.o object/mem_image.o \ 50 object/x3f_utils_patched.o object/x3f_parse_process.o \ 51 object/read_utils.o object/curves.o object/utils_dcraw.o \ 52 object/colordata.o \ 53 object/canon_600.o object/decoders_dcraw.o \ 54 object/decoders_libraw_dcrdefs.o object/generic.o \ 55 object/kodak_decoders.o object/dng.o object/smal.o \ 56 object/load_mfbacks.o \ 57 object/sony.o object/nikon.o object/samsung.o object/cr3_parser.o \ 58 object/canon.o object/epson.o object/olympus.o object/leica.o \ 59 object/fuji.o object/adobepano.o object/pentax.o object/p1.o \ 60 object/makernotes.o object/exif_gps.o object/kodak.o \ 61 object/tiff.o object/ciff.o object/mediumformat.o object/minolta.o \ 62 object/identify_tools.o \ 63 object/hasselblad_model.o object/normalize_model.o object/identify.o \ 64 object/misc_parsers.o object/wblists.o \ 65 object/postprocessing_aux.o object/postprocessing_utils_dcrdefs.o \ 66 object/aspect_ratio.o \ 67 object/misc_demosaic.o object/xtrans_demosaic.o object/ahd_demosaic.o \ 68 object/dht_demosaic.o object/aahd_demosaic.o object/dcb_demosaic.o \ 69 object/file_write.o \ 70 object/ext_preprocess.o object/apply_profile.o 71 72 73LIB_MT_OBJECTS= object/libraw_datastream.mt.o object/libraw_c_api.mt.o \ 74 object/cameralist.mt.o object/fuji_compressed.mt.o \ 75 object/crx.mt.o object/fp_dng.mt.o object/decoders_libraw.mt.o \ 76 object/unpack.mt.o object/unpack_thumb.mt.o \ 77 object/rawspeed_glue.mt.o object/dngsdk_glue.mt.o \ 78 object/colorconst.mt.o object/utils_libraw.mt.o \ 79 object/init_close_utils.mt.o \ 80 object/decoder_info.mt.o object/open.mt.o object/phaseone_processing.mt.o \ 81 object/thumb_utils.mt.o \ 82 object/tiff_writer.mt.o object/subtract_black.mt.o \ 83 object/postprocessing_utils.mt.o object/dcraw_process.mt.o \ 84 object/raw2image.mt.o object/mem_image.mt.o \ 85 object/x3f_utils_patched.mt.o object/x3f_parse_process.mt.o \ 86 object/read_utils.mt.o object/curves.mt.o object/utils_dcraw.mt.o \ 87 object/colordata.mt.o \ 88 object/canon_600.mt.o object/decoders_dcraw.mt.o \ 89 object/decoders_libraw_dcrdefs.mt.o object/generic.mt.o \ 90 object/kodak_decoders.mt.o object/dng.mt.o object/smal.mt.o \ 91 object/load_mfbacks.mt.o \ 92 object/sony.mt.o object/nikon.mt.o object/samsung.mt.o \ 93 object/cr3_parser.mt.o object/canon.mt.o object/epson.mt.o \ 94 object/olympus.mt.o object/leica.mt.o \ 95 object/fuji.mt.o object/adobepano.mt.o object/pentax.mt.o object/p1.mt.o \ 96 object/makernotes.mt.o object/exif_gps.mt.o object/kodak.mt.o \ 97 object/tiff.mt.o object/ciff.mt.o object/mediumformat.mt.o \ 98 object/minolta.mt.o \ 99 object/identify_tools.mt.o \ 100 object/hasselblad_model.o object/normalize_model.mt.o object/identify.mt.o \ 101 object/misc_parsers.mt.o object/wblists.mt.o \ 102 object/postprocessing_aux.mt.o object/postprocessing_utils_dcrdefs.mt.o \ 103 object/aspect_ratio.mt.o \ 104 object/misc_demosaic.mt.o object/xtrans_demosaic.mt.o \ 105 object/ahd_demosaic.mt.o object/dht_demosaic.mt.o \ 106 object/aahd_demosaic.mt.o object/dcb_demosaic.mt.o \ 107 object/file_write.mt.o \ 108 object/ext_preprocess.mt.o object/apply_profile.mt.o 109 110 111LR_INCLUDES=libraw/libraw.h libraw/libraw_alloc.h \ 112 libraw/libraw_const.h libraw/libraw_datastream.h \ 113 libraw/libraw_internal.h libraw/libraw_types.h \ 114 libraw/libraw_version.h 115 116library: lib/libraw.a lib/liblibraw_r-pxi.a 117 118all_samples: bin/raw-identify bin/simple_dcraw bin/dcraw_emu bin/dcraw_half bin/half_mt bin/mem_image \ 119 bin/unprocessed_raw bin/4channels bin/multirender_test bin/postprocessing_benchmark \ 120 bin/rawtextdump 121 122install: library 123 @if [ -d /usr/local/include ] ; then cp -R libraw /usr/local/include/ ; else echo 'no /usr/local/include' ; fi 124 @if [ -d /usr/local/lib ] ; then cp lib/libraw.a lib/liblibraw_r-pxi.a /usr/local/lib/ ; else echo 'no /usr/local/lib' ; fi 125 126install-binaries: all_samples 127 @if [ -d /usr/local/bin ] ; then cp bin/[a-z]* /usr/local/bin/ ; else echo 'no /usr/local/bin' ; fi 128 129 130## RawSpeed xml file 131 132RawSpeed/rawspeed_xmldata.cpp: ${RAWSPEED_DATA} 133 ./rsxml2c.sh ${RAWSPEED_DATA} > RawSpeed/rawspeed_xmldata.cpp 134 135#binaries 136 137bin/raw-identify: lib/libraw.a samples/raw-identify.cpp 138 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/raw-identify samples/raw-identify.cpp -L./lib -lraw -lm ${LDADD} 139 140bin/unprocessed_raw: lib/libraw.a samples/unprocessed_raw.cpp 141 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/unprocessed_raw samples/unprocessed_raw.cpp -L./lib -lraw -lm ${LDADD} 142 143bin/4channels: lib/libraw.a samples/4channels.cpp 144 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/4channels samples/4channels.cpp -L./lib -lraw -lm ${LDADD} 145 146bin/rawtextdump: lib/libraw.a samples/rawtextdump.cpp 147 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/rawtextdump samples/rawtextdump.cpp -L./lib -lraw -lm ${LDADD} 148 149bin/simple_dcraw: lib/libraw.a samples/simple_dcraw.cpp 150 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/simple_dcraw samples/simple_dcraw.cpp -L./lib -lraw -lm ${LDADD} 151 152bin/multirender_test: lib/libraw.a samples/multirender_test.cpp 153 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/multirender_test samples/multirender_test.cpp -L./lib -lraw -lm ${LDADD} 154 155bin/postprocessing_benchmark: lib/libraw.a samples/postprocessing_benchmark.cpp 156 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/postprocessing_benchmark samples/postprocessing_benchmark.cpp -L./lib -lraw -lm ${LDADD} 157 158bin/mem_image: lib/libraw.a samples/mem_image_sample.cpp 159 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/mem_image samples/mem_image_sample.cpp -L./lib -lraw -lm ${LDADD} 160 161bin/dcraw_half: lib/libraw.a object/dcraw_half.o 162 ${CC} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/dcraw_half object/dcraw_half.o -L./lib -lraw -lm -lstdc++ ${LDADD} 163 164bin/half_mt: lib/liblibraw_r-pxi.a object/half_mt.o 165 ${CC} -pthread ${CFLAGS} -o bin/half_mt object/half_mt.o -L./lib -llibraw_r-pxi -lm -lstdc++ ${LDADD} 166 167bin/dcraw_emu: lib/libraw.a samples/dcraw_emu.cpp 168 ${CXX} -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/dcraw_emu samples/dcraw_emu.cpp -L./lib -lraw -lm ${LDADD} 169 170#objects 171 172object/dcraw_half.o: samples/dcraw_half.c 173 ${CC} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dcraw_half.o samples/dcraw_half.c 174 175object/half_mt.o: samples/half_mt.c 176 ${CC} -c -pthread ${CFLAGS} -o object/half_mt.o samples/half_mt.c 177 178 179lib/libraw.a: ${LIB_OBJECTS} 180 rm -f lib/libraw.a 181 ar crv lib/libraw.a ${LIB_OBJECTS} 182 ranlib lib/libraw.a 183 184lib/liblibraw_r-pxi.a: ${LIB_MT_OBJECTS} 185 rm -f lib/liblibraw_r-pxi.a 186 ar crv lib/liblibraw_r-pxi.a ${LIB_MT_OBJECTS} 187 ranlib lib/liblibraw_r-pxi.a 188 189clean: 190 rm -fr bin/*.dSYM 191 rm -f *.o *~ src/*~ samples/*~ internal/*~ libraw/*~ lib/lib*.a bin/[4a-z]* object/*o dcraw/*~ doc/*~ bin/*~ src/*/*~ 192 193### generated 194object/libraw_c_api.o: src/libraw_c_api.cpp 195 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/libraw_c_api.o src/libraw_c_api.cpp 196object/libraw_c_api.mt.o: src/libraw_c_api.cpp 197 ${CXX} -c ${CFLAGS} -o object/libraw_c_api.mt.o src/libraw_c_api.cpp 198object/libraw_cxx.o: src/libraw_cxx.cpp 199 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/libraw_cxx.o src/libraw_cxx.cpp 200object/libraw_cxx.mt.o: src/libraw_cxx.cpp 201 ${CXX} -c ${CFLAGS} -o object/libraw_cxx.mt.o src/libraw_cxx.cpp 202object/libraw_datastream.o: src/libraw_datastream.cpp 203 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/libraw_datastream.o src/libraw_datastream.cpp 204object/libraw_datastream.mt.o: src/libraw_datastream.cpp 205 ${CXX} -c ${CFLAGS} -o object/libraw_datastream.mt.o src/libraw_datastream.cpp 206object/canon_600.o: src/decoders/canon_600.cpp 207 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/canon_600.o src/decoders/canon_600.cpp 208object/canon_600.mt.o: src/decoders/canon_600.cpp 209 ${CXX} -c ${CFLAGS} -o object/canon_600.mt.o src/decoders/canon_600.cpp 210object/crx.o: src/decoders/crx.cpp 211 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/crx.o src/decoders/crx.cpp 212object/crx.mt.o: src/decoders/crx.cpp 213 ${CXX} -c ${CFLAGS} -o object/crx.mt.o src/decoders/crx.cpp 214object/decoders_dcraw.o: src/decoders/decoders_dcraw.cpp 215 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoders_dcraw.o src/decoders/decoders_dcraw.cpp 216object/decoders_dcraw.mt.o: src/decoders/decoders_dcraw.cpp 217 ${CXX} -c ${CFLAGS} -o object/decoders_dcraw.mt.o src/decoders/decoders_dcraw.cpp 218object/decoders_libraw_dcrdefs.o: src/decoders/decoders_libraw_dcrdefs.cpp 219 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoders_libraw_dcrdefs.o src/decoders/decoders_libraw_dcrdefs.cpp 220object/decoders_libraw_dcrdefs.mt.o: src/decoders/decoders_libraw_dcrdefs.cpp 221 ${CXX} -c ${CFLAGS} -o object/decoders_libraw_dcrdefs.mt.o src/decoders/decoders_libraw_dcrdefs.cpp 222object/decoders_libraw.o: src/decoders/decoders_libraw.cpp 223 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoders_libraw.o src/decoders/decoders_libraw.cpp 224object/decoders_libraw.mt.o: src/decoders/decoders_libraw.cpp 225 ${CXX} -c ${CFLAGS} -o object/decoders_libraw.mt.o src/decoders/decoders_libraw.cpp 226object/dng.o: src/decoders/dng.cpp 227 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dng.o src/decoders/dng.cpp 228object/dng.mt.o: src/decoders/dng.cpp 229 ${CXX} -c ${CFLAGS} -o object/dng.mt.o src/decoders/dng.cpp 230object/fp_dng.o: src/decoders/fp_dng.cpp 231 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/fp_dng.o src/decoders/fp_dng.cpp 232object/fp_dng.mt.o: src/decoders/fp_dng.cpp 233 ${CXX} -c ${CFLAGS} -o object/fp_dng.mt.o src/decoders/fp_dng.cpp 234object/fuji_compressed.o: src/decoders/fuji_compressed.cpp 235 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/fuji_compressed.o src/decoders/fuji_compressed.cpp 236object/fuji_compressed.mt.o: src/decoders/fuji_compressed.cpp 237 ${CXX} -c ${CFLAGS} -o object/fuji_compressed.mt.o src/decoders/fuji_compressed.cpp 238object/generic.o: src/decoders/generic.cpp 239 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/generic.o src/decoders/generic.cpp 240object/generic.mt.o: src/decoders/generic.cpp 241 ${CXX} -c ${CFLAGS} -o object/generic.mt.o src/decoders/generic.cpp 242object/kodak_decoders.o: src/decoders/kodak_decoders.cpp 243 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/kodak_decoders.o src/decoders/kodak_decoders.cpp 244object/kodak_decoders.mt.o: src/decoders/kodak_decoders.cpp 245 ${CXX} -c ${CFLAGS} -o object/kodak_decoders.mt.o src/decoders/kodak_decoders.cpp 246object/load_mfbacks.o: src/decoders/load_mfbacks.cpp 247 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/load_mfbacks.o src/decoders/load_mfbacks.cpp 248object/load_mfbacks.mt.o: src/decoders/load_mfbacks.cpp 249 ${CXX} -c ${CFLAGS} -o object/load_mfbacks.mt.o src/decoders/load_mfbacks.cpp 250object/smal.o: src/decoders/smal.cpp 251 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/smal.o src/decoders/smal.cpp 252object/smal.mt.o: src/decoders/smal.cpp 253 ${CXX} -c ${CFLAGS} -o object/smal.mt.o src/decoders/smal.cpp 254object/unpack_thumb.o: src/decoders/unpack_thumb.cpp 255 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/unpack_thumb.o src/decoders/unpack_thumb.cpp 256object/unpack_thumb.mt.o: src/decoders/unpack_thumb.cpp 257 ${CXX} -c ${CFLAGS} -o object/unpack_thumb.mt.o src/decoders/unpack_thumb.cpp 258object/unpack.o: src/decoders/unpack.cpp 259 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/unpack.o src/decoders/unpack.cpp 260object/unpack.mt.o: src/decoders/unpack.cpp 261 ${CXX} -c ${CFLAGS} -o object/unpack.mt.o src/decoders/unpack.cpp 262object/aahd_demosaic.o: src/demosaic/aahd_demosaic.cpp 263 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/aahd_demosaic.o src/demosaic/aahd_demosaic.cpp 264object/aahd_demosaic.mt.o: src/demosaic/aahd_demosaic.cpp 265 ${CXX} -c ${CFLAGS} -o object/aahd_demosaic.mt.o src/demosaic/aahd_demosaic.cpp 266object/ahd_demosaic.o: src/demosaic/ahd_demosaic.cpp 267 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/ahd_demosaic.o src/demosaic/ahd_demosaic.cpp 268object/ahd_demosaic.mt.o: src/demosaic/ahd_demosaic.cpp 269 ${CXX} -c ${CFLAGS} -o object/ahd_demosaic.mt.o src/demosaic/ahd_demosaic.cpp 270object/dcb_demosaic.o: src/demosaic/dcb_demosaic.cpp 271 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dcb_demosaic.o src/demosaic/dcb_demosaic.cpp 272object/dcb_demosaic.mt.o: src/demosaic/dcb_demosaic.cpp 273 ${CXX} -c ${CFLAGS} -o object/dcb_demosaic.mt.o src/demosaic/dcb_demosaic.cpp 274object/dht_demosaic.o: src/demosaic/dht_demosaic.cpp 275 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dht_demosaic.o src/demosaic/dht_demosaic.cpp 276object/dht_demosaic.mt.o: src/demosaic/dht_demosaic.cpp 277 ${CXX} -c ${CFLAGS} -o object/dht_demosaic.mt.o src/demosaic/dht_demosaic.cpp 278object/misc_demosaic.o: src/demosaic/misc_demosaic.cpp 279 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/misc_demosaic.o src/demosaic/misc_demosaic.cpp 280object/misc_demosaic.mt.o: src/demosaic/misc_demosaic.cpp 281 ${CXX} -c ${CFLAGS} -o object/misc_demosaic.mt.o src/demosaic/misc_demosaic.cpp 282object/xtrans_demosaic.o: src/demosaic/xtrans_demosaic.cpp 283 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/xtrans_demosaic.o src/demosaic/xtrans_demosaic.cpp 284object/xtrans_demosaic.mt.o: src/demosaic/xtrans_demosaic.cpp 285 ${CXX} -c ${CFLAGS} -o object/xtrans_demosaic.mt.o src/demosaic/xtrans_demosaic.cpp 286object/dngsdk_glue.o: src/integration/dngsdk_glue.cpp 287 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dngsdk_glue.o src/integration/dngsdk_glue.cpp 288object/dngsdk_glue.mt.o: src/integration/dngsdk_glue.cpp 289 ${CXX} -c ${CFLAGS} -o object/dngsdk_glue.mt.o src/integration/dngsdk_glue.cpp 290object/rawspeed_glue.o: src/integration/rawspeed_glue.cpp 291 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/rawspeed_glue.o src/integration/rawspeed_glue.cpp 292object/rawspeed_glue.mt.o: src/integration/rawspeed_glue.cpp 293 ${CXX} -c ${CFLAGS} -o object/rawspeed_glue.mt.o src/integration/rawspeed_glue.cpp 294object/adobepano.o: src/metadata/adobepano.cpp 295 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/adobepano.o src/metadata/adobepano.cpp 296object/adobepano.mt.o: src/metadata/adobepano.cpp 297 ${CXX} -c ${CFLAGS} -o object/adobepano.mt.o src/metadata/adobepano.cpp 298object/canon.o: src/metadata/canon.cpp 299 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/canon.o src/metadata/canon.cpp 300object/canon.mt.o: src/metadata/canon.cpp 301 ${CXX} -c ${CFLAGS} -o object/canon.mt.o src/metadata/canon.cpp 302object/ciff.o: src/metadata/ciff.cpp 303 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/ciff.o src/metadata/ciff.cpp 304object/ciff.mt.o: src/metadata/ciff.cpp 305 ${CXX} -c ${CFLAGS} -o object/ciff.mt.o src/metadata/ciff.cpp 306object/cr3_parser.o: src/metadata/cr3_parser.cpp 307 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/cr3_parser.o src/metadata/cr3_parser.cpp 308object/cr3_parser.mt.o: src/metadata/cr3_parser.cpp 309 ${CXX} -c ${CFLAGS} -o object/cr3_parser.mt.o src/metadata/cr3_parser.cpp 310object/epson.o: src/metadata/epson.cpp 311 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/epson.o src/metadata/epson.cpp 312object/epson.mt.o: src/metadata/epson.cpp 313 ${CXX} -c ${CFLAGS} -o object/epson.mt.o src/metadata/epson.cpp 314object/exif_gps.o: src/metadata/exif_gps.cpp 315 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/exif_gps.o src/metadata/exif_gps.cpp 316object/exif_gps.mt.o: src/metadata/exif_gps.cpp 317 ${CXX} -c ${CFLAGS} -o object/exif_gps.mt.o src/metadata/exif_gps.cpp 318object/fuji.o: src/metadata/fuji.cpp 319 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/fuji.o src/metadata/fuji.cpp 320object/fuji.mt.o: src/metadata/fuji.cpp 321 ${CXX} -c ${CFLAGS} -o object/fuji.mt.o src/metadata/fuji.cpp 322object/identify_tools.o: src/metadata/identify_tools.cpp 323 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/identify_tools.o src/metadata/identify_tools.cpp 324object/identify_tools.mt.o: src/metadata/identify_tools.cpp 325 ${CXX} -c ${CFLAGS} -o object/identify_tools.mt.o src/metadata/identify_tools.cpp 326object/identify.o: src/metadata/identify.cpp 327 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/identify.o src/metadata/identify.cpp 328object/identify.mt.o: src/metadata/identify.cpp 329 ${CXX} -c ${CFLAGS} -o object/identify.mt.o src/metadata/identify.cpp 330object/kodak.o: src/metadata/kodak.cpp 331 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/kodak.o src/metadata/kodak.cpp 332object/kodak.mt.o: src/metadata/kodak.cpp 333 ${CXX} -c ${CFLAGS} -o object/kodak.mt.o src/metadata/kodak.cpp 334object/leica.o: src/metadata/leica.cpp 335 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/leica.o src/metadata/leica.cpp 336object/leica.mt.o: src/metadata/leica.cpp 337 ${CXX} -c ${CFLAGS} -o object/leica.mt.o src/metadata/leica.cpp 338object/makernotes.o: src/metadata/makernotes.cpp 339 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/makernotes.o src/metadata/makernotes.cpp 340object/makernotes.mt.o: src/metadata/makernotes.cpp 341 ${CXX} -c ${CFLAGS} -o object/makernotes.mt.o src/metadata/makernotes.cpp 342object/mediumformat.o: src/metadata/mediumformat.cpp 343 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/mediumformat.o src/metadata/mediumformat.cpp 344object/mediumformat.mt.o: src/metadata/mediumformat.cpp 345 ${CXX} -c ${CFLAGS} -o object/mediumformat.mt.o src/metadata/mediumformat.cpp 346object/minolta.o: src/metadata/minolta.cpp 347 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/minolta.o src/metadata/minolta.cpp 348object/minolta.mt.o: src/metadata/minolta.cpp 349 ${CXX} -c ${CFLAGS} -o object/minolta.mt.o src/metadata/minolta.cpp 350object/misc_parsers.o: src/metadata/misc_parsers.cpp 351 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/misc_parsers.o src/metadata/misc_parsers.cpp 352object/misc_parsers.mt.o: src/metadata/misc_parsers.cpp 353 ${CXX} -c ${CFLAGS} -o object/misc_parsers.mt.o src/metadata/misc_parsers.cpp 354object/nikon.o: src/metadata/nikon.cpp 355 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/nikon.o src/metadata/nikon.cpp 356object/nikon.mt.o: src/metadata/nikon.cpp 357 ${CXX} -c ${CFLAGS} -o object/nikon.mt.o src/metadata/nikon.cpp 358object/hasselblad_model.o: src/metadata/hasselblad_model.cpp 359 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/hasselblad_model.o src/metadata/hasselblad_model.cpp 360object/hasselblad_model.mt.o: src/metadata/hasselblad_model.cpp 361 ${CXX} -c ${CFLAGS} -o object/hasselblad_model.mt.o src/metadata/hasselblad_model.cpp 362object/normalize_model.o: src/metadata/normalize_model.cpp 363 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/normalize_model.o src/metadata/normalize_model.cpp 364object/normalize_model.mt.o: src/metadata/normalize_model.cpp 365 ${CXX} -c ${CFLAGS} -o object/normalize_model.mt.o src/metadata/normalize_model.cpp 366object/olympus.o: src/metadata/olympus.cpp 367 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/olympus.o src/metadata/olympus.cpp 368object/olympus.mt.o: src/metadata/olympus.cpp 369 ${CXX} -c ${CFLAGS} -o object/olympus.mt.o src/metadata/olympus.cpp 370object/p1.o: src/metadata/p1.cpp 371 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/p1.o src/metadata/p1.cpp 372object/p1.mt.o: src/metadata/p1.cpp 373 ${CXX} -c ${CFLAGS} -o object/p1.mt.o src/metadata/p1.cpp 374object/pentax.o: src/metadata/pentax.cpp 375 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/pentax.o src/metadata/pentax.cpp 376object/pentax.mt.o: src/metadata/pentax.cpp 377 ${CXX} -c ${CFLAGS} -o object/pentax.mt.o src/metadata/pentax.cpp 378object/samsung.o: src/metadata/samsung.cpp 379 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/samsung.o src/metadata/samsung.cpp 380object/samsung.mt.o: src/metadata/samsung.cpp 381 ${CXX} -c ${CFLAGS} -o object/samsung.mt.o src/metadata/samsung.cpp 382object/sony.o: src/metadata/sony.cpp 383 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/sony.o src/metadata/sony.cpp 384object/sony.mt.o: src/metadata/sony.cpp 385 ${CXX} -c ${CFLAGS} -o object/sony.mt.o src/metadata/sony.cpp 386object/tiff.o: src/metadata/tiff.cpp 387 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/tiff.o src/metadata/tiff.cpp 388object/tiff.mt.o: src/metadata/tiff.cpp 389 ${CXX} -c ${CFLAGS} -o object/tiff.mt.o src/metadata/tiff.cpp 390object/aspect_ratio.o: src/postprocessing/aspect_ratio.cpp 391 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/aspect_ratio.o src/postprocessing/aspect_ratio.cpp 392object/aspect_ratio.mt.o: src/postprocessing/aspect_ratio.cpp 393 ${CXX} -c ${CFLAGS} -o object/aspect_ratio.mt.o src/postprocessing/aspect_ratio.cpp 394object/dcraw_process.o: src/postprocessing/dcraw_process.cpp 395 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dcraw_process.o src/postprocessing/dcraw_process.cpp 396object/dcraw_process.mt.o: src/postprocessing/dcraw_process.cpp 397 ${CXX} -c ${CFLAGS} -o object/dcraw_process.mt.o src/postprocessing/dcraw_process.cpp 398object/mem_image.o: src/postprocessing/mem_image.cpp 399 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/mem_image.o src/postprocessing/mem_image.cpp 400object/mem_image.mt.o: src/postprocessing/mem_image.cpp 401 ${CXX} -c ${CFLAGS} -o object/mem_image.mt.o src/postprocessing/mem_image.cpp 402object/postprocessing_aux.o: src/postprocessing/postprocessing_aux.cpp 403 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/postprocessing_aux.o src/postprocessing/postprocessing_aux.cpp 404object/postprocessing_aux.mt.o: src/postprocessing/postprocessing_aux.cpp 405 ${CXX} -c ${CFLAGS} -o object/postprocessing_aux.mt.o src/postprocessing/postprocessing_aux.cpp 406object/postprocessing_utils_dcrdefs.o: src/postprocessing/postprocessing_utils_dcrdefs.cpp 407 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/postprocessing_utils_dcrdefs.o src/postprocessing/postprocessing_utils_dcrdefs.cpp 408object/postprocessing_utils_dcrdefs.mt.o: src/postprocessing/postprocessing_utils_dcrdefs.cpp 409 ${CXX} -c ${CFLAGS} -o object/postprocessing_utils_dcrdefs.mt.o src/postprocessing/postprocessing_utils_dcrdefs.cpp 410object/postprocessing_utils.o: src/postprocessing/postprocessing_utils.cpp 411 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/postprocessing_utils.o src/postprocessing/postprocessing_utils.cpp 412object/postprocessing_utils.mt.o: src/postprocessing/postprocessing_utils.cpp 413 ${CXX} -c ${CFLAGS} -o object/postprocessing_utils.mt.o src/postprocessing/postprocessing_utils.cpp 414object/raw2image.o: src/preprocessing/raw2image.cpp 415 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/raw2image.o src/preprocessing/raw2image.cpp 416object/raw2image.mt.o: src/preprocessing/raw2image.cpp 417 ${CXX} -c ${CFLAGS} -o object/raw2image.mt.o src/preprocessing/raw2image.cpp 418object/ext_preprocess.o: src/preprocessing/ext_preprocess.cpp 419 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/ext_preprocess.o src/preprocessing/ext_preprocess.cpp 420object/ext_preprocess.mt.o: src/preprocessing/ext_preprocess.cpp 421 ${CXX} -c ${CFLAGS} -o object/ext_preprocess.mt.o src/preprocessing/ext_preprocess.cpp 422object/subtract_black.o: src/preprocessing/subtract_black.cpp 423 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/subtract_black.o src/preprocessing/subtract_black.cpp 424object/subtract_black.mt.o: src/preprocessing/subtract_black.cpp 425 ${CXX} -c ${CFLAGS} -o object/subtract_black.mt.o src/preprocessing/subtract_black.cpp 426object/cameralist.o: src/tables/cameralist.cpp 427 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/cameralist.o src/tables/cameralist.cpp 428object/cameralist.mt.o: src/tables/cameralist.cpp 429 ${CXX} -c ${CFLAGS} -o object/cameralist.mt.o src/tables/cameralist.cpp 430object/colorconst.o: src/tables/colorconst.cpp 431 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/colorconst.o src/tables/colorconst.cpp 432object/colorconst.mt.o: src/tables/colorconst.cpp 433 ${CXX} -c ${CFLAGS} -o object/colorconst.mt.o src/tables/colorconst.cpp 434object/colordata.o: src/tables/colordata.cpp 435 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/colordata.o src/tables/colordata.cpp 436object/colordata.mt.o: src/tables/colordata.cpp 437 ${CXX} -c ${CFLAGS} -o object/colordata.mt.o src/tables/colordata.cpp 438object/wblists.o: src/tables/wblists.cpp 439 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/wblists.o src/tables/wblists.cpp 440object/wblists.mt.o: src/tables/wblists.cpp 441 ${CXX} -c ${CFLAGS} -o object/wblists.mt.o src/tables/wblists.cpp 442object/curves.o: src/utils/curves.cpp 443 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/curves.o src/utils/curves.cpp 444object/curves.mt.o: src/utils/curves.cpp 445 ${CXX} -c ${CFLAGS} -o object/curves.mt.o src/utils/curves.cpp 446object/decoder_info.o: src/utils/decoder_info.cpp 447 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoder_info.o src/utils/decoder_info.cpp 448object/decoder_info.mt.o: src/utils/decoder_info.cpp 449 ${CXX} -c ${CFLAGS} -o object/decoder_info.mt.o src/utils/decoder_info.cpp 450object/init_close_utils.o: src/utils/init_close_utils.cpp 451 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/init_close_utils.o src/utils/init_close_utils.cpp 452object/init_close_utils.mt.o: src/utils/init_close_utils.cpp 453 ${CXX} -c ${CFLAGS} -o object/init_close_utils.mt.o src/utils/init_close_utils.cpp 454object/open.o: src/utils/open.cpp 455 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/open.o src/utils/open.cpp 456object/open.mt.o: src/utils/open.cpp 457 ${CXX} -c ${CFLAGS} -o object/open.mt.o src/utils/open.cpp 458object/phaseone_processing.o: src/utils/phaseone_processing.cpp 459 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/phaseone_processing.o src/utils/phaseone_processing.cpp 460object/phaseone_processing.mt.o: src/utils/phaseone_processing.cpp 461 ${CXX} -c ${CFLAGS} -o object/phaseone_processing.mt.o src/utils/phaseone_processing.cpp 462object/read_utils.o: src/utils/read_utils.cpp 463 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/read_utils.o src/utils/read_utils.cpp 464object/read_utils.mt.o: src/utils/read_utils.cpp 465 ${CXX} -c ${CFLAGS} -o object/read_utils.mt.o src/utils/read_utils.cpp 466object/thumb_utils.o: src/utils/thumb_utils.cpp 467 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/thumb_utils.o src/utils/thumb_utils.cpp 468object/thumb_utils.mt.o: src/utils/thumb_utils.cpp 469 ${CXX} -c ${CFLAGS} -o object/thumb_utils.mt.o src/utils/thumb_utils.cpp 470object/utils_dcraw.o: src/utils/utils_dcraw.cpp 471 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/utils_dcraw.o src/utils/utils_dcraw.cpp 472object/utils_dcraw.mt.o: src/utils/utils_dcraw.cpp 473 ${CXX} -c ${CFLAGS} -o object/utils_dcraw.mt.o src/utils/utils_dcraw.cpp 474object/utils_libraw.o: src/utils/utils_libraw.cpp 475 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/utils_libraw.o src/utils/utils_libraw.cpp 476object/utils_libraw.mt.o: src/utils/utils_libraw.cpp 477 ${CXX} -c ${CFLAGS} -o object/utils_libraw.mt.o src/utils/utils_libraw.cpp 478object/apply_profile.o: src/write/apply_profile.cpp 479 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/apply_profile.o src/write/apply_profile.cpp 480object/apply_profile.mt.o: src/write/apply_profile.cpp 481 ${CXX} -c ${CFLAGS} -o object/apply_profile.mt.o src/write/apply_profile.cpp 482object/file_write.o: src/write/file_write.cpp 483 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/file_write.o src/write/file_write.cpp 484object/file_write.mt.o: src/write/file_write.cpp 485 ${CXX} -c ${CFLAGS} -o object/file_write.mt.o src/write/file_write.cpp 486object/tiff_writer.o: src/write/tiff_writer.cpp 487 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/tiff_writer.o src/write/tiff_writer.cpp 488object/tiff_writer.mt.o: src/write/tiff_writer.cpp 489 ${CXX} -c ${CFLAGS} -o object/tiff_writer.mt.o src/write/tiff_writer.cpp 490object/x3f_parse_process.o: src/x3f/x3f_parse_process.cpp 491 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/x3f_parse_process.o src/x3f/x3f_parse_process.cpp 492object/x3f_parse_process.mt.o: src/x3f/x3f_parse_process.cpp 493 ${CXX} -c ${CFLAGS} -o object/x3f_parse_process.mt.o src/x3f/x3f_parse_process.cpp 494object/x3f_utils_patched.o: src/x3f/x3f_utils_patched.cpp 495 ${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/x3f_utils_patched.o src/x3f/x3f_utils_patched.cpp 496object/x3f_utils_patched.mt.o: src/x3f/x3f_utils_patched.cpp 497 ${CXX} -c ${CFLAGS} -o object/x3f_utils_patched.mt.o src/x3f/x3f_utils_patched.cpp 498